@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
:root {
  --u: 1px; }
  @media screen and (max-width: 768px) {
    :root {
      --u: calc(100vw / 480); } }

body {
  background: url(../images/bg.png);
  position: relative;
  font-size: calc(16 * var(--u)); }
  @media screen and (max-width: 768px) {
    body {
      overflow-x: hidden; } }

#container {
  position: relative;
  width: calc(480 * var(--u));
  background: #e4daeb;
  margin: auto; }
  @media screen and (max-width: 768px) {
    #container {
      overflow-x: clip; } }

#container .inner {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal; }

body.menu-open {
  overflow: hidden; }

#menu-btn {
  position: fixed;
  top: calc(8 * var(--u));
  right: max(calc(8 * var(--u)), calc(50% - calc(232 * var(--u))));
  z-index: 101;
  width: calc(44 * var(--u));
  height: calc(44 * var(--u));
  border: none;
  background: none;
  cursor: pointer;
  padding: 0; }
  #menu-btn span {
    position: absolute;
    right: calc(5 * var(--u));
    width: calc(34 * var(--u));
    height: calc(3 * var(--u));
    background: #000;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    #menu-btn span:nth-child(1) {
      top: calc(8 * var(--u)); }
    #menu-btn span:nth-child(2) {
      top: calc(20 * var(--u)); }
    #menu-btn span:nth-child(3) {
      top: calc(32 * var(--u)); }
  #menu-btn.close span {
    background: #fff; }
    #menu-btn.close span:nth-child(1) {
      top: calc(20 * var(--u));
      width: calc(34 * var(--u));
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    #menu-btn.close span:nth-child(2) {
      opacity: 0; }
    #menu-btn.close span:nth-child(3) {
      top: calc(20 * var(--u));
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }

#menu {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 100;
  width: calc(480 * var(--u));
  max-width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background: rgba(78, 31, 129, 0.96);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  #menu.active {
    opacity: 1;
    visibility: visible; }
  #menu .menu-inner {
    width: 85%;
    margin: auto;
    padding: calc(80 * var(--u)) 0 calc(60 * var(--u)); }
  #menu dl {
    margin-bottom: calc(40 * var(--u)); }
    #menu dl dt {
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: -0.05em;
      font-size: calc(28 * var(--u));
      font-weight: bold;
      color: #fffbcd;
      letter-spacing: 0.05em;
      margin-bottom: calc(10 * var(--u)); }
    #menu dl dd li {
      border-bottom: solid calc(1 * var(--u)) rgba(255, 255, 255, 0.3); }
      #menu dl dd li a {
        position: relative;
        display: block;
        padding: calc(14 * var(--u)) calc(30 * var(--u)) calc(14 * var(--u)) 0;
        color: #fff;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: -0.05em;
        font-size: calc(16 * var(--u));
        font-weight: bold;
        text-decoration: none;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear; }
        #menu dl dd li a:hover {
          opacity: 0.7; }
        #menu dl dd li a:after {
          content: "";
          position: absolute;
          right: calc(8 * var(--u));
          top: 50%;
          width: calc(8 * var(--u));
          height: calc(8 * var(--u));
          border-top: solid calc(2 * var(--u)) #fff;
          border-right: solid calc(2 * var(--u)) #fff;
          -webkit-transform: translateY(-50%) rotate(45deg);
          -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg); }

header {
  height: calc(60 * var(--u));
  background: #fff; }
  header .logo {
    height: 100%; }
    header .logo a {
      height: 100%; }
      header .logo a img {
        height: 100%; }

#kv .kv {
  background: url(../images/kv-bg.jpg) center top/100% no-repeat; }
  #kv .kv h1 {
    padding-top: calc(110 * var(--u));
    position: relative;
    z-index: 1; }

#kv #lead {
  background: #e4daeb;
  border-left: solid calc(15 * var(--u)) #4e1f81;
  border-right: solid calc(15 * var(--u)) #4e1f81;
  padding-top: calc(100 * var(--u));
  padding-bottom: calc(100 * var(--u));
  margin-top: calc(-100 * var(--u)); }
  #kv #lead .lead {
    text-align: center;
    background: url(../images/lead-bg.png) center top calc(100 * var(--u)) / 100% no-repeat;
    margin-bottom: calc(40 * var(--u));
    margin-top: calc(-20 * var(--u)); }
    #kv #lead .lead .sakura img {
      width: 70%; }
    #kv #lead .lead h2 {
      text-align: center;
      margin-bottom: calc(10 * var(--u)); }
      #kv #lead .lead h2 img {
        width: 80%; }
    #kv #lead .lead p {
      font-size: calc(17.5 * var(--u));
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: -0.05em;
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      width: 80%;
      margin: auto;
      font-weight: 500;
      margin-bottom: calc(10 * var(--u)); }
      #kv #lead .lead p strong {
        color: #4e1f81;
        font-weight: 700;
        font-size: calc(21 * var(--u));
        font-family: inherit; }
    #kv #lead .lead a {
      overflow: hidden;
      display: block;
      overflow: visible; }
      #kv #lead .lead a img {
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear; }
      #kv #lead .lead a:hover img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
  #kv #lead .check {
    width: 85%;
    margin: auto; }
    #kv #lead .check h2 {
      margin-bottom: calc(10 * var(--u)); }
    #kv #lead .check a {
      display: block;
      text-align: center;
      overflow: hidden;
      overflow: visible; }
      #kv #lead .check a img {
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear; }
      #kv #lead .check a:hover img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
      #kv #lead .check a img {
        width: 80%; }

main {
  background: #fffbcd;
  position: relative; }
  main .main-bg {
    overflow: hidden; }
    main .main-bg img {
      width: 100.5%;
      max-width: initial; }
      @media screen and (max-width: 768px) {
        main .main-bg img {
          width: 105%;
          margin-left: -2%; } }
    main .main-bg.bg-top {
      -webkit-transform: translateY(-97%);
      -ms-transform: translateY(-97%);
      transform: translateY(-97%); }
    main .main-bg.bg-bottom {
      -webkit-transform: translateY(97%);
      -ms-transform: translateY(97%);
      transform: translateY(97%); }
  main .separator {
    width: 85%;
    margin: calc(30 * var(--u)) auto;
    background: url(../images/main-sepalator.png) center center/cover no-repeat;
    height: calc(7 * var(--u)); }

#theme {
  position: relative;
  background: url(../images/theme-bg-light.svg) left top/80% no-repeat;
  padding-bottom: calc(20 * var(--u)); }
  #theme figure.grass {
    position: absolute;
    right: 0;
    top: calc(-73 * var(--u));
    width: 39%;
    z-index: 2; }
  #theme .inner h2 {
    padding-top: calc(50 * var(--u));
    margin-bottom: calc(20 * var(--u)); }
    #theme .inner h2 img {
      width: 80%; }
  #theme .inner p {
    font-size: calc(19 * var(--u));
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.05em;
    font-weight: 500;
    margin-bottom: 1em; }
  #theme .inner ul {
    display: -webkit-flex;
    -webkit-justify-content: space-between;
    -webkit-align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: calc(50 * var(--u)); }
    #theme .inner ul li {
      width: 48%;
      margin-bottom: calc(50 * var(--u)); }
      #theme .inner ul li a {
        position: relative;
        display: block;
        overflow: hidden;
        overflow: visible; }
        #theme .inner ul li a img {
          -webkit-transition: all 0.2s linear;
          -o-transition: all 0.2s linear;
          transition: all 0.2s linear; }
        #theme .inner ul li a:hover img {
          -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
          transform: scale(1.1); }
        #theme .inner ul li a img {
          width: 100%;
          -webkit-filter: drop-shadow(calc(3 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u)) rgba(60, 31, 110, 0.2));
          filter: drop-shadow(calc(3 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u)) rgba(60, 31, 110, 0.2)); }
      #theme .inner ul li figure {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        -webkit-transform: translateY(-55%);
        -ms-transform: translateY(-55%);
        transform: translateY(-55%);
        pointer-events: none; }
        #theme .inner ul li figure img {
          width: 100%;
          -webkit-transform: scale(1) !important;
          -ms-transform: scale(1) !important;
          transform: scale(1) !important; }
  #theme .inner .note {
    display: -webkit-flex;
    -webkit-justify-content: space-between;
    -webkit-align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
    #theme .inner .note figure img {
      width: calc(17 * var(--u)); }
    #theme .inner .note > div {
      display: -webkit-flex;
      -webkit-justify-content: flex-start;
      -webkit-align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      background: #fff; }
      #theme .inner .note > div dl dt {
        font-size: calc(12 * var(--u));
        font-weight: bold;
        margin-bottom: 0.5em; }
      #theme .inner .note > div dl dd {
        font-size: calc(12 * var(--u));
        line-height: 1.2em; }

#link-theme {
  height: 0;
  margin-bottom: calc(20 * var(--u)); }
  #link-theme a {
    position: absolute;
    right: 0;
    z-index: 20;
    display: block;
    width: calc(140 * var(--u));
    height: calc(40.6 * var(--u)); }
    #link-theme a img {
      display: block;
      width: 100%; }
  #link-theme.is-fixed a {
    position: fixed;
    top: auto;
    bottom: calc(20 * var(--u));
    right: calc(50% - calc(240 * var(--u))); }
  #link-theme.is-end a {
    top: auto;
    bottom: calc(20 * var(--u)); }

section.theme {
  margin-bottom: calc(50 * var(--u)); }
  section.theme .section-wrapper {
    border: solid calc(1 * var(--u)) #4e1f81; }
  section.theme .theme-bg-top img {
    width: 100%; }
  section.theme .theme-inner {
    background-size: 100% auto;
    background-position: center top;
    padding-bottom: calc(1 * var(--u)); }
    section.theme .theme-inner h2 {
      width: 80%;
      -webkit-transform: translate(calc(-20 * var(--u)), calc(-30 * var(--u)));
      -ms-transform: translate(calc(-20 * var(--u)), calc(-30 * var(--u)));
      transform: translate(calc(-20 * var(--u)), calc(-30 * var(--u)));
      display: block; }
    section.theme .theme-inner .theme-content .lead {
      margin-bottom: calc(30 * var(--u));
      padding-left: 5%;
      padding-right: 5%;
      margin-top: calc(-20 * var(--u)); }
      section.theme .theme-inner .theme-content .lead p {
        display: -webkit-flex;
        -webkit-justify-content: flex-start;
        -webkit-align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        color: #4e1f81;
        font-weight: bold;
        font-size: calc(22 * var(--u));
        margin-bottom: 0.2em; }
        section.theme .theme-inner .theme-content .lead p span {
          display: block;
          border-bottom: solid calc(2 * var(--u)) #4e1f81;
          margin-bottom: 0.6em;
          padding-bottom: 0.3em;
          font-family: "Zen Maru Gothic", sans-serif;
          font-weight: 400;
          font-style: normal;
          letter-spacing: -0.05em;
          font-weight: 700; }
      section.theme .theme-inner .theme-content .lead .note {
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: -0.05em;
        font-size: calc(13 * var(--u)); }
    section.theme .theme-inner .theme-content .qa-wrapper {
      margin-bottom: calc(40 * var(--u)); }
      section.theme .theme-inner .theme-content .qa-wrapper .qa {
        position: relative; }
        section.theme .theme-inner .theme-content .qa-wrapper .qa dl dt img, section.theme .theme-inner .theme-content .qa-wrapper .qa dl dd img {
          width: 100%; }
        section.theme .theme-inner .theme-content .qa-wrapper .qa p {
          display: -webkit-flex;
          -webkit-justify-content: flex-start;
          -webkit-align-items: flex-start;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start;
          -webkit-box-align: start;
          -ms-flex-align: start;
          align-items: flex-start;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          color: #000;
          font-size: calc(16 * var(--u));
          margin-bottom: 0.2em;
          padding-top: 1em;
          font-weight: 700; }
          section.theme .theme-inner .theme-content .qa-wrapper .qa p span {
            display: block;
            border-bottom: solid calc(2 * var(--u)) #000;
            margin-bottom: 0.6em;
            padding-bottom: 0.3em;
            font-family: "Zen Maru Gothic", sans-serif;
            font-weight: 400;
            font-style: normal;
            letter-spacing: -0.05em;
            font-weight: bold;
            font-size: inherit; }
        section.theme .theme-inner .theme-content .qa-wrapper .qa figure {
          position: absolute; }
    section.theme .theme-inner .theme-content .interview-wrapper {
      position: relative; }
      section.theme .theme-inner .theme-content .interview-wrapper h3 {
        background: var(--theme-color);
        width: 80%;
        border-radius: 0 calc(100 * var(--u)) calc(100 * var(--u)) 0;
        padding: calc(10 * var(--u)) 0 calc(10 * var(--u)) calc(50 * var(--u));
        margin-bottom: calc(60 * var(--u)); }
        section.theme .theme-inner .theme-content .interview-wrapper h3 img {
          width: 80%; }
      section.theme .theme-inner .theme-content .interview-wrapper .mic {
        position: absolute;
        top: calc(-55 * var(--u));
        left: calc(-40 * var(--u));
        width: 30%;
        z-index: 1;
        pointer-events: none; }
      section.theme .theme-inner .theme-content .interview-wrapper .interview-list li {
        margin-bottom: calc(30 * var(--u)); }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li:last-child {
          margin-bottom: calc(40 * var(--u)); }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li > a {
          position: relative;
          display: block; }
          section.theme .theme-inner .theme-content .interview-wrapper .interview-list li > a:hover .card {
            -webkit-transform: scale(1.05) rotate(-5deg);
            -ms-transform: scale(1.05) rotate(-5deg);
            transform: scale(1.05) rotate(-5deg); }
          section.theme .theme-inner .theme-content .interview-wrapper .interview-list li > a:hover .link img {
            -webkit-transform: scale(1.1);
            -ms-transform: scale(1.1);
            transform: scale(1.1); }
          section.theme .theme-inner .theme-content .interview-wrapper .interview-list li > a:hover .photo {
            -webkit-transform: rotate(5deg);
            -ms-transform: rotate(5deg);
            transform: rotate(5deg); }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li img {
          display: block;
          width: 100%; }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li .card {
          width: 100%;
          -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
          -o-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
          transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000); }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li .photo {
          position: absolute;
          top: -8%;
          right: -7%;
          width: 55%;
          -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
          -o-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
          transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000); }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li .link {
          position: absolute;
          top: calc(45 * var(--u));
          left: 5%;
          width: 47%; }
          section.theme .theme-inner .theme-content .interview-wrapper .interview-list li .link img {
            -webkit-transition: all 0.2s linear;
            -o-transition: all 0.2s linear;
            transition: all 0.2s linear; }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li:nth-child(even) .photo {
          right: auto;
          left: -6%;
          width: 54%; }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li:nth-child(even) .link {
          left: 48%; }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li:nth-child(even) > a:hover .card {
          -webkit-transform: scale(1.05) rotate(5deg);
          -ms-transform: scale(1.05) rotate(5deg);
          transform: scale(1.05) rotate(5deg); }
        section.theme .theme-inner .theme-content .interview-wrapper .interview-list li:nth-child(even) > a:hover .photo {
          -webkit-transform: rotate(-5deg);
          -ms-transform: rotate(-5deg);
          transform: rotate(-5deg); }

#theme1-ippan {
  --theme-color: #f17864; }
  #theme1-ippan .theme-inner {
    background-image: url(../images/theme1-bg.png); }
    #theme1-ippan .theme-inner .theme-content .qa-wrapper .qa p span {
      border-color: #f27864; }
    #theme1-ippan .theme-inner .theme-content .qa-wrapper .qa + .qa {
      margin-top: calc(30 * var(--u)); }
    #theme1-ippan .theme-inner .theme-content .qa-wrapper .qa p {
      padding-left: 2em; }
    #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q1 {
      background: url(../images/theme1-q1-bg.svg) center bottom/100% auto no-repeat;
      padding-bottom: calc(40 * var(--u)); }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q1 figure {
        width: 20%;
        top: calc(-80 * var(--u));
        right: calc(-20 * var(--u)); }
    #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q2 {
      background: url(../images/theme1-q2-bg.svg) center bottom/100% auto no-repeat; }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q2 dl dt {
        margin-bottom: calc(20 * var(--u)); }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q2 figure {
        width: 38%;
        top: calc(40 * var(--u));
        left: calc(-55 * var(--u)); }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q2 p {
        padding-left: 3.5em;
        padding-top: 1.5em; }
    #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q3 {
      background: url(../images/theme1-q3-bg.svg) center bottom/100% auto no-repeat; }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q3 dl dt {
        margin-bottom: calc(20 * var(--u)); }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q3 figure {
        width: 30%;
        top: calc(76 * var(--u));
        right: calc(15 * var(--u)); }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q3 p {
        padding-left: 3.5em;
        padding-top: 1.5em; }
    #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q4 {
      background: url(../images/theme1-q4-bg.svg) right bottom/95% auto no-repeat;
      padding-bottom: calc(40 * var(--u)); }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q4 figure {
        width: 23%;
        top: calc(45 * var(--u));
        left: calc(-20 * var(--u)); }
      #theme1-ippan .theme-inner .theme-content .qa-wrapper #theme1-q4 p {
        padding-left: 3.5em;
        padding-top: 1.5em; }

#theme2-tokubetsu {
  --theme-color: #46b4be; }
  #theme2-tokubetsu .theme-inner {
    background-image: url(../images/theme2-bg.png); }
    #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper .qa p {
      padding-left: 2em; }
      #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper .qa p span {
        border-color: #46b4be; }
    #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper .qa + .qa {
      margin-top: calc(30 * var(--u)); }
    #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper #theme2-q1 {
      background: url(../images/theme2-q1-bg.svg) center bottom/100% auto no-repeat;
      padding-bottom: calc(40 * var(--u)); }
      #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper #theme2-q1 figure {
        width: 20%;
        top: calc(-80 * var(--u));
        right: calc(-20 * var(--u)); }
    #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper #theme2-q2 {
      background: url(../images/theme2-q2-bg.svg) center bottom/100% auto no-repeat;
      padding-bottom: calc(40 * var(--u)); }
      #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper #theme2-q2 dl dt {
        margin-bottom: calc(20 * var(--u)); }
      #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper #theme2-q2 figure {
        width: 38%;
        top: calc(40 * var(--u));
        left: calc(-55 * var(--u)); }
      #theme2-tokubetsu .theme-inner .theme-content .qa-wrapper #theme2-q2 p {
        padding-left: 3.5em;
        padding-top: 1.5em; }

#theme3-kurashi {
  --theme-color: #e178af; }
  #theme3-kurashi .theme-inner {
    background-image: url(../images/theme3-bg.png); }
    #theme3-kurashi .theme-inner .theme-content .qa-wrapper .qa {
      padding-bottom: calc(40 * var(--u)); }
      #theme3-kurashi .theme-inner .theme-content .qa-wrapper .qa p {
        padding-left: 2em; }
        #theme3-kurashi .theme-inner .theme-content .qa-wrapper .qa p span {
          border-color: #e178af; }
      #theme3-kurashi .theme-inner .theme-content .qa-wrapper .qa + .qa {
        margin-top: calc(30 * var(--u)); }
    #theme3-kurashi .theme-inner .theme-content .qa-wrapper #theme3-q1 {
      background: url(../images/theme3-q1-bg.svg) center bottom/100% auto no-repeat;
      padding-bottom: calc(60 * var(--u)); }
      #theme3-kurashi .theme-inner .theme-content .qa-wrapper #theme3-q1 figure {
        width: 38%;
        top: calc(-30 * var(--u));
        right: calc(-29 * var(--u)); }
      #theme3-kurashi .theme-inner .theme-content .qa-wrapper #theme3-q1 p {
        padding-left: 3em;
        padding-top: 1.5em; }
    #theme3-kurashi .theme-inner .theme-content .qa-wrapper #theme3-q2 {
      background: url(../images/theme3-q2-bg.svg) center bottom/100% auto no-repeat; }
      #theme3-kurashi .theme-inner .theme-content .qa-wrapper #theme3-q2 figure.figure1 {
        width: 25%;
        top: calc(25 * var(--u));
        right: calc(-20 * var(--u)); }
      #theme3-kurashi .theme-inner .theme-content .qa-wrapper #theme3-q2 figure.figure2 {
        width: 22%;
        top: calc(85 * var(--u));
        left: calc(15 * var(--u)); }
      #theme3-kurashi .theme-inner .theme-content .qa-wrapper #theme3-q2 p {
        padding-top: 1.5em;
        padding-left: 3em; }
    #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special {
      margin-bottom: calc(40 * var(--u)); }
      #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special a {
        position: relative;
        display: block;
        aspect-ratio: 316.7 / 308.4;
        background: url(../images/theme3-interview-bg.svg) left top/95% auto no-repeat; }
        #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special a:hover .link img {
          -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
          transform: scale(1.1); }
        #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special a:hover .image {
          -webkit-transform: scale(1.05);
          -ms-transform: scale(1.05);
          transform: scale(1.05); }
      #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special img {
        display: block;
        width: 100%; }
      #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special .image {
        position: absolute;
        top: -8%;
        left: -5%;
        width: 110%;
        pointer-events: none;
        -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        -o-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000); }
      #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special .title {
        position: absolute;
        top: 10%;
        left: 50%;
        width: 55%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
      #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special .link {
        position: absolute;
        top: 46%;
        left: 50%;
        width: 65%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
        #theme3-kurashi .theme-inner .theme-content .interview-wrapper .interview-special .link img {
          -webkit-transition: all 0.2s linear;
          -o-transition: all 0.2s linear;
          transition: all 0.2s linear;
          -webkit-filter: drop-shadow(calc(3 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u)) rgba(60, 31, 110, 0.2));
          filter: drop-shadow(calc(3 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u)) rgba(60, 31, 110, 0.2)); }

#theme4-ryugaku {
  --theme-color: #e1b400; }
  #theme4-ryugaku .theme-inner {
    background-image: url(../images/theme4-bg.png); }
    #theme4-ryugaku .theme-inner h2 {
      width: 55%; }
    #theme4-ryugaku .theme-inner .theme-content .qa-wrapper .qa {
      padding-bottom: calc(40 * var(--u)); }
      #theme4-ryugaku .theme-inner .theme-content .qa-wrapper .qa dl dt {
        margin-bottom: calc(20 * var(--u)); }
      #theme4-ryugaku .theme-inner .theme-content .qa-wrapper .qa p {
        padding-left: 2em; }
        #theme4-ryugaku .theme-inner .theme-content .qa-wrapper .qa p span {
          border-color: #e1b400; }
    #theme4-ryugaku .theme-inner .theme-content .qa-wrapper #theme4-q1 {
      background: url(../images/theme4-q1-bg.svg) left bottom/96% auto no-repeat;
      padding-bottom: calc(50 * var(--u)); }
      #theme4-ryugaku .theme-inner .theme-content .qa-wrapper #theme4-q1 figure.figure1 {
        width: 23%;
        top: calc(90 * var(--u));
        right: calc(-10 * var(--u)); }
      #theme4-ryugaku .theme-inner .theme-content .qa-wrapper #theme4-q1 figure.figure2 {
        width: 19%;
        top: calc(330 * var(--u));
        left: calc(-5 * var(--u)); }
      #theme4-ryugaku .theme-inner .theme-content .qa-wrapper #theme4-q1 p {
        padding-top: 1.5em; }
    #theme4-ryugaku .theme-inner .theme-content .qa-wrapper #theme4-q2 {
      background: url(../images/theme4-q2-bg.svg) right bottom/100% auto no-repeat;
      padding-top: calc(50 * var(--u));
      padding-bottom: calc(50 * var(--u));
      margin-top: calc(-30 * var(--u)); }

#theme5-campus {
  --theme-color: #6596eb; }
  #theme5-campus .theme-inner {
    background-image: url(../images/theme5-bg.png); }
    #theme5-campus .theme-inner h2 {
      width: 95%; }
    #theme5-campus .theme-inner .theme-content .qa-wrapper .qa {
      padding-bottom: calc(40 * var(--u)); }
      #theme5-campus .theme-inner .theme-content .qa-wrapper .qa dl {
        margin-bottom: calc(10 * var(--u)); }
        #theme5-campus .theme-inner .theme-content .qa-wrapper .qa dl dt {
          margin-bottom: calc(20 * var(--u)); }
      #theme5-campus .theme-inner .theme-content .qa-wrapper .qa p {
        padding-left: 2em; }
        #theme5-campus .theme-inner .theme-content .qa-wrapper .qa p span {
          border-color: #6596eb; }
    #theme5-campus .theme-inner .theme-content .qa-wrapper #theme5-q1 {
      background: url(../images/theme5-q1-bg.svg) center bottom/100% auto no-repeat; }
      #theme5-campus .theme-inner .theme-content .qa-wrapper #theme5-q1 figure.figure1 {
        width: 25%;
        top: calc(75 * var(--u));
        left: calc(-45 * var(--u)); }
      #theme5-campus .theme-inner .theme-content .qa-wrapper #theme5-q1 figure.figure2 {
        width: 35%;
        top: calc(-45 * var(--u));
        right: calc(-5 * var(--u)); }
      #theme5-campus .theme-inner .theme-content .qa-wrapper #theme5-q1 figure.figure3 {
        width: 20%;
        top: calc(165 * var(--u));
        right: 0; }

#theme6-message {
  --theme-color: #1eb464; }
  #theme6-message .theme-inner {
    background-image: url(../images/theme6-bg.png); }
    #theme6-message .theme-inner .theme-content .lead {
      position: relative; }
      #theme6-message .theme-inner .theme-content .lead figure {
        position: absolute;
        top: calc(30 * var(--u));
        right: calc(-25 * var(--u));
        width: 37%;
        pointer-events: none; }
    #theme6-message .theme-inner .theme-content .message-list {
      padding-bottom: calc(40 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li img {
        display: block;
        width: 100%; }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(2) {
        margin-top: calc(-10 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(3) {
        margin-top: calc(-10 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(4) {
        margin-top: calc(-40 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(5) {
        margin-top: calc(-20 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(6) {
        margin-top: calc(-20 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(7) {
        margin-top: calc(-20 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(8) {
        margin-top: calc(10 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(9) {
        margin-top: calc(-30 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(10) {
        margin-top: calc(-10 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(11) {
        margin-top: calc(0 * var(--u)); }
      #theme6-message .theme-inner .theme-content .message-list li:nth-child(12) {
        margin-top: calc(10 * var(--u)); }

#bottom {
  padding-top: calc(80 * var(--u));
  padding-bottom: calc(10 * var(--u));
  position: relative; }
  #bottom .bottom-sakura {
    position: absolute;
    left: 0;
    top: calc(-30 * var(--u));
    width: 100%; }
    #bottom .bottom-sakura img {
      width: 100%; }
  #bottom ul {
    position: relative;
    z-index: 2; }
    #bottom ul li {
      margin-bottom: calc(50 * var(--u)); }
      #bottom ul li a {
        display: block;
        position: relative;
        overflow: hidden;
        overflow: visible; }
        #bottom ul li a img {
          -webkit-transition: all 0.2s linear;
          -o-transition: all 0.2s linear;
          transition: all 0.2s linear; }
        #bottom ul li a:hover img {
          -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
          transform: scale(1.1); }
        #bottom ul li a img {
          width: 100%;
          -webkit-filter: drop-shadow(calc(3 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u)) rgba(60, 31, 110, 0.2));
          filter: drop-shadow(calc(3 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u)) rgba(60, 31, 110, 0.2)); }
        #bottom ul li a figure {
          width: 18%;
          position: absolute;
          left: calc(20 * var(--u));
          bottom: calc(20 * var(--u)); }

footer {
  background: #fff;
  text-align: center;
  padding: calc(20 * var(--u)) 0; }
  footer > img {
    width: 50%;
    margin-bottom: calc(10 * var(--u)); }
  footer .copyright {
    font-size: calc(12 * var(--u)); }

#pc-side {
  position: fixed;
  right: calc(50% + 260px);
  top: 0;
  z-index: 10;
  max-width: 340px;
  width: calc(100% - 600px);
  height: 100%;
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (max-width: 768px) {
    #pc-side {
      display: none; } }
  #pc-side ul li a {
    -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    -o-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000); }
    #pc-side ul li a:hover {
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1); }
  #pc-side ul li:nth-child(1) a {
    display: block; }
    #pc-side ul li:nth-child(1) a img {
      width: 40%; }
  #pc-side ul li:nth-child(2) {
    margin-top: -50px; }
    #pc-side ul li:nth-child(2) a {
      display: block;
      text-align: right; }
      #pc-side ul li:nth-child(2) a img {
        width: 70%; }
  #pc-side ul li:nth-child(3) {
    background: url(../images/pc-side-figure.svg) right 5% top/20% no-repeat; }
    #pc-side ul li:nth-child(3) a {
      display: block; }
      #pc-side ul li:nth-child(3) a img {
        width: 70%; }

#pc-nav {
  position: fixed;
  top: 50px;
  right: 0;
  z-index: 10;
  width: calc(50% - 280px);
  max-width: 300px; }
  @media screen and (max-width: 768px) {
    #pc-nav {
      display: none; } }
  #pc-nav h2 {
    width: 42%;
    margin: 0 0 5px 3px;
    padding-left: 10px; }
    #pc-nav h2 img {
      display: block;
      width: 100%; }
  #pc-nav ul li a {
    display: block;
    -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    -o-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1.000); }
    #pc-nav ul li a img {
      display: block;
      width: 100%; }
    #pc-nav ul li a:hover {
      -webkit-transform: translateX(-10px);
      -ms-transform: translateX(-10px);
      transform: translateX(-10px); }
