@charset "UTF-8";
/* ====================================================
reset style
==================================================== */
html {
  overflow-y: scroll;
  font-size: 10px;
  /* Base font size, change to 14px or 16px if needed */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: '';
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%;
}

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

del, ins {
  text-decoration: none;
}

/* ====================================================
Color
==================================================== */
/* ====================================================
Font
==================================================== */
/* ====================================================
Position & transform
==================================================== */
/* ====================================================
Media Quary
==================================================== */
/* ====================================================
px→vwの計算

.foo {
  width: vw(40px);
}

.bar {
  width: vw(40px, 768px);
}

.baz {
  width: vw(50%);
}
==================================================== */
/* ====================================================
// 隣接要素のmargin
==================================================== */
/* ====================================================
// formスタイルリセット
==================================================== */
/* ====================================================
// flexセット
==================================================== */
/* ====================================================
// 疑似クラス
==================================================== */
/* ====================================================
// hover時の透過度
==================================================== */
/* ====================================================
// グラデーション
==================================================== */
/* ====================================================
object-fit
.photo__image {
  &.-image1 {
    @include object-fit(cover);
  }
  
  &.-image2 {
    @include object-fit(contain, top center);
  }
}
==================================================== */
/* ====================================================
画像などを縦横比を維持したままレスポンシブ対応
*画像やGoogle Map、YouTubeの埋め込みなどを縦横比を維持したままレスポンシブ対応
.photo {
  // 画像を16:9にトリミングして縦横比を常に保つ
  @include aspect-ratio(16, 9);

  & > .image {
    @include object-fit(cover);
  }
}
==================================================== */
/* ====================================================
Margin PC and SP
==================================================== */
@media screen and (min-width: 835px) {
  .mbpc-0 {
    margin-bottom: 0px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-0 {
    margin-bottom: 0px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-1 {
    margin-bottom: 1px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-1 {
    margin-bottom: 1px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-2 {
    margin-bottom: 2px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-2 {
    margin-bottom: 2px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-3 {
    margin-bottom: 3px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-3 {
    margin-bottom: 3px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-4 {
    margin-bottom: 4px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-4 {
    margin-bottom: 4px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-5 {
    margin-bottom: 5px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-5 {
    margin-bottom: 5px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-6 {
    margin-bottom: 6px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-6 {
    margin-bottom: 6px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-7 {
    margin-bottom: 7px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-7 {
    margin-bottom: 7px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-8 {
    margin-bottom: 8px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-8 {
    margin-bottom: 8px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-9 {
    margin-bottom: 9px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-9 {
    margin-bottom: 9px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-11 {
    margin-bottom: 11px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-11 {
    margin-bottom: 11px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-12 {
    margin-bottom: 12px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-12 {
    margin-bottom: 12px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-13 {
    margin-bottom: 13px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-13 {
    margin-bottom: 13px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-14 {
    margin-bottom: 14px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-14 {
    margin-bottom: 14px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-15 {
    margin-bottom: 15px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-15 {
    margin-bottom: 15px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-16 {
    margin-bottom: 16px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-16 {
    margin-bottom: 16px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-17 {
    margin-bottom: 17px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-17 {
    margin-bottom: 17px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-18 {
    margin-bottom: 18px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-18 {
    margin-bottom: 18px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-19 {
    margin-bottom: 19px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-19 {
    margin-bottom: 19px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-21 {
    margin-bottom: 21px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-21 {
    margin-bottom: 21px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-22 {
    margin-bottom: 22px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-22 {
    margin-bottom: 22px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-23 {
    margin-bottom: 23px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-23 {
    margin-bottom: 23px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-24 {
    margin-bottom: 24px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-24 {
    margin-bottom: 24px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-25 {
    margin-bottom: 25px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-25 {
    margin-bottom: 25px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-26 {
    margin-bottom: 26px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-26 {
    margin-bottom: 26px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-27 {
    margin-bottom: 27px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-27 {
    margin-bottom: 27px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-28 {
    margin-bottom: 28px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-28 {
    margin-bottom: 28px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-29 {
    margin-bottom: 29px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-29 {
    margin-bottom: 29px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-31 {
    margin-bottom: 31px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-31 {
    margin-bottom: 31px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-32 {
    margin-bottom: 32px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-32 {
    margin-bottom: 32px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-33 {
    margin-bottom: 33px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-33 {
    margin-bottom: 33px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-34 {
    margin-bottom: 34px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-34 {
    margin-bottom: 34px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-35 {
    margin-bottom: 35px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-35 {
    margin-bottom: 35px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-36 {
    margin-bottom: 36px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-36 {
    margin-bottom: 36px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-37 {
    margin-bottom: 37px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-37 {
    margin-bottom: 37px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-38 {
    margin-bottom: 38px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-38 {
    margin-bottom: 38px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-39 {
    margin-bottom: 39px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-39 {
    margin-bottom: 39px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-41 {
    margin-bottom: 41px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-41 {
    margin-bottom: 41px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-42 {
    margin-bottom: 42px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-42 {
    margin-bottom: 42px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-43 {
    margin-bottom: 43px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-43 {
    margin-bottom: 43px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-44 {
    margin-bottom: 44px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-44 {
    margin-bottom: 44px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-45 {
    margin-bottom: 45px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-45 {
    margin-bottom: 45px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-46 {
    margin-bottom: 46px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-46 {
    margin-bottom: 46px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-47 {
    margin-bottom: 47px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-47 {
    margin-bottom: 47px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-48 {
    margin-bottom: 48px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-48 {
    margin-bottom: 48px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-49 {
    margin-bottom: 49px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-49 {
    margin-bottom: 49px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-51 {
    margin-bottom: 51px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-51 {
    margin-bottom: 51px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-52 {
    margin-bottom: 52px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-52 {
    margin-bottom: 52px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-53 {
    margin-bottom: 53px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-53 {
    margin-bottom: 53px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-54 {
    margin-bottom: 54px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-54 {
    margin-bottom: 54px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-55 {
    margin-bottom: 55px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-55 {
    margin-bottom: 55px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-56 {
    margin-bottom: 56px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-56 {
    margin-bottom: 56px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-57 {
    margin-bottom: 57px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-57 {
    margin-bottom: 57px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-58 {
    margin-bottom: 58px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-58 {
    margin-bottom: 58px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-59 {
    margin-bottom: 59px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-59 {
    margin-bottom: 59px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-61 {
    margin-bottom: 61px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-61 {
    margin-bottom: 61px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-62 {
    margin-bottom: 62px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-62 {
    margin-bottom: 62px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-63 {
    margin-bottom: 63px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-63 {
    margin-bottom: 63px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-64 {
    margin-bottom: 64px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-64 {
    margin-bottom: 64px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-65 {
    margin-bottom: 65px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-65 {
    margin-bottom: 65px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-66 {
    margin-bottom: 66px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-66 {
    margin-bottom: 66px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-67 {
    margin-bottom: 67px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-67 {
    margin-bottom: 67px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-68 {
    margin-bottom: 68px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-68 {
    margin-bottom: 68px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-69 {
    margin-bottom: 69px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-69 {
    margin-bottom: 69px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-71 {
    margin-bottom: 71px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-71 {
    margin-bottom: 71px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-72 {
    margin-bottom: 72px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-72 {
    margin-bottom: 72px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-73 {
    margin-bottom: 73px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-73 {
    margin-bottom: 73px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-74 {
    margin-bottom: 74px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-74 {
    margin-bottom: 74px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-75 {
    margin-bottom: 75px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-75 {
    margin-bottom: 75px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-76 {
    margin-bottom: 76px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-76 {
    margin-bottom: 76px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-77 {
    margin-bottom: 77px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-77 {
    margin-bottom: 77px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-78 {
    margin-bottom: 78px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-78 {
    margin-bottom: 78px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-79 {
    margin-bottom: 79px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-79 {
    margin-bottom: 79px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-81 {
    margin-bottom: 81px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-81 {
    margin-bottom: 81px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-82 {
    margin-bottom: 82px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-82 {
    margin-bottom: 82px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-83 {
    margin-bottom: 83px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-83 {
    margin-bottom: 83px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-84 {
    margin-bottom: 84px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-84 {
    margin-bottom: 84px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-85 {
    margin-bottom: 85px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-85 {
    margin-bottom: 85px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-86 {
    margin-bottom: 86px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-86 {
    margin-bottom: 86px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-87 {
    margin-bottom: 87px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-87 {
    margin-bottom: 87px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-88 {
    margin-bottom: 88px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-88 {
    margin-bottom: 88px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-89 {
    margin-bottom: 89px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-89 {
    margin-bottom: 89px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-91 {
    margin-bottom: 91px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-91 {
    margin-bottom: 91px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-92 {
    margin-bottom: 92px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-92 {
    margin-bottom: 92px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-93 {
    margin-bottom: 93px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-93 {
    margin-bottom: 93px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-94 {
    margin-bottom: 94px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-94 {
    margin-bottom: 94px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-95 {
    margin-bottom: 95px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-95 {
    margin-bottom: 95px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-96 {
    margin-bottom: 96px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-96 {
    margin-bottom: 96px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-97 {
    margin-bottom: 97px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-97 {
    margin-bottom: 97px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-98 {
    margin-bottom: 98px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-98 {
    margin-bottom: 98px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-99 {
    margin-bottom: 99px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-99 {
    margin-bottom: 99px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-100 {
    margin-bottom: 100px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-100 {
    margin-bottom: 100px !important;
  }
}

/* ====================================================
Base style & container
==================================================== */
body {
  color: #333;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "Meiryo", "メイリオ", "MS Pゴシック", Arial, Helvetica, Verdana, sans-serif;
  font-size: 100%;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  background: #fff;
  overflow: hidden;
}

.inner {
  width: calc(90% + 40px);
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 834px) {
  .inner {
    width: 100%;
    padding: 0 4.19%;
  }
}

.container {
  max-width: 1680px;
  padding: 0 90px;
}

@media screen and (max-width: 834px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 835px) {
  .sp {
    display: none;
  }
}

/* ====================================================
Float & clear
==================================================== */
.clearfix {
  *zoom: 1;
}

.clearfix:before {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
  content: "";
  display: table;
}

/* ====================================================
Header
==================================================== */
#main-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  padding-left: 118px;
  padding-right: 105px;
  z-index: 1000;
}

@media screen and (max-width: 834px) {
  #main-header {
    padding-right: 70px;
    padding-left: 100px;
    height: 60px;
  }
}

#main-header .header-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  height: 90px;
}

@media screen and (max-width: 834px) {
  #main-header .header-inner {
    height: 60px;
  }
}

#main-header .header-inner .tel {
  font-size: 18px;
  font-size: 1.8rem;
}

#main-header > .logo {
  position: absolute;
  top: 24px;
  left: 0;
  width: 118px;
  text-align: center;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

@media screen and (max-width: 834px) {
  #main-header > .logo {
    top: 10px;
    right: 0;
    margin: 0 auto;
  }
}

#main-header > .logo .cap {
  display: block;
  margin-top: 20px;
  font-family: "Shippori Mincho", serif;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 2px;
}

@media screen and (max-width: 834px) {
  #main-header > .logo .cap {
    margin-top: 15px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

#main-header.on {
  background: rgba(255, 255, 255, 0.8);
}

.navGlobal {
  background: #e9f0f5;
  z-index: 101;
  height: 100vh;
  overflow-y: scroll;
}

.navGlobal-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

.navGlobal__img {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 33.33%;
}

@media screen and (max-width: 834px) {
  .navGlobal__img {
    display: none;
  }
}

.navGlobal__cont {
  padding: 165px 6.66% 140px;
  width: 66.66%;
}

@media screen and (max-width: 1680px) {
  .navGlobal__cont {
    padding: 9.16vw 6.66% 7.77vw;
  }
}

@media screen and (max-width: 1500px) {
  .navGlobal__cont {
    padding: 9.16vw 3% 7.77vw;
  }
}

@media screen and (max-width: 834px) {
  .navGlobal__cont {
    padding: 9.16vw 5%;
    width: 100%;
  }
}

@media screen and (max-width: 834px) {
  .navGlobal .logo img {
    width: 70px;
  }
}

.navGlobal .logo .cap {
  display: block;
  margin-top: 30px;
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 10px;
}

@media screen and (max-width: 834px) {
  .navGlobal .logo .cap {
    margin-top: 15px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 4px;
  }
}

.navGlobal .info {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625;
}

.navGlobal .info .tel {
  display: inline-block;
  margin-top: 10px;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 1px;
}

.navGlobal .info .tel span {
  color: #79a7c6;
  font-weight: 500;
}

.navGlobalIn {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  margin: 120px 0 90px;
  text-align: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
}

@media screen and (max-width: 1200px) {
  .navGlobalIn {
    margin: max(60px, 10vw) 0 max(45px, 7.5vw);
  }
}

.navGlobalIn li {
  margin: 0 35px;
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  font-size: 1.8rem;
}

@media screen and (max-width: 834px) {
  .navGlobalIn li {
    margin: 0 20px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.navGlobalIn li a {
  display: inline-block;
  position: relative;
  padding-top: 30px;
}

.navGlobalIn li a:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 2px;
  height: 20px;
}

.navGlobalIn li a:before {
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #76a1be;
}

.navGlobalIn li .bar {
  width: 18px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  margin: 3px auto;
}

.mobile-icon {
  -webkit-transition: background .5s;
  -o-transition: background .5s;
  transition: background .5s;
  position: fixed;
  right: 0;
  top: 0;
  width: 90px;
  height: 90px;
  z-index: 102;
  background: rgba(255, 255, 255, 0.6);
}

@media screen and (max-width: 834px) {
  .mobile-icon {
    width: 60px;
    height: 60px;
  }
}

.mobile-icon span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 42.5%;
  height: 2px;
  background-color: #000b45;
  font-size: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.mobile-icon span:before, .mobile-icon span:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000b45;
  content: '';
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  border-radius: 3px;
}

.mobile-icon span:before {
  top: -10px;
}

.mobile-icon span:after {
  bottom: -10px;
}

.mobile-icon.mobile-close {
  background: #fff;
}

.mobile-icon.mobile-close span {
  background: transparent;
}

.mobile-icon.mobile-close span:before, .mobile-icon.mobile-close span:after {
  width: 100%;
}

.mobile-icon.mobile-close span:before {
  -webkit-transform: translateY(0) rotate(45deg);
  -ms-transform: translateY(0) rotate(45deg);
      transform: translateY(0) rotate(45deg);
  top: 2px;
}

.mobile-icon.mobile-close span:after {
  -webkit-transform: translateY(0) rotate(-45deg);
  -ms-transform: translateY(0) rotate(-45deg);
      transform: translateY(0) rotate(-45deg);
  bottom: -2px;
}

.js-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: none;
  opacity: 0;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.js-nav.active {
  opacity: 1;
  display: block;
}

/* ====================================================
MODULE
==================================================== */
.c-fc__ff {
  color: #fff;
}

.c-fc__bl {
  color: #79a7c6;
}

.c-fc__gr {
  color: #80ad92;
}

.c-ft__mon {
  font-family: "Montserrat", sans-serif;
}

.c-ft__rob {
  font-family: "Roboto", sans-serif;
}

.c-ft__not {
  font-family: "Noto Sans JP", sans-serif;
}

.c-ft__shi {
  font-family: "Shippori Mincho", serif;
}

.c-fw__lt {
  font-weight: 300;
}

.c-fw__md {
  font-weight: 500;
}

.c-fw__sbd {
  font-weight: 600 !important;
}

.c-fw__bd {
  font-weight: 700 !important;
}

.c-tx__v {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
}

@media screen and (min-width: 835px) {
  .c-tx__v-pc {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
  }
}

.c-shadow {
  text-shadow: 1px 1px 0px rgba(143, 91, 94, 0.6);
}

.c-al__c {
  text-align: center;
}

.c-al__r {
  text-align: right;
}

.c-al__l {
  text-align: left;
}

.c-val__md {
  vertical-align: middle;
}

.c-val__top {
  vertical-align: top;
}

/*テキストMODULE*/
.c-txt__vt {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.125;
}

.c-txt01 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.14286;
}

@media screen and (max-width: 834px) {
  .c-txt01 {
    line-height: 1.75;
  }
}

.c-txt02 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.42857;
}

@media screen and (max-width: 834px) {
  .c-txt02 {
    line-height: 2;
  }
}

.c-txt03 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.88889;
  letter-spacing: 1px;
}

.c-txt__deco {
  font-size: 90px;
  font-size: 9rem;
  line-height: 1.11111;
  opacity: .08;
}

@media screen and (max-width: 1200px) {
  .c-txt__deco {
    font-size: 7.5vw;
    line-height: 1.1;
  }
}

@media screen and (max-width: 834px) {
  .c-txt__deco {
    font-size: max(40px, 10.79vw);
  }
}

.c-ttl01 {
  position: relative;
  margin-left: 28px;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 6px;
}

@media screen and (max-width: 834px) {
  .c-ttl01 {
    margin-bottom: max(20px, 4.79vw);
    margin-left: 0;
    font-size: max(20px, 4.79vw);
    letter-spacing: 4px;
  }
}

.c-ttl__cap {
  display: inline-block;
  position: relative;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 2px;
}

@media screen and (min-width: 835px) {
  .c-ttl__cap {
    padding-top: 80px;
    margin-left: 50px;
    width: 21px;
  }
  .c-ttl__cap:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 1px;
    height: 70px;
  }
  .c-ttl__cap:before {
    top: 0;
    right: 8px;
  }
}

@media screen and (max-width: 834px) {
  .c-ttl__cap {
    margin-bottom: max(45px, 10.7vw);
    padding-left: 70px;
  }
  .c-ttl__cap:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 60px;
    height: 1px;
  }
  .c-ttl__cap:before {
    top: 8px;
    left: 0;
  }
}

.c-ttl__cap:before {
  background: #79a7c6;
}

.c-ttl02 {
  display: inline-block;
  position: relative;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.2;
}

.c-ttl02:before {
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #79a7c6;
}

@media screen and (min-width: 835px) {
  .c-ttl02 {
    padding-top: 80px;
  }
  .c-ttl02:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 1px;
    height: 70px;
  }
}

@media screen and (max-width: 834px) {
  .c-ttl02 {
    padding-top: 70px;
    font-size: 22px;
    font-size: 2.2rem;
  }
  .c-ttl02:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 1px;
    height: 60px;
  }
}

.c-ttl02.bdr-bk:before {
  background: #333;
}

.c-ttl02 .bar {
  width: 28px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.c-ttl03 {
  display: inline-block;
  position: relative;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .06em;
}

.c-ttl03:before {
  top: 12px;
  right: 0;
  background: #79a7c6;
}

@media screen and (min-width: 835px) {
  .c-ttl03 {
    padding-right: 80px;
  }
  .c-ttl03:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 70px;
    height: 1px;
  }
}

@media screen and (max-width: 834px) {
  .c-ttl03 {
    padding-right: 70px;
  }
  .c-ttl03:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 60px;
    height: 1px;
  }
}

.c-ttl04 {
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.61905;
  letter-spacing: 6px;
}

@media screen and (max-width: 1200px) {
  .c-ttl04 {
    font-size: 3.5vw;
  }
}

@media screen and (max-width: 834px) {
  .c-ttl04 {
    font-size: max(34px, 4vw);
    letter-spacing: 3px;
  }
}

@media screen and (max-width: 640px) {
  .c-ttl04 {
    font-size: max(20px, 4vw);
    letter-spacing: 2px;
  }
}

.c-ttl04 .small {
  font-size: 30px;
  font-size: 3rem;
}

@media screen and (max-width: 834px) {
  .c-ttl04 .small {
    font-size: max(18px, 3.83vw);
  }
}

@media screen and (max-width: 640px) {
  .c-ttl04 .small {
    font-size: max(17px, 3.83vw);
  }
}

.c-ttl05 {
  display: inline-block;
  padding: 15px 30px;
  font-size: 21px;
  font-size: 2.1rem;
  border-radius: 40px;
  background: #79a7c6;
}

@media screen and (max-width: 640px) {
  .c-ttl05 {
    padding: 12px 20px;
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.c-ttl06 {
  position: relative;
  margin-bottom: 12px;
  font-size: 18px;
  font-size: 1.8rem;
}

.c-ttl06:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 1px;
}

.c-ttl06:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  background: #79a7c6;
}

.c-ttl06 span {
  position: relative;
  display: inline-block;
  padding-right: 10px;
  background: #fff;
}

/*リンクMODULE*/
/*ボタンMODULE*/
.c-btn-detail {
  position: relative;
  display: inline-block;
  width: 100%;
  color: #7c6e6f;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: .08em;
  line-height: 50px;
  text-align: center;
  background: #f9ddde;
  border-radius: 30px;
}

.c-btn-detail:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 26px;
  height: 8px;
}

.c-btn-detail:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 15px;
  background: url("https://inouedc-mishima.com/img/arrow.png") no-repeat center center;
  background-size: contain;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.c-btn-detail:hover:before {
  right: 5px;
}

/* hover style */
.fn-hover {
  display: inline-block;
}

@media screen and (min-width: 835px) {
  .fn-hover {
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
  }
  .fn-hover:hover {
    opacity: .7;
  }
}

.img-of {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover; object-position: center", sans-serif;
}

.scroll-box {
  padding-bottom: 20px;
  overflow-x: scroll;
  overflow-y: hidden;
}

@media screen and (max-width: 834px) {
  .scroll-box-pc {
    padding-bottom: 20px;
    overflow-x: scroll;
    overflow-y: hidden;
  }
}

/* ====================================================
content style
==================================================== */
.page-ttl-block {
  position: relative;
  padding: 115px 20px 0;
  margin: 0 auto;
  max-width: 1540px;
  height: 465px;
  z-index: 1;
}

@media screen and (max-width: 834px) {
  .page-ttl-block {
    padding: calc(109px + 6.71vw) 4.19% 0;
    height: max(395px, calc(109px + 50.35vw));
  }
}

.page-ttl-block .main-ttl {
  margin-top: 80px;
}

@media screen and (max-width: 834px) {
  .page-ttl-block .main-ttl {
    margin-top: max(46px, 6vw);
  }
}

.page-ttl-block .main-ttl .cap {
  margin-top: 10px;
  font-size: 14px;
  font-size: 1.4rem;
}

.page-ttl-block .page-ttl {
  font-size: 66px;
  font-size: 6.6rem;
  line-height: 1.5;
  letter-spacing: 12px;
}

@media screen and (max-width: 1200px) {
  .page-ttl-block .page-ttl {
    font-size: 5.5vw;
  }
}

@media screen and (max-width: 990px) {
  .page-ttl-block .page-ttl {
    letter-spacing: 8px;
  }
}

@media screen and (max-width: 834px) {
  .page-ttl-block .page-ttl {
    letter-spacing: 6px;
    font-size: max(24px, 5.766vw);
  }
}

.page-ttl-block .page-ttl .small {
  font-size: 60px;
  font-size: 6rem;
}

@media screen and (max-width: 834px) {
  .page-ttl-block .page-ttl .small {
    font-size: max(20px, 4.796vw);
  }
}

.page-ttl-block .desc {
  position: absolute;
  right: 7.6vw;
  top: 115px;
  width: 138px;
}

@media screen and (max-width: 834px) {
  .page-ttl-block .desc {
    top: calc(109px + 6.71vw);
    width: 76px;
  }
}

.page-ttl-block .desc p {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.58;
  letter-spacing: 6px;
}

@media screen and (max-width: 834px) {
  .page-ttl-block .desc p {
    font-size: max(20px, 3.59vw);
    height: max(290px, 47.4vw);
  }
}

.page-ttl-block .scroll-down {
  position: relative;
  top: -70px;
  right: 14.6vw;
  width: 242px;
  height: 9px;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media screen and (max-width: 990px) {
  .page-ttl-block .scroll-down {
    right: 16vw;
  }
}

.page-ttl-block .scroll-down:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 160px;
  height: 1px;
}

.page-ttl-block .scroll-down:before {
  right: 0;
  bottom: 4px;
  margin: 0 auto;
  background: #333;
}

.page-ttl-block .scroll-down:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #333;
  -webkit-animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
          animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
}

@-webkit-keyframes circlemove {
  0% {
    right: 155px;
  }
  100% {
    right: -5px;
  }
}

@keyframes circlemove {
  0% {
    right: 155px;
  }
  100% {
    right: -5px;
  }
}

@-webkit-keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}

@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}

.mv-slide {
  position: relative;
}

@media screen and (min-width: 835px) {
  .mv-slide {
    padding-right: 5.35%;
  }
  .mv-slide:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 12.9vw;
  }
  .mv-slide:before {
    left: 0;
    bottom: 0;
    background: #e9f0f5;
  }
}

@media screen and (min-width: 1201px) {
  .mv-slide:before {
    height: 155px;
  }
}

.clinic-info {
  padding: 88px 0 60px;
  background: #e9f0f5;
}

@media screen and (max-width: 834px) {
  .clinic-info {
    padding: 40px 0;
  }
}

.clinic-info .inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.clinic-info .access {
  width: 270px;
}

@media screen and (max-width: 834px) {
  .clinic-info .access {
    margin-bottom: 30px;
    width: 100%;
    text-align: center;
  }
}

.clinic-info .access .address {
  margin-bottom: 15px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625;
}

.clinic-info .access .address a {
  display: inline-block;
  margin-top: 3px;
  font-size: 12px;
  font-size: 1.2rem;
  text-decoration: underline;
}

@media screen and (min-width: 835px) {
  .clinic-info .access .address span {
    padding-left: 1em;
  }
  .clinic-info .access .address i {
    padding-right: 5px;
  }
}

@media screen and (max-width: 834px) {
  .clinic-info .access .address i {
    display: block;
  }
}

.clinic-info .timetable-block {
  padding: 0 2.5%;
  width: calc(100% - 540px);
  color: #000;
}

@media screen and (max-width: 1200px) {
  .clinic-info .timetable-block {
    padding: 0 15px;
    width: calc(100% - 495px);
  }
}

@media screen and (max-width: 990px) {
  .clinic-info .timetable-block {
    width: calc(100% - 270px);
  }
}

@media screen and (max-width: 834px) {
  .clinic-info .timetable-block {
    padding: 0;
    width: 100%;
  }
}

.clinic-info .timetable-block .timetable {
  table-layout: fixed;
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  border-top: 1px solid #fff;
}

@media screen and (max-width: 640px) {
  .clinic-info .timetable-block .timetable {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.clinic-info .timetable-block .timetable th, .clinic-info .timetable-block .timetable td {
  padding: 24px 0;
  text-align: center;
  vertical-align: top;
  border-bottom: 1px solid #fff;
}

@media screen and (max-width: 640px) {
  .clinic-info .timetable-block .timetable th, .clinic-info .timetable-block .timetable td {
    padding: 16px 0;
  }
}

.clinic-info .timetable-block .timetable .head {
  width: 120px;
}

@media screen and (max-width: 640px) {
  .clinic-info .timetable-block .timetable .head {
    width: 80px;
  }
}

.clinic-info .timetable-block .timetable td {
  position: relative;
  padding-right: 5px;
  padding-left: 5px;
  color: #79a7c6;
}

.clinic-info .timetable-block .timetable td span {
  display: block;
  margin-top: 10px;
  font-size: 10px;
  font-size: 1rem;
}

@media screen and (max-width: 640px) {
  .clinic-info .timetable-block .timetable td span {
    text-align: center;
    position: absolute;
    bottom: 10px;
    left: -.5em;
    right: 0;
    width: 4.5em;
    margin: 0 auto;
  }
}

.clinic-info .timetable-block .timetable tr:nth-child(3) th {
  vertical-align: middle;
}

.clinic-info .timetable-block .timetable tr:nth-child(3) td {
  padding-bottom: 13px;
}

@media screen and (max-width: 640px) {
  .clinic-info .timetable-block .timetable tr:nth-child(3) td {
    padding-bottom: 25px;
  }
}

.clinic-info .timetable-block p {
  margin-top: 14px;
  font-size: 12px;
  font-size: 1.2rem;
}

.clinic-info .logo {
  padding: 0 30px;
  width: 270px;
}

@media screen and (max-width: 1200px) {
  .clinic-info .logo {
    padding: 0 0 0 15px;
    width: 225px;
  }
}

@media screen and (max-width: 990px) {
  .clinic-info .logo {
    display: none;
  }
}

.clinic-info .logo .cap {
  display: block;
  margin-top: 30px;
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 4px;
}

@media screen and (max-width: 834px) {
  .clinic-info .logo .cap {
    margin-top: 15px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
}

.clinic-info .tel {
  display: inline-block;
  margin-top: 10px;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 1px;
}

.clinic-info .tel span {
  color: #79a7c6;
  font-weight: 500;
}

.clinic-info .bytrain {
  margin-top: 10px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.71429;
}

.sec-lead {
  padding: 100px 0 110px;
  background: url("../img/map.svg") no-repeat right -237px top -197px;
  background-size: 670px auto;
}

@media screen and (max-width: 834px) {
  .sec-lead {
    padding: max(50px, 11.9vw) 0 max(15px, 1.19vw);
    background-size: 80.21583vw;
    background-position: right -27.57794vw top -17.02638vw;
  }
}

.sec-lead .sec-ttl-block {
  width: 415px;
  width: 32.9%;
}

@media screen and (max-width: 1200px) {
  .sec-lead .sec-ttl-block {
    width: 35vw;
  }
}

@media screen and (max-width: 834px) {
  .sec-lead .sec-ttl-block {
    width: 100%;
  }
}

.sec-lead .sec-subttl {
  margin: 50px 140px 0 90px;
  width: 84px;
  color: #808181;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.9859;
  letter-spacing: 5px;
}

@media screen and (max-width: 1200px) {
  .sec-lead .sec-subttl {
    margin: 50px 11.66% 0 7.5%;
  }
}

@media screen and (max-width: 990px) {
  .sec-lead .sec-subttl {
    margin-right: 9vw;
  }
}

@media screen and (max-width: 834px) {
  .sec-lead .sec-subttl {
    margin: 0 0 max(45px, 10.79vw);
    width: 100%;
    font-size: max(20px, 3.35vw);
    line-height: 1.7;
    letter-spacing: 3px;
  }
}

.sec-lead .c-txt__vt {
  margin-top: 50px;
  margin-right: 2.25%;
}

@media screen and (max-width: 1200px) {
  .sec-lead .c-txt__vt {
    margin-right: 2.25vw;
  }
}

@media screen and (max-width: 834px) {
  .sec-lead .c-txt__vt {
    margin: 0 0 max(25px, 5.5vw) 0;
  }
}

.sec-lead .desc-box {
  width: calc(100% - 415px);
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 1200px) {
  .sec-lead .desc-box {
    width: 65vw;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
}

@media screen and (max-width: 834px) {
  .sec-lead .desc-box {
    width: 100%;
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
}

.sec-area {
  padding: 80px 0 90px;
  color: #fff;
  background: #76a1be;
}

@media screen and (max-width: 834px) {
  .sec-area {
    padding: max(40px, 9.59vw) 0 max(45px, 10.79vw);
  }
}

.sec-area .ttl-cap {
  position: relative;
  padding-left: 80px;
  font-size: 21px;
  font-size: 2.1rem;
}

@media screen and (max-width: 640px) {
  .sec-area .ttl-cap {
    padding-left: 70px;
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.sec-area .ttl-cap:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 70px;
  height: 1px;
}

.sec-area .ttl-cap:before {
  top: 10px;
  left: 0;
  background: #fff;
}

@media screen and (max-width: 640px) {
  .sec-area .ttl-cap:before {
    width: 60px;
    top: 8px;
  }
}

.sec-area__ttl {
  width: 460px;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.42857;
  letter-spacing: 3px;
}

@media screen and (max-width: 834px) {
  .sec-area__ttl {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .sec-area__ttl {
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: 2px;
  }
}

.sec-area .area-txt {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 15px 0 0;
}

.sec-area .area-txt .c-txt01 {
  width: calc(100% - 480px);
  max-width: 710px;
}

@media screen and (max-width: 834px) {
  .sec-area .area-txt .c-txt01 {
    margin-top: 30px;
    width: 100%;
  }
}

.area-slide {
  border-top: 1px solid #fff;
}

@media screen and (max-width: 834px) {
  .area-slide img {
    height: 40vw;
  }
}

.sec-menu {
  padding: 175px 0 40px;
  background: url("../img/leaf02.svg") no-repeat left top;
  background-size: 513px auto;
}

@media screen and (max-width: 834px) {
  .sec-menu {
    padding: max(30px, 7.19vw) 0 40px;
    background-size: 79.13669vw;
    background-position: left -1.19vw top -17.98vw;
  }
}

.sec-menu .inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 835px) {
  .sec-menu__ttl {
    width: 100px;
  }
}

@media screen and (max-width: 834px) {
  .sec-menu__ttl {
    width: 40px;
  }
}

.sec-menu .menu-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 835px) {
  .sec-menu .menu-list {
    width: calc(100% - 100px);
    max-width: 1030px;
  }
}

@media screen and (max-width: 834px) {
  .sec-menu .menu-list {
    margin-top: 100px;
    width: calc(100% - 40px);
  }
}

.sec-menu .menu-list__item {
  margin-bottom: 70px;
  width: 29.12%;
}

@media screen and (max-width: 834px) {
  .sec-menu .menu-list__item {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 30px;
    width: 100%;
  }
}

@media screen and (max-width: 834px) {
  .sec-menu .menu-list__item .icn {
    width: 14.9vw;
  }
  .sec-menu .menu-list__item .icn img {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .sec-menu .menu-list__item .icn {
    width: 80px;
  }
}

@media screen and (max-width: 834px) {
  .sec-menu .menu-list__item dl {
    width: calc(100% - 14.9vw - 15px);
  }
}

@media screen and (max-width: 640px) {
  .sec-menu .menu-list__item dl {
    width: calc(100% - 95px);
  }
}

.sec-menu .menu-list__item dt {
  margin: 20px 0;
  font-size: 18px;
  font-size: 1.8rem;
}

@media screen and (max-width: 834px) {
  .sec-menu .menu-list__item dt {
    margin: 10px 0;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: left;
  }
}

.sec-menu .menu-list__item dt .small {
  font-size: 15px;
  font-size: 1.5rem;
}

.sec-approach {
  position: relative;
}

.sec-approach:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 513px;
  height: 404px;
}

@media screen and (max-width: 1200px) {
  .sec-approach:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 38%;
    height: 33.66vw;
  }
}

@media screen and (max-width: 834px) {
  .sec-approach:before {
    width: 79.13669vw;
    height: 50vw;
  }
}

.sec-approach:before {
  top: 27.97vw;
  right: -10px;
  background: url("../img/leaf.svg") no-repeat right top;
  background-size: contain;
  opacity: .5;
}

@media screen and (max-width: 834px) {
  .sec-approach:before {
    top: 35vw;
  }
}

@media screen and (min-width: 835px) {
  .sec-approach .sec-img {
    padding-right: 14.28%;
  }
}

@media screen and (max-width: 834px) {
  .sec-approach .sec-img img {
    height: 52.66vw;
  }
}

.sec-approach .lead-wrap {
  position: relative;
  padding: 115px 0 110px;
}

@media screen and (max-width: 834px) {
  .sec-approach .lead-wrap {
    padding: max(60px, 13.18vw) 0;
  }
}

.sec-approach .lead-block__ttl {
  margin: 50px 0 60px 7.25%;
}

@media screen and (max-width: 834px) {
  .sec-approach .lead-block__ttl {
    margin: 30px 0 40px;
  }
}

.sec-approach .lead-block__desc {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.125;
}

@media screen and (max-width: 834px) {
  .sec-approach .lead-block__desc {
    line-height: 1.8;
  }
}

.sec-approach .cycle {
  margin-bottom: 150px;
}

@media screen and (max-width: 834px) {
  .sec-approach .cycle {
    margin-bottom: max(100px, 32.3vw);
  }
}

.sec-approach .cycle .ttl-block {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
  margin-bottom: 40px;
}

.sec-approach .cycle__ttl {
  font-size: 21px;
  font-size: 2.1rem;
}

@media screen and (max-width: 834px) {
  .sec-approach .cycle__ttl {
    font-size: 17px;
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 834px) {
  .sec-approach .cycle__ttl {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.sec-approach .cycle__block {
  margin-left: 5%;
}

@media screen and (min-width: 1450px) {
  .sec-approach .cycle__block {
    margin-left: calc((100% - 1200px) / 2);
  }
}

@media screen and (max-width: 834px) {
  .sec-approach .cycle__block {
    margin-left: 4.19%;
  }
}

.sec-approach .cycle .cycle-list {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}

.sec-approach .cycle .cycle-list:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 1px;
}

.sec-approach .cycle .cycle-list:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  margin-top: -18px;
  width: 1850px;
  background: #79a7c6;
}

.sec-approach .cycle .cycle-list__item {
  position: relative;
  width: 200px;
}

.sec-approach .cycle .cycle-list__item:not(:first-child) {
  margin-left: 50px;
}

.sec-approach .cycle .cycle-list__item .no {
  position: absolute;
  top: 6px;
  left: 0;
  font-size: 42px;
  font-size: 4.2rem;
  font-style: italic;
}

.sec-approach .cycle .cycle-list__item .img {
  position: relative;
  padding-top: 200px;
  width: 200px;
  height: 0;
  background: #e9f0f5;
  border-radius: 50%;
  overflow: hidden;
}

.sec-approach .cycle .cycle-list__item .img img {
  position: absolute;
  bottom: -3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 154px;
  height: auto;
}

.sec-approach .cycle .cycle-list__item .desc {
  margin-top: 10px;
  font-size: 18px;
  font-size: 1.8rem;
}

.sec-approach .cycle .cycle-list__item .desc .small {
  font-size: 15px;
  font-size: 1.5rem;
}

.sec-approach .scroll-txt {
  position: relative;
  display: inline-block;
  margin-right: 15px;
  font-size: 12px;
  font-size: 1.2rem;
  width: 41.66%;
  max-width: 500px;
}

@media screen and (max-width: 834px) {
  .sec-approach .scroll-txt {
    max-width: 140px;
  }
}

@media screen and (max-width: 640px) {
  .sec-approach .scroll-txt {
    width: 100%;
  }
}

.sec-approach .scroll-txt:before {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #ccc;
  width: calc(100% - 60px);
  height: 1px;
}

.sec-approach .scroll-txt:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 5px;
  bottom: 0;
  background: #ccc;
  width: 1px;
  height: 12px;
  -webkit-transform: skew(45deg);
      -ms-transform: skew(45deg);
          transform: skew(45deg);
}

@media screen and (max-width: 640px) {
  .sec-approach .scroll-txt:after {
    height: 8px;
  }
}

.sec-approach .preparation {
  margin-top: 95px;
  margin-bottom: 160px;
}

@media screen and (max-width: 834px) {
  .sec-approach .preparation {
    margin-top: max(60px, 11.49vw);
    margin-bottom: max(80px, 19.18vw);
    padding-right: 0;
  }
}

.sec-approach .preparation .preparation-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}

@media screen and (max-width: 834px) {
  .sec-approach .preparation .preparation-list {
    width: 1100px;
  }
}

@media screen and (max-width: 640px) {
  .sec-approach .preparation .preparation-list {
    width: 760px;
  }
}

.sec-approach .preparation .preparation-list__item {
  position: relative;
  padding-left: 85px;
  width: 46.666%;
}

@media screen and (max-width: 990px) {
  .sec-approach .preparation .preparation-list__item {
    padding-left: 70px;
    width: 50%;
  }
}

.sec-approach .preparation .preparation-list__item-ttl {
  position: absolute;
  left: 0;
  top: 0;
  width: 85px;
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.1;
  text-align: center;
}

@media screen and (max-width: 990px) {
  .sec-approach .preparation .preparation-list__item-ttl {
    width: 70px;
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.sec-approach .preparation .preparation-list__item-ttl span {
  font-size: 28px;
  font-size: 2.8rem;
}

@media screen and (max-width: 990px) {
  .sec-approach .preparation .preparation-list__item-ttl span {
    font-size: 23px;
    font-size: 2.3rem;
  }
}

.sec-approach .preparation .preparation-list__item-subttl {
  margin: 15px 0;
  font-size: 21px;
  font-size: 2.1rem;
  letter-spacing: 2px;
}

@media screen and (max-width: 834px) {
  .sec-approach .preparation .preparation-list__item-subttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.sec-approach .preparation .preparation-list__item-subttl .small {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0;
}

.sec-approach .preparation .scroll-txt {
  margin-bottom: 20px;
}

.sec-approach .cordinate {
  margin-top: 60px;
  margin-bottom: 175px;
}

@media screen and (max-width: 834px) {
  .sec-approach .cordinate {
    margin-top: max(60px, 11.49vw);
    margin-bottom: max(80px, 19.18vw);
  }
}

.sec-approach .cordinate-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 834px) {
  .sec-approach .cordinate-list {
    width: 1100px;
  }
}

.sec-approach .cordinate-list__item {
  width: 30%;
}

@media screen and (max-width: 990px) {
  .sec-approach .cordinate-list__item {
    width: 32%;
  }
}

.sec-approach .cordinate-list__item .no {
  color: #e9f0f5;
  font-size: 100px;
  font-size: 10rem;
  font-style: italic;
}

@media screen and (max-width: 1200px) {
  .sec-approach .cordinate-list__item .no {
    font-size: max(48px, 8.33vw);
  }
}

.sec-approach .cordinate-list__item-img {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  margin-top: 15px;
}

@media screen and (max-width: 834px) {
  .sec-approach .cordinate-list__item-img {
    margin-top: 10px;
  }
}

.sec-approach .cordinate-list__item-ttl {
  width: 60px;
  font-size: 21px;
  font-size: 2.1rem;
  text-align: center;
  line-height: 1.1;
}

@media screen and (max-width: 640px) {
  .sec-approach .cordinate-list__item-ttl {
    width: 50px;
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.sec-approach .cordinate-list__item img {
  display: block;
  width: calc(100% - 60px);
}

@media screen and (max-width: 640px) {
  .sec-approach .cordinate-list__item img {
    width: calc(100% - 50px);
  }
}

.sec-approach .cordinate .scroll-txt {
  margin-bottom: 20px;
}

.sec-approach .status {
  margin-top: 70px;
  margin-bottom: 160px;
}

@media screen and (max-width: 834px) {
  .sec-approach .status {
    margin-top: max(60px, 11.49vw);
    margin-bottom: max(80px, 19.18vw);
    padding-right: 0;
  }
}

@media screen and (max-width: 834px) {
  .sec-approach .status .ttl-box {
    padding-right: 4.19%;
  }
}

.sec-approach .status .ttl-box .c-txt02 {
  margin: 30px 0 40px;
}

.sec-approach .status .status-list {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}

@media screen and (max-width: 834px) {
  .sec-approach .status .status-list {
    width: 1200px;
  }
}

.sec-approach .status .status-list:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 2px;
}

.sec-approach .status .status-list:before {
  top: 202px;
  left: 0;
  max-width: 1200px;
  background: #e5ede8;
}

@media screen and (min-width: 835px) and (max-width: 1340px) {
  .sec-approach .status .status-list:before {
    top: calc(13.5vw + 22px);
  }
}

.sec-approach .status .status-list__item {
  width: 15%;
}

@media screen and (max-width: 834px) {
  .sec-approach .status .status-list__item {
    width: 180px;
  }
}

.sec-approach .status .status-list__item .period {
  position: relative;
  margin: 16px 0 12px;
  padding-top: 30px;
  font-size: 21px;
  font-size: 2.1rem;
}

.sec-approach .status .status-list__item .period:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 14px;
  height: 14px;
}

.sec-approach .status .status-list__item .period:before {
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #80ad92;
  border-radius: 50%;
  z-index: 1;
}

.sec-approach .status .status-list__item .desc {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.33333;
}

.sec-approach .status .scroll-txt {
  margin-bottom: 20px;
}

.sec-approach .flow {
  margin-top: 76px;
  margin-bottom: 90px;
}

@media screen and (max-width: 834px) {
  .sec-approach .flow {
    margin-top: max(60px, 11.49vw);
    margin-bottom: max(60px, 11.49vw);
    padding-right: 0;
  }
}

.sec-approach .flow .ttl-box {
  margin-bottom: 65px;
}

@media screen and (max-width: 834px) {
  .sec-approach .flow .ttl-box {
    padding-right: 4.19%;
  }
}

.sec-approach .flow .flow-list {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  padding-top: 22px;
}

@media screen and (max-width: 834px) {
  .sec-approach .flow .flow-list {
    width: 1200px;
  }
}

.sec-approach .flow .flow-list:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 1px;
}

.sec-approach .flow .flow-list:before {
  top: 132px;
  left: 0;
  max-width: 1200px;
  background: #79a7c6;
}

@media screen and (min-width: 835px) and (max-width: 1340px) {
  .sec-approach .flow .flow-list:before {
    top: 10.5vw;
  }
}

.sec-approach .flow .flow-list__item {
  position: relative;
  width: 18.33%;
}

@media screen and (max-width: 834px) {
  .sec-approach .flow .flow-list__item {
    width: 220px;
  }
}

.sec-approach .flow .flow-list__item .no {
  position: absolute;
  left: -5px;
  top: -22px;
  font-size: 42px;
  font-size: 4.2rem;
  font-style: italic;
}

.sec-approach .flow .flow-list__item .ttl {
  margin: 15px 0 10px;
  font-size: 18px;
  font-size: 1.8rem;
}

.sec-approach .flow .flow-list__item .desc {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.71429;
}

.sec-approach .method {
  margin-bottom: 130px;
}

@media screen and (max-width: 834px) {
  .sec-approach .method {
    margin-bottom: max(60px, 14.38vw);
  }
}

.sec-approach .method .scroll-txt {
  margin-bottom: 20px;
}

.sec-approach .method-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 35px;
}

@media screen and (max-width: 834px) {
  .sec-approach .method-list {
    width: 1100px;
  }
}

.sec-approach .method-list__item {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 18.33%;
  width: calc((100% - 100px) / 5);
}

.sec-approach .method-list__item img {
  width: 81.81818%;
}

.sec-approach .method-list__item.__arrow {
  width: 25px;
  font-size: 40px;
  font-size: 4rem;
}

.sec-approach .method-list__item.__ttl {
  margin-right: 25px;
  background: #79a7c6;
  font-size: 21px;
  font-size: 2.1rem;
}

.sec-approach .method-list__item .__txt {
  margin-top: 12px;
  font-size: 18px;
  font-size: 1.8rem;
}

.sec-approach .price {
  margin-bottom: 130px;
}

@media screen and (max-width: 834px) {
  .sec-approach .price {
    margin-bottom: max(60px, 14.38vw);
    padding-right: 0;
  }
}

.sec-approach .price .ttl-box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  margin-bottom: 60px;
}

@media screen and (max-width: 834px) {
  .sec-approach .price .ttl-box {
    margin-bottom: 30px;
    padding-right: 4.19%;
  }
}

.sec-approach .price .ttl-box span {
  margin-left: .5em;
  font-size: 42px;
  font-size: 4.2rem;
}

@media screen and (max-width: 834px) {
  .sec-approach .price .ttl-box span {
    font-size: 34px;
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 834px) {
  .sec-approach .price .ttl-box span {
    font-size: 30px;
    font-size: 3rem;
  }
}

.sec-approach .price .price-table {
  width: 100%;
}

@media screen and (max-width: 834px) {
  .sec-approach .price .price-table {
    width: 1000px;
  }
}

.sec-approach .price .price-table .head {
  font-size: 21px;
  font-size: 2.1rem;
  background: #79a7c6;
}

@media screen and (max-width: 834px) {
  .sec-approach .price .price-table .head {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.sec-approach .price .price-table .subhead {
  color: #79a7c6;
  font-size: 16px;
  font-size: 1.6rem;
  background: #e9f0f5;
}

.sec-approach .price .price-table th, .sec-approach .price .price-table td {
  padding: 20px 15px;
  font-weight: 500;
  border-bottom: 1px solid #c2ccd3;
}

@media screen and (max-width: 834px) {
  .sec-approach .price .price-table th, .sec-approach .price .price-table td {
    padding: 15px;
  }
}

.sec-approach .price .price-table th:not(:first-child), .sec-approach .price .price-table .bdr-l {
  border-left: 1px solid #c2ccd3;
}

.sec-approach .price .price-table td {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.4;
}

.sec-approach .price .price-table td:not(:first-child) {
  border-left: 1px solid #c2ccd3;
}

@media screen and (max-width: 990px) {
  .sec-approach .price .price-table td.price-txt {
    width: 130px;
  }
}

.sec-approach .price .price-table td.price-txt .c-fc__bl {
  font-size: 21px;
  font-size: 2.1rem;
  font-style: italic;
}

.sec-approach .price .note {
  margin-top: 15px;
  font-size: 12px;
  font-size: 1.2rem;
}

@media screen and (max-width: 834px) {
  .sec-approach .price .note {
    padding-right: 4.19%;
  }
}

.sec-approach .price .scroll-txt {
  margin-bottom: 20px;
}

.approach-block {
  position: relative;
}

@media screen and (max-width: 834px) {
  .approach-block {
    margin-top: 17.9vw;
  }
}

.approach-block .txt-deco {
  position: absolute;
  top: -50px;
  width: 100%;
}

@media screen and (max-width: 1200px) {
  .approach-block .txt-deco {
    top: -4.16vw;
  }
}

@media screen and (max-width: 834px) {
  .approach-block .txt-deco {
    top: -17.9vw;
  }
}

.approach-block .txt-deco.__r {
  right: 0;
}

.approach-block .txt-deco.top0 {
  top: -20px;
}

@media screen and (max-width: 1200px) {
  .approach-block .txt-deco.top0 {
    top: -1.66vw;
  }
}

@media screen and (max-width: 834px) {
  .approach-block .txt-deco.top0 {
    top: -17.9vw;
  }
}

.approach-block .inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.approach-block__img {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 64.16%;
}

@media screen and (min-width: 835px) {
  .approach-block__img.__r {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

@media screen and (max-width: 834px) {
  .approach-block__img {
    width: calc(104.19% - 50px);
  }
  .approach-block__img.__l {
    margin-left: -5%;
  }
  .approach-block__img.__r {
    margin-left: auto;
    margin-right: -5%;
  }
  .approach-block__img .ttl {
    position: absolute;
    top: 0;
  }
  .approach-block__img .ttl.__r {
    right: -45px;
  }
  .approach-block__img .ttl.__l {
    left: -45px;
  }
}

.approach-block__img img {
  height: 100%;
}

@media screen and (max-width: 834px) {
  .approach-block__img img {
    height: auto;
  }
}

.approach-block__txt {
  position: relative;
  width: 30.16%;
}

@media screen and (min-width: 835px) {
  .approach-block__txt.__l {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

@media screen and (max-width: 834px) {
  .approach-block__txt {
    width: 100%;
  }
}

.approach-block__txt .c-txt03 {
  margin: 60px 0 25px;
}

@media screen and (max-width: 834px) {
  .approach-block__txt .c-txt03 {
    margin: 40px 0 20px;
    text-align: left;
  }
}

.approach-block.block01 {
  margin-bottom: 60px;
}

@media screen and (max-width: 834px) {
  .sec-interview .sec-img img {
    height: 48.66vw;
    -o-object-position: right center;
       object-position: right center;
  }
}

.sec-interview .bg-wrap {
  position: relative;
  padding: 124px 0 130px;
  background: #80ad92;
}

@media screen and (max-width: 990px) {
  .sec-interview .bg-wrap {
    padding-bottom: 50px;
  }
}

@media screen and (max-width: 834px) {
  .sec-interview .bg-wrap {
    padding-top: max(60px, 11.49vw);
    padding-bottom: 23.38vw;
  }
}

.sec-interview .bg-wrap:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 645px;
  height: 508px;
}

.sec-interview .bg-wrap:before {
  top: 0;
  left: 0;
  background: url("../img/leaf03.svg") no-repeat left -12px top -70px;
  background-size: contain;
}

@media screen and (max-width: 834px) {
  .sec-interview .bg-wrap:before {
    width: 54.66667vw;
    height: 43.06667vw;
    background-position: left 0 top -7.33vw;
  }
}

.sec-interview .bg-wrap .c-ttl03:before {
  background: #fff;
}

.sec-interview .inner {
  position: relative;
}

@media screen and (min-width: 991px) {
  .sec-interview .lead-ttl-block {
    padding-left: 7.166%;
  }
}

.sec-interview .lead-ttl-block .lead-ttl {
  margin: 40px 0 65px;
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.6;
  letter-spacing: .2em;
}

@media screen and (max-width: 1200px) {
  .sec-interview .lead-ttl-block .lead-ttl {
    font-size: max(39px, 3.5vw);
  }
}

@media screen and (max-width: 834px) {
  .sec-interview .lead-ttl-block .lead-ttl {
    margin: 30px 0 40px;
    font-size: max(24px, 5.6vw);
  }
}

.sec-interview .lead-ttl-block .lead-ttl .small {
  font-size: 30px;
  font-size: 3rem;
}

@media screen and (max-width: 1200px) {
  .sec-interview .lead-ttl-block .lead-ttl .small {
    font-size: max(30px, 2.5vw);
  }
}

@media screen and (max-width: 834px) {
  .sec-interview .lead-ttl-block .lead-ttl .small {
    letter-spacing: .1em;
    font-size: max(17px, 4vw);
  }
}

.sec-interview .name-block {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 110px;
}

@media screen and (max-width: 834px) {
  .sec-interview .name-block {
    margin-bottom: max(50px, 11.49vw);
  }
}

.sec-interview .name-block__item {
  width: 300px;
}

@media screen and (max-width: 834px) {
  .sec-interview .name-block__item {
    width: 46%;
  }
}

.sec-interview .name-block__item .position {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: .15em;
}

@media screen and (max-width: 640px) {
  .sec-interview .name-block__item .position {
    margin-bottom: 8px;
    letter-spacing: .1em;
  }
}

.sec-interview .name-block__item .name {
  font-size: 28px;
  font-size: 2.8rem;
  letter-spacing: .1em;
}

.sec-interview .name-block__item .en {
  margin-left: 1em;
  font-size: 13px;
  font-size: 1.3rem;
}

@media screen and (max-width: 640px) {
  .sec-interview .name-block__item .en {
    margin-left: 0;
    margin-top: 8px;
    display: block;
    width: 100%;
  }
}

.sec-interview .lead-txt-block {
  position: relative;
}

.sec-interview .lead-txt-block .lead-txt-ttl {
  position: absolute;
  top: 0;
  font-size: 14px;
  font-size: 1.4rem;
  padding-top: 60px;
  width: 14px;
  height: 130px;
}

@media screen and (min-width: 835px) {
  .sec-interview .lead-txt-block .lead-txt-ttl {
    right: 0;
  }
}

@media screen and (max-width: 834px) {
  .sec-interview .lead-txt-block .lead-txt-ttl {
    left: 0;
  }
}

.sec-interview .lead-txt-block .lead-txt-ttl:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 50px;
}

.sec-interview .lead-txt-block .lead-txt-ttl:before {
  top: 0;
  left: 6px;
}

.sec-interview .lead-txt-block .lead-txt-ttl:before {
  background: #fff;
}

.sec-interview .lead-txt-block .lead-txt-ttl span {
  display: inline-block;
  width: 14px;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.sec-interview .lead-txt-block .lead-txt {
  margin-left: auto;
  margin-right: max(40px, 6.66%);
  width: 100%;
  max-width: 884px;
  letter-spacing: 2px;
}

@media screen and (max-width: 1200px) {
  .sec-interview .lead-txt-block .lead-txt {
    width: 93.75%;
  }
}

@media screen and (max-width: 990px) {
  .sec-interview .lead-txt-block .lead-txt {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
            column-gap: 30px;
    max-width: 480px;
  }
}

@media screen and (max-width: 834px) {
  .sec-interview .lead-txt-block .lead-txt {
    padding-left: max(50px, 8.34vw);
    margin-right: 0;
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    width: 100%;
    max-width: 100%;
  }
}

.sec-interview .lead-txt-block .lead-txt p {
  margin-left: 35px;
  height: 390px;
}

@media screen and (max-width: 834px) {
  .sec-interview .lead-txt-block .lead-txt p {
    margin-left: 0;
    height: auto;
  }
}

@media screen and (max-width: 834px) {
  .sec-interview .lead-txt-block .lead-txt p {
    margin-bottom: 30px;
    line-height: 1.66;
  }
}

.sec-interview .interview-block {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 80px;
}

@media screen and (max-width: 834px) {
  .sec-interview .interview-block {
    margin-bottom: max(40px, 9.59vw);
  }
}

.sec-interview .interview-block__img {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 50%;
}

@media screen and (min-width: 835px) {
  .sec-interview .interview-block__img.__r {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

@media screen and (max-width: 834px) {
  .sec-interview .interview-block__img {
    width: 100%;
  }
}

.sec-interview .interview-block__img img {
  height: 100%;
}

.sec-interview .interview-block__txt {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding-left: 32px;
  width: 47%;
}

@media screen and (max-width: 834px) {
  .sec-interview .interview-block__txt {
    margin-top: 30px;
    padding-left: 0;
    width: 100%;
  }
}

@media screen and (min-width: 835px) {
  .sec-interview .interview-block__txt.__l {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.sec-interview .interview-block__ttl {
  position: relative;
  -ms-flex-item-align: center;
      align-self: center;
  margin-bottom: 15px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.66;
  letter-spacing: .1em;
}

@media screen and (max-width: 834px) {
  .sec-interview .interview-block__ttl {
    padding-left: 4vw;
    font-size: max(18px, 3.83vw);
  }
}

.sec-interview .interview-block__ttl:before {
  content: "“";
  color: #e9f0f5;
  font-size: 150px;
  font-size: 15rem;
  position: absolute;
  left: -38px;
  top: -12px;
  line-height: .8;
}

@media screen and (max-width: 834px) {
  .sec-interview .interview-block__ttl:before {
    left: 0;
    top: -1.438vw;
    font-size: max(90px, 17.98vw);
  }
}

.sec-interview .interview-block__ttl span {
  position: relative;
}

.sec-interview .interview-block.block01 {
  margin-top: -50px;
}

@media screen and (max-width: 834px) {
  .sec-interview .interview-block.block01 {
    margin-top: -14.38vw;
  }
}

@media screen and (min-width: 835px) {
  .sec-interview .interview-block.block01 .interview-block__txt {
    margin-top: 105px;
  }
}

.sec-interview .profile {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 125px;
}

@media screen and (max-width: 834px) {
  .sec-interview .profile {
    margin-bottom: max(60px, 11.49vw);
  }
}

.sec-interview .profile .name-block__item {
  margin-bottom: 35px;
}

@media screen and (max-width: 640px) {
  .sec-interview .profile .name-block__item {
    margin-bottom: 20px;
  }
}

.sec-interview .profile .name-block__item .en {
  color: #bad2e2;
}

.sec-interview .profile__img {
  position: relative;
  width: 270px;
}

@media screen and (max-width: 834px) {
  .sec-interview .profile__img {
    margin: 0 auto 40px;
    width: 60%;
    min-width: 270px;
  }
}

.sec-interview .profile__txt {
  padding-left: 3.75%;
  width: calc(100% - 270px);
}

@media screen and (max-width: 834px) {
  .sec-interview .profile__txt {
    padding-left: 0;
    width: 100%;
  }
}

.sec-interview .profile__desc {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.sec-interview .profile__desc .c-txt02 {
  width: 42.61%;
}

@media screen and (max-width: 834px) {
  .sec-interview .profile__desc .c-txt02 {
    width: 45%;
  }
}

@media screen and (max-width: 640px) {
  .sec-interview .profile__desc .c-txt02 {
    margin-bottom: 40px;
    width: 100%;
  }
}

.sec-interview .profile__desc .history {
  width: 50%;
}

@media screen and (max-width: 640px) {
  .sec-interview .profile__desc .history {
    width: 100%;
  }
}

.sec-interview .profile__desc .history ul {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.64286;
}

.sec-interview .profile .c-txt__deco {
  position: absolute;
  top: -40px;
  right: 0;
}

@media screen and (min-width: 835px) {
  .sec-interview .profile .c-txt__deco {
    font-size: 100px;
    font-size: 10rem;
  }
}

@media screen and (max-width: 1200px) {
  .sec-interview .profile .c-txt__deco {
    top: -3.33vw;
    font-size: 8.33vw;
  }
}

.sec-interview .profile .history-list__item {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  margin-bottom: 20px;
}

.sec-interview .profile .history-list__item .yr {
  width: 48px;
}

.sec-interview .profile .history-list__item .desc {
  width: calc(100% - 48px);
}

.sec-interview .profile .spec-list__item {
  margin-left: 1em;
  text-indent: -1em;
}

.sec-gallery {
  position: relative;
}

.sec-gallery:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 513px;
  height: 404px;
}

@media screen and (max-width: 1200px) {
  .sec-gallery:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 38%;
    height: 33.66vw;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery:before {
    width: 79.13669vw;
    height: 50vw;
  }
}

.sec-gallery:before {
  top: 465px;
  right: -10px;
  background: url("../img/leaf.svg") no-repeat right top;
  background-size: contain;
  opacity: .5;
}

@media screen and (max-width: 1230px) {
  .sec-gallery:before {
    top: 27.67vw;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery:before {
    top: 35vw;
  }
}

.sec-gallery .sec-img {
  position: relative;
}

@media screen and (min-width: 835px) {
  .sec-gallery .sec-img {
    padding-right: 14.28%;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery .sec-img img {
    height: 52.66vw;
  }
}

.sec-gallery .inner {
  position: relative;
  padding-top: 115px;
  padding-bottom: 160px;
}

@media screen and (max-width: 834px) {
  .sec-gallery .inner {
    padding-top: max(60px, 11.49vw);
    padding-bottom: max(70px, 16vw);
  }
}

.sec-gallery .gallery-block {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.sec-gallery .gallery-block .block__l {
  width: 50%;
}

@media screen and (max-width: 834px) {
  .sec-gallery .gallery-block .block__l {
    width: 100%;
  }
}

.sec-gallery .gallery-block .block__r {
  margin-top: 135px;
  width: 43.33%;
}

@media screen and (max-width: 1200px) {
  .sec-gallery .gallery-block .block__r {
    margin-top: 11.25vw;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery .gallery-block .block__r {
    margin-top: 0;
    width: 100%;
  }
}

.sec-gallery .lead-box {
  margin: 40px 0 100px;
  padding-left: 13%;
}

@media screen and (max-width: 990px) {
  .sec-gallery .lead-box {
    padding-left: 7%;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery .lead-box {
    margin: 40px 0 max(30px, 8.4vw);
    padding-left: 0;
  }
}

.sec-gallery .lead-box__ttl {
  margin-bottom: 30px;
  font-size: 42px;
  font-size: 4.2rem;
  letter-spacing: .2em;
  line-height: 1.6;
}

@media screen and (max-width: 1400px) {
  .sec-gallery .lead-box__ttl {
    font-size: 3.1vw;
  }
}

@media screen and (max-width: 990px) {
  .sec-gallery .lead-box__ttl {
    font-size: 3.7vw;
    letter-spacing: .12em;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery .lead-box__ttl {
    font-size: max(30px, 4.5vw);
  }
}

.sec-gallery .lead-box__desc {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.125;
}

@media screen and (max-width: 834px) {
  .sec-gallery .lead-box__desc {
    line-height: 1.8;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery .img-box-wrap {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
  }
}

.sec-gallery .img-box {
  margin-bottom: 50px;
}

@media screen and (max-width: 834px) {
  .sec-gallery .img-box {
    width: 48.53%;
  }
}

@media screen and (max-width: 640px) {
  .sec-gallery .img-box {
    margin-bottom: 25px;
  }
}

.sec-gallery .img-box__cap {
  margin-top: 20px;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: .1em;
  line-height: 1.6;
}

@media screen and (max-width: 834px) {
  .sec-gallery .img-box__cap {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.375;
  }
}

@media screen and (max-width: 640px) {
  .sec-gallery .img-box__cap {
    margin-top: 10px;
    letter-spacing: 0;
    font-size: 18px;
    font-size: 1.8rem;
    text-align: center;
  }
  .sec-gallery .img-box__cap br {
    display: none;
  }
}

.sec-gallery .img-box__cap .small {
  margin-right: 10px;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: .05em;
}

@media screen and (max-width: 640px) {
  .sec-gallery .img-box__cap .small {
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 834px) {
  .sec-gallery .img-box-sp {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 100%;
  }
  .sec-gallery .img-box-sp img {
    width: 38.23%;
  }
  .sec-gallery .img-box-sp .img-box__txt {
    width: 56.617%;
  }
  .sec-gallery .img-box-sp .img-box__cap {
    margin-top: 0;
    text-align: left;
  }
}

@media screen and (max-width: 640px) {
  .sec-gallery .img-box-sp {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.sec-gallery .c-txt02 {
  margin-top: 20px;
}

.sec-gallery .txt-box {
  margin-top: 75px;
}

@media screen and (max-width: 834px) {
  .sec-gallery .txt-box {
    margin-top: max(30px, 8.99vw);
  }
}

.sec-gallery .txt-box__ttl {
  margin: 0 auto;
  width: 100px;
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.875;
  letter-spacing: .2em;
}

@media screen and (max-width: 834px) {
  .sec-gallery .txt-box__ttl {
    width: 100%;
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
  }
}

#main-footer .ft-img {
  position: relative;
}

#main-footer .ft-img:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 12.5vw;
}

#main-footer .ft-img:before {
  left: 0;
  bottom: 0;
  background: #e9f0f5;
}

@media screen and (min-width: 1201px) {
  #main-footer .ft-img:before {
    height: 150px;
  }
}

@media screen and (min-width: 835px) {
  #main-footer .ft-img {
    padding-right: 14.28%;
  }
}

#main-footer .ft-img img {
  position: relative;
}

@media screen and (max-width: 834px) {
  #main-footer .ft-img img {
    height: 40vw;
  }
}

#main-footer .copyright {
  background: #79a7c6;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 80px;
}

@media screen and (max-width: 834px) {
  #main-footer .copyright {
    line-height: 60px;
  }
}

/*# sourceMappingURL=maps/styles.css.map */

.sec-lead {
padding: 100px 0 110px;
background: none;
background-size: 670px auto;
}