@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/


html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

html {
  font-size: 62.5%;
}

body.en main{
  font-family: "Syne", sans-serif; }

body.jp main{
  font-family: dnp-shuei-gothic-kin-std, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }

* {
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

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

.inner {
  width: calc(100% - 90px);
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .inner {
      width: calc(100% - 30px); } }

#alv-header {
  background-color: #4D6762;
  z-index: 8000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transition: .3s;
  height: 300px; }
  @media only screen and (max-width: 767px) {
    #alv-header {
      height: 322px; } }
  #alv-header.float {
    height: 80px; }
    #alv-header.float .inner h1 {
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 0.9411; }
  #alv-header .inner {
    height: 100%;
    display: flex;
    align-items: center; }
    #alv-header .inner h1 {
      transition: .3s;
      font-family: "Syne", sans-serif;
      font-weight: 600;
      font-size: 105px;
      font-size: 10.5rem;
      letter-spacing: -0.01em;
      line-height: 0.92857143em; }
      @media screen and (max-width: 1200px) {
        #alv-header .inner h1 {
          font-size: 75px;
          font-size: 7.5rem; } }
      @media screen and (max-width: 900px) {
        #alv-header .inner h1 {
          font-size: 55px;
          font-size: 5.5rem; } }
      @media only screen and (max-width: 767px) {
        #alv-header .inner h1 {
          font-size: 58px;
          font-size: 5.8rem; } }
      @media screen and (max-width: 374px) {
        #alv-header .inner h1 {
          font-size: 60px;
          font-size: 6rem; } }

body.index main {
  position: relative; }
  body.index main h2 {
    font-family: "Syne", sans-serif;
    font-weight: 600;
    margin-top: 5px;
    font-size: 95px;
    font-size: 9.5rem;
    letter-spacing: 0em;
    line-height: 0.92857143em; }
    @media screen and (max-width: 1200px) {
      body.index main h2 {
        font-size: 65px;
        font-size: 6.5rem; } }
    @media screen and (max-width: 900px) {
      body.index main h2 {
        font-size: 45px;
        font-size: 4.5rem; } }
    @media only screen and (max-width: 767px) {
      body.index main h2 {
        font-size: 78px;
        font-size: 7.8rem;
        letter-spacing: 0em; } }
  body.index main #intro {
    padding-bottom: 250px; }
    @media only screen and (max-width: 767px) {
      body.index main #intro {
        padding-bottom: 250px; } }
    body.index main #intro .cont {
      height: 540px;
      padding-top: 290px; }
      @media only screen and (max-width: 767px) {
        body.index main #intro .cont {
          height: 510px;
          padding-top: 300px; } }
      body.index main #intro .cont .jp-sub {
        font-size: 36px;
        font-size: 3.6rem;
        letter-spacing: 0.075em;
        font-weight: bold; }
        @media only screen and (min-width: 768px) {
          body.index main #intro .cont .jp-sub {
            margin-top: 20px; } }
        @media only screen and (max-width: 767px) {
          body.index main #intro .cont .jp-sub {
            font-size: 22px;
            font-size: 2.2rem; } }
    body.index main #intro h3 {
      height: 34px;
      position: relative;
      margin-bottom: 30px; }
      body.index main #intro h3:after {
        content: "";
        width: calc(100% - 123px);
        height: 1px;
        background-color: white;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: auto;
        right: 0;
        margin: auto; }
      body.index main #intro h3 span {
        width: 123px;
        height: 100%;
        background-color: white;
        color: #4D6762;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.1em;
        border-radius: 17px;
        font-family: "Syne", sans-serif; }
    body.index main #intro .summary p {
      font-size: 21px;
      font-size: 2.1rem;
      letter-spacing: 0.015em;
      line-height: 1.33333333em;
      font-family: "IBM Plex Sans", dnp-shuei-gothic-kin-std, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
      width: 65.777778%;
      margin: 0 auto 1.5em 0; }
      @media only screen and (max-width: 767px) {
        body.index main #intro .summary p {
          width: 100%; } }
    body.index main #intro .profiles {
      margin-top: 115px; }
      body.index main #intro .profiles ul {
        display: flex;
        justify-content: flex-start; }
        @media only screen and (max-width: 767px) {
          body.index main #intro .profiles ul {
            flex-direction: column; } }
        body.index main #intro .profiles ul li {
          width: 31.555556%;
          margin-right: 2.666667%; }
          @media only screen and (max-width: 767px) {
            body.index main #intro .profiles ul li {
              width: 100%;
              margin-bottom: 100px; } }
          body.index main #intro .profiles ul li:nth-child(3n) {
            margin-right: 0; }
          @media only screen and (max-width: 767px) {
            body.index main #intro .profiles ul li:last-child {
              margin-bottom: 0; } }
          body.index main #intro .profiles ul li figure {
            border-radius: 20px;
            overflow: hidden; }
          body.index main #intro .profiles ul li .en {
            font-size: 21px;
            font-size: 2.1rem;
            letter-spacing: 0.05em;
            font-weight: bold;
            margin-top: 20px;
            font-family: "Syne", sans-serif; }
          body.index main #intro .profiles ul li .jp {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: 0.05em;
            margin-top: 10px; }
          body.index main #intro .profiles ul li .prof {
            margin-top: 30px;
            font-family: "IBM Plex Sans", dnp-shuei-gothic-kin-std, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
            font-size: 18px;
            font-size: 1.8rem;
            letter-spacing: 0.025em;
            line-height: 1.5em; }
            body.index main #intro .profiles ul li .prof a {
              text-decoration: underline; }
  body.index main .chapter {
    padding-bottom: 250px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-top: 36px;
    border-radius: 20px 20px 0 0; }
    body.index main .chapter.bottom .chapter-header {
      width: calc(100% - 90px);
      position: fixed;
      left: 0;
      right: 0;
      margin: auto;
      top: auto;
      bottom: auto; }
      @media only screen and (max-width: 767px) {
        body.index main .chapter.bottom .chapter-header {
          width: calc(100% - 36px); } }
    body.index main .chapter.top .chapter-header {
      position: fixed;
      width: calc(100% - 90px);
      z-index: 99; }
      @media only screen and (max-width: 767px) {
        body.index main .chapter.top .chapter-header {
          width: calc(100% - 36px); } }
    body.index main .chapter .chapter-header {
      position: absolute;
      top: 0;
      width: 100%; }
      body.index main .chapter .chapter-header .chapter-no {
        box-shadow: 3px -3px 3px 0px rgba(77, 103, 98, 0.2);
        border-radius: 20px 20px 0 0;
        height: 36px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        font-family: "Syne", sans-serif; }
    @media only screen and (max-width: 767px) {
      body.index main .chapter .inner h2 {
        font-size: 52px;
        font-size: 5.2rem;
        letter-spacing: -0.01em;
        line-height: 0.9423; } }
    @media screen and (max-width: 374px) {
      body.index main .chapter .inner h2 {
        font-size: 50px;
        font-size: 5rem; } }
    body.index main .chapter .inner .jp-sub {
      font-size: 28px;
      font-size: 2.8rem;
      letter-spacing: 0.075em;
      line-height: 1.42857143em;
      margin-top: 30px; }
      @media only screen and (max-width: 767px) {
        body.index main .chapter .inner .jp-sub {
          font-size: 20px;
          font-size: 2rem;
          letter-spacing: 0.05em;
          line-height: 1.5;
          margin-top: 15px; } }
    body.index main .chapter .inner .caption {
      font-size: 36px;
      font-size: 3.6rem;
      letter-spacing: 0em;
      line-height: 1.11111111em;
      margin-top: 200px;
      font-weight: 500; }
      @media screen and (max-width: 900px) {
        body.index main .chapter .inner .caption {
          font-size: 30px;
          font-size: 3rem; } }
      @media only screen and (max-width: 767px) {
        body.index main .chapter .inner .caption {
          font-size: 28px;
          font-size: 2.8rem;
          line-height: 1.214; } }
    body.index main .chapter .inner .item-cont {
      margin-top: 40px;
      border-top: 1px solid black;
      padding-top: 40px; }
      body.index main .chapter .inner .item-cont .item {
        margin: 0 0 60px 0;
        width: 31.555556%; }
        @media only screen and (max-width: 767px) {
          body.index main .chapter .inner .item-cont .item {
            width: 100%;
            margin-bottom: 54px; } }
        body.index main .chapter .inner .item-cont .item:last-child {
          margin-bottom: 0; }
        @media only screen and (min-width: 768px) {
          body.index main .chapter .inner .item-cont .item.left {
            margin-right: auto; } }
        @media only screen and (min-width: 768px) {
          body.index main .chapter .inner .item-cont .item.right {
            margin-left: auto; } }
        @media only screen and (min-width: 768px) {
          body.index main .chapter .inner .item-cont .item.center {
            margin-left: auto;
            margin-right: auto; } }
        body.index main .chapter .inner .item-cont .item p {
          font-size: 20px;
          font-size: 2rem;
          letter-spacing: 0.025em;
          line-height: 1.5em;
          font-family: "IBM Plex Sans", dnp-shuei-gothic-kin-std, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }
          body.index main .chapter .inner .item-cont .item p span {
            font-weight: 700;
            font-family: "Syne", sans-serif;
            letter-spacing: 0.05em; }
        body.index main .chapter .inner .item-cont .item figure {
          border-radius: 20px; }
          body.index main .chapter .inner .item-cont .item figure img {
            border-radius: 20px; }
          body.index main .chapter .inner .item-cont .item figure figcaption {
            margin-top: 20px;
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.015em;
            line-height: 1.71428571em;
            font-style: italic;
            text-align: center;
            width: 80%;
            margin-left: auto;
            margin-right: auto; }
            @media only screen and (max-width: 767px) {
              body.index main .chapter .inner .item-cont .item figure figcaption {
                margin-top: 14px;
                width: 100%; } }
            body.index main .chapter .inner .item-cont .item figure figcaption a {
              text-decoration: underline; }
  body.index main #chapter1 {
    background-color: #6988BF; }
    body.index main #chapter1.bottom .chapter-header {
      top: calc(100% - 144px);
      background-color: inherit;
      border-radius: 20px 20px 0 0;
      overflow: hidden; }
    body.index main #chapter1.top .chapter-header {
      top: 80px; }
    body.index main #chapter1 .chapter-header {
      background-color: #4D6762; }
      body.index main #chapter1 .chapter-header .chapter-no {
        background-color: #6988BF; }
    body.index main #chapter1 .inner .caption {
      max-width: 633px; }
    body.index main #chapter1 .inner .item-cont {
      border-top: 1px solid white; }
  body.index main #chapter2 {
    background-color: #FD9B7B;
    color: black; }
    body.index main #chapter2.bottom .chapter-header {
      top: calc(100% - 108px); }
    body.index main #chapter2.top .chapter-header {
      top: 116px; }
    body.index main #chapter2 .chapter-header {
      background-color: #6988BF; }
      body.index main #chapter2 .chapter-header .chapter-no {
        background-color: #FD9B7B; }
    body.index main #chapter2 .inner .caption {
      max-width: 920px; }
    body.index main #chapter2 .inner .item-cont .item figure img {
      margin-bottom: 20px; }
      @media only screen and (max-width: 767px) {
        body.index main #chapter2 .inner .item-cont .item figure img {
          margin-bottom: 16px; } }
      body.index main #chapter2 .inner .item-cont .item figure img:nth-child(3) {
        margin-bottom: 0; }
  body.index main #chapter3 {
    background-color: #FFF3A7;
    color: black; }
    body.index main #chapter3.bottom .chapter-header {
      top: calc(100% - 72px); }
    body.index main #chapter3.top .chapter-header {
      top: 152px; }
    body.index main #chapter3 .chapter-header {
      background-color: #FD9B7B; }
      body.index main #chapter3 .chapter-header .chapter-no {
        background-color: #FFF3A7; }
    body.index main #chapter3 .inner .caption {
      max-width: 1009px; }
      @media only screen and (max-width: 767px) {
        body.index main #chapter3 .inner .caption {
          max-width: 267px; } }
  body.index main #chapter4 {
    background-color: #F2F2F2;
    color: black;
    padding-bottom: 100px; }
    body.index main #chapter4.bottom .chapter-header {
      top: calc(100% - 36px); }
    body.index main #chapter4.top .chapter-header {
      top: 188px; }
    body.index main #chapter4 .chapter-header {
      background-color: #FFF3A7; }
      body.index main #chapter4 .chapter-header .chapter-no {
        background-color: #F2F2F2; }
    @media only screen and (max-width: 767px) {
      body.index main #chapter4 .inner h2 {
        font-size: 52px;
        font-size: 5.2rem;
        letter-spacing: -0.01em; } }
    @media screen and (max-width: 374px) {
      body.index main #chapter4 .inner h2 {
        font-size: 50px;
        font-size: 5rem; } }
    body.index main #chapter4 .inner .caption {
      max-width: 663px; }
      @media only screen and (max-width: 767px) {
        body.index main #chapter4 .inner .caption {
          max-width: 267px; } }

body.index.jp main #intro .summary p {
  font-size: 19px;
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  line-height: 1.89473684em;
  width: 100%; }

body.index.jp main #intro .profiles ul li .prof {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.8125em; }

body.index.jp main .chapter .inner .caption {
  font-size: 19px;
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  line-height: 1.89473684em;
  margin-top: 200px; }
  body.index.jp main .chapter .inner .caption:before {
    content: "─";
    margin-right: 6px; }
  @media only screen and (max-width: 767px) {
    body.index.jp main .chapter .inner .caption {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.8125em; } }

body.index.jp main .chapter .inner .item-cont {
  margin-top: 30px; }
  body.index.jp main .chapter .inner .item-cont .item {
    margin-bottom: 100px; }
    body.index.jp main .chapter .inner .item-cont .item:last-child {
      margin-bottom: 0; }
    @media only screen and (max-width: 767px) {
      body.index.jp main .chapter .inner .item-cont .item {
        margin-bottom: 60px; } }
    body.index.jp main .chapter .inner .item-cont .item p {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.05em;
      line-height: 1.8125em; }
      body.index.jp main .chapter .inner .item-cont .item p span {
        font-size: 19px;
        font-size: 1.9rem; }
    body.index.jp main .chapter .inner .item-cont .item figure figcaption {
      font-style: normal;
      font-weight: 500; }

body.index.jp main #chapter1 .inner .item-cont figure figcaption {
  width: 100%; }

@media only screen and (max-width: 767px) {
  body.index.jp main #chapter2 .inner .item-cont figure figcaption {
    width: 80%; } }

@media only screen and (max-width: 767px) {
  body.index.jp main #chapter3 .inner .jp-sub {
    margin-top: 90px; } }

@media only screen and (max-width: 767px) {
  body.index.jp main #chapter3 .inner .caption {
    max-width: 100%; } }

@media only screen and (max-width: 767px) {
  body.index.jp main #chapter3 .inner .item-cont figure figcaption {
    width: 90%; } }

@media only screen and (max-width: 767px) {
  body.index.jp main #chapter4 .inner .jp-sub {
    margin-top: 90px; } }

@media only screen and (max-width: 767px) {
  body.index.jp main #chapter4 .inner .caption {
    max-width: 100%; } }


/*customize*/
main a {
  color: inherit !important;
  transition: none !important;
}
main a:hover{
  opacity: 1 !important;
}
body.ian-hirayama .wrap{
  background: #4D6762;
  padding: 0 45px;

}
body.ian-hirayama main{
  color: white;
}
*, *:before, *:after{
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
}
.header{
  z-index: 99999;
}

#alv-header{
  top: 90px;
  z-index: 10;
}

body.ian-hirayama header{
  background: #4D6762;
  transform: none !important;
}
body.index main #chapter1.top .chapter-header {
  top: 170px;
}

body.index main #chapter2.top .chapter-header {
  top: 206px;
}
body.index main #chapter3.top .chapter-header {
  top: 242px;
}
body.index main #chapter4.top .chapter-header {
  top: 278px;
}
@media only screen and (max-width: 767px) {
  body.ian-hirayama .wrap{
    padding: 0 18px;
  }
  .header:not(.open){
    height: 52px !important;
  }
  #alv-header{
    top: 52px;
  }
  body.index main #chapter1.top .chapter-header {
    top: 132px;
  }
  body.index main #chapter2.top .chapter-header {
    top: 166px;
  }
  body.index main #chapter3.top .chapter-header {
    top: 202px;
  }
  body.index main #chapter4.top .chapter-header {
    top: 238px;
  }
}

@media only screen and (min-width: 768px){
  body.index main .chapter .inner .item-cont .item.center{
    margin-left: 24%;
  }
  body.index main .chapter .inner .item-cont{
    position: relative;
  }
  body.index main .chapter .inner .item-cont .item.right {
    position: absolute;
    top: 40px;
    right: 0;
  }
}
@media only screen and (max-width: 767px){
  body.index main .chapter .inner .jp-sub{
    margin-top: 60px;
  }
  body.index main .chapter .inner h2 {
    font-size: 4.5rem;
  }
}
