@charset "UTF-8";
/*=====================================================
*
*	style.css
*   Since 2020.10.15
*
* 1= tags define
* 2= font setting
*	3= common module
*	4= structure module
*	5= page module
*
========================================================*/
/*	1= tags define
-----------------------------------------------------*/
* {
  text-align: justify; }

html {
  font-size: 62.5%; }

body {
  background: url("../images/bg.jpg") repeat-y #90b821;
  background-size: 100% auto;
  text-align: center; }

img {
  display: block; }
  @media only screen and (max-width: 768px) {
    img {
      max-width: 100%; } }

/*	2= font setting
-----------------------------------------------------*/
/* base font size */
body {
  font-size: 1.8rem;
  line-height: 1.888;
  text-size-adjust: none;
  -webkit-text-size-adjust: 100%;
  font-family: 'Kosugi Maru', "游ゴシック", 'YuGothic', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", 'Roboto', 'Osaka', "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", sans-serif;
  font-weight: normal;
  color: #1a1006;
  font-feature-settings: "palt"; }
  @media only screen and (max-width: 768px) {
    body {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.7; } }

/*	3= common module
-----------------------------------------------------*/
/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both; }

a {
  color: #90b821;
  text-decoration: none; }

a:hover {
  text-decoration: none; }

/*	4= structure module
-----------------------------------------------------*/
@media only screen and (max-width: 768px) {
  #wrapper {
    width: 100%;
    overflow: hidden; } }

header {
  height: 768px; }
  @media only screen and (max-width: 768px) {
    header {
      height: auto; } }
  header #header-belt {
    background: #fff;
    border-bottom: 7px solid #90b821;
    padding: 16px 0 0 40px;
    height: 139px; }
    header #header-belt h1 {
      content: url("../images/meiku_logo.svg");
      display: block;
      width: 635px;
      height: 102px; }
    @media only screen and (max-width: 768px) {
      header #header-belt {
        height: auto;
        border-bottom: 3px solid #90b821;
        padding: 6px 0 6px 10px; }
        header #header-belt h1 {
          width: 248.8268px;
          height: 40px; } }
  header #main-visual {
    width: 100%;
    height: 629px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      header #main-visual {
        height: 50vw; } }
    header #main-visual .mv-bg {
      content: url("../images/main_visual_bg.jpg");
      position: absolute;
      left: 0;
      top: 0;
      width: 110.3125%; }
      @media only screen and (min-width: 769px) {
        header #main-visual .mv-bg.fixW {
          width: 1059px !important; } }
      @media only screen and (max-width: 768px) {
        header #main-visual .mv-bg {
          width: 100%; } }
    header #main-visual .main-catch {
      display: block;
      content: url("../images/title2.svg");
      width: 59.218vw;
      height: 27.343vw;
      min-width: 688px;
      min-height: 324px;
      max-width: 758px;
      max-height: 350px;
      filter: drop-shadow(0px 0px 10px rgba(75, 34, 30, 0.5));
      margin-right: 2%;
      margin-top: -100px; }
      @media only screen and (max-width: 768px) {
        header #main-visual .main-catch {
          min-width: inherit;
          min-height: inherit;
          width: 55vw;
          height: 25.8418vw;
          margin-top: -3vw;
          margin-right: 4%; } }
    header #main-visual .sub-catch {
      display: block;
      position: absolute;
      right: 4.0625%;
      top: 4.5%;
      content: url("../images/title3.svg");
      width: 63.203vw;
      height: 1.718vw;
      filter: drop-shadow(0px 0px 10px rgba(75, 34, 30, 0.5));
      min-width: 300px;
      min-height: 8px; }
      @media only screen and (max-width: 768px) {
        header #main-visual .sub-catch {
          min-width: inherit;
          min-height: inherit;
          content: url("../images/title3_sp.svg");
          width: 60vw;
          height: 6.87499vw;
          right: 6%; } }
    header #main-visual .main-ttl {
      position: absolute;
      bottom: 60px;
      left: 0;
      width: 100%;
      height: 76px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #1a1006; }
      header #main-visual .main-ttl:before, header #main-visual .main-ttl:after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        position: absolute;
        left: 0;
        background-size: 10px 2px;
        background-image: linear-gradient(to right, #fff, #fff 5px, transparent 5px, transparent 10px);
        background-repeat: repeat-x; }
      header #main-visual .main-ttl:before {
        top: 6px; }
      header #main-visual .main-ttl:after {
        bottom: 6px; }
      header #main-visual .main-ttl img {
        max-width: 813px;
        height: auto;
        width: 63.593%; }
      @media only screen and (max-width: 768px) {
        header #main-visual .main-ttl {
          bottom: 5%;
          height: 17%; }
          header #main-visual .main-ttl:before, header #main-visual .main-ttl:after {
            height: 1px;
            background-size: 4px 1px;
            background-image: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 4px);
            background-repeat: repeat-x; }
          header #main-visual .main-ttl:before {
            top: 2px; }
          header #main-visual .main-ttl:after {
            bottom: 2px; } }
  header .opened {
    position: absolute;
    right: 22px;
    bottom: -16px;
    content: url("../images/open.svg");
    width: 15.39vw;
    height: auto;
    max-width: 197px;
    transform: rotate(15deg); }
    @media only screen and (max-width: 768px) {
      header .opened {
        right: 6px;
        bottom: -6px; } }

footer {
  padding: 25px 30px 12px;
  background: #1a1006;
  margin-top: 40px; }
  @media only screen and (max-width: 420px) {
    footer {
      padding: 10px 15px 12px; } }
  footer:before {
    display: block;
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    top: 5px;
    background-size: 10px 2px;
    background-image: linear-gradient(to right, #fff, #fff 5px, transparent 5px, transparent 10px);
    background-repeat: repeat-x; }
  footer .links {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    max-width: 1280px;
    justify-content: space-between;
    align-content: flex-start;
    margin: auto; }
    @media only screen and (max-width: 420px) {
      footer .links {
        display: block; } }
    footer .links .link {
      width: calc((100% - 30px) / 2);
      display: flex;
      flex-flow: column nowrap; }
      @media only screen and (max-width: 420px) {
        footer .links .link {
          width: 100%;
          margin-top: 10px; } }
      footer .links .link .foot-ttl {
        color: #fff;
        font-weight: bold;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 0 0 8px 18px; }
        @media only screen and (max-width: 420px) {
          footer .links .link .foot-ttl {
            font-size: 13px;
            font-size: 1.3rem; } }
        footer .links .link .foot-ttl:before {
          position: absolute;
          left: 0;
          top: 2px;
          display: block;
          content: url("../images/foot_arrow.svg");
          width: 13px;
          height: 13.8px;
          margin-right: 0.5em; }
      footer .links .link > div {
        flex: 1;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        background: #fff;
        padding: 10px; }
        @media only screen and (max-width: 420px) {
          footer .links .link > div {
            flex-flow: column wrap; } }
        footer .links .link > div > a {
          flex: 1; }
        footer .links .link > div p {
          flex: 1;
          padding-left: 15px;
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 1.666;
          white-space: nowrap; }
        footer .links .link > div span {
          display: block;
          width: 1px;
          height: 100%;
          background: #434343; }
          @media only screen and (max-width: 420px) {
            footer .links .link > div span {
              width: 100%;
              height: 1px;
              margin: 10px 0; } }
      footer .links .link.brnd a {
        color: #1a1006;
        padding-right: 10px; }
      footer .links .link.brnd img {
        max-width: 331px;
        width: 100%;
        height: auto; }
      footer .links .link.meiku div p {
        font-size: 13px;
        font-size: 1.3rem; }
        footer .links .link.meiku div p a {
          font-weight: bold; }
      footer .links .link.meiku div > a {
        padding: 0 10px 0 5px; }
      footer .links .link.meiku img {
        max-width: 285x;
        width: 100%;
        height: auto; }
  footer p.copy {
    display: block;
    text-align: center;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    padding-top: 0.6em; }

/*	5= page module
-----------------------------------------------------*/
.note {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.428;
  margin-left: 1em;
  text-indent: -1em;
  font-weight: normal; }
  @media only screen and (max-width: 768px) {
    .note {
      font-size: 12px;
      font-size: 1.2rem; } }

.cap {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: normal;
  padding-left: 1.2em; }
  .cap:before {
    position: absolute;
    left: 0;
    top: 0.35em;
    display: block;
    content: "";
    width: 9px;
    height: 9px;
    background: #90b821; }

.col2 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start; }
  .col2 > div, .col2 > p {
    width: calc((100% - 40px) / 2); }
  @media only screen and (max-width: 768px) {
    .col2:not(.tb-ignore) {
      display: block; }
      .col2:not(.tb-ignore) > div, .col2:not(.tb-ignore) > p {
        width: 100%;
        margin-top: 20px; } }
  @media only screen and (max-width: 420px) {
    .col2 {
      display: block; }
      .col2 > div, .col2 > p {
        width: 100%;
        margin-top: 20px; } }

.col1-2 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start; }
  .col1-2 > div:first-child, .col1-2 > p:first-child {
    width: calc((100% - (40px * 2)) / 3); }
  .col1-2 > div:last-child, .col1-2 > p:last-child {
    width: calc(((100% - (40px * 2)) / 3) * 2 + 40px); }
  @media only screen and (max-width: 420px) {
    .col1-2 {
      display: block; }
      .col1-2 > div:first-child, .col1-2 > div:last-child, .col1-2 > p:first-child, .col1-2 > p:last-child {
        width: 100%; }
      .col1-2 > div:last-child, .col1-2 > p:last-child {
        margin-top: 20px; } }

section {
  margin: auto;
  text-align: left; }

/*--- section #intro ---*/
section#intro {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 40px;
  width: 980px; }
  section#intro > div {
    width: calc((100% - 40px) / 2); }
  @media only screen and (max-width: 768px) {
    section#intro {
      width: 100%;
      display: block;
      text-align: center;
      margin-top: 20px; } }
  section#intro .message {
    margin-left: -13px;
    background: url("../images/msg_bg.png") no-repeat center top;
    background-size: contain; }
    section#intro .message img {
      width: 100%; }
    @media only screen and (max-width: 768px) {
      section#intro .message {
        margin: 0 auto;
        width: 80%;
        max-width: 496px; } }
  section#intro .lead {
    color: #000;
    font-weight: bold; }
    section#intro .lead .lead-txt {
      margin-top: 10px;
      background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 90%, #4a5d15 90%, #4a5d15 93%, rgba(0, 0, 0, 0) 93%, rgba(0, 0, 0, 0) 100%);
      line-height: 34px;
      background-size: 100% 34px;
      background-repeat: repeat-y; }
    section#intro .lead .note {
      margin-top: 1.5em; }
    @media only screen and (max-width: 768px) {
      section#intro .lead {
        width: 100%;
        text-align: center;
        padding: 20px 20px 0; }
        section#intro .lead .lead-txt {
          display: inline-block;
          width: auto;
          margin: auto;
          font-size: 16px;
          font-size: 1.6rem; }
        section#intro .lead .note {
          margin-top: 1em;
          display: inline-block; } }
    @media only screen and (max-width: 420px) {
      section#intro .lead .lead-txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 28px;
        background-size: 100% 28px; } }

section.contents-info {
  filter: drop-shadow(4px 4px 12px rgba(0, 0, 0, 0.3));
  margin-top: 50px;
  width: 1040px; }
  @media only screen and (max-width: 768px) {
    section.contents-info {
      width: 90%;
      margin-top: 50px;
      filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.3));
      background: #fff;
      padding: 3px; }
      section.contents-info:before {
        /*内側罫線*/
        display: block;
        content: "";
        position: absolute;
        left: 2px;
        top: 2px;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        border: 1px solid #90b821;
        padding: 10px; }
      section.contents-info:after {
        /*芽のマーク*/
        content: url("../images/folder_me.svg");
        display: block;
        position: absolute;
        right: 10px;
        top: -33.5px;
        width: 40px;
        height: 33.5px; } }
  @media only screen and (max-width: 420px) {
    section.contents-info {
      width: 96%; } }
  section.contents-info h2 {
    height: 64px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-bottom: -6px;
    z-index: 2;
    font-size: 26px;
    font-size: 2.6rem; }
    @media only screen and (max-width: 768px) {
      section.contents-info h2 {
        height: auto;
        font-size: 20px;
        font-size: 2rem;
        background: #e6e98f;
        padding: 12px; } }
    @media only screen and (max-width: 420px) {
      section.contents-info h2 {
        margin-bottom: 0;
        font-size: 18px;
        font-size: 1.8rem;
        padding: 8px; } }
    section.contents-info h2:before, section.contents-info h2:after {
      display: block;
      height: 100%; }
      @media only screen and (max-width: 768px) {
        section.contents-info h2:before, section.contents-info h2:after {
          display: none; } }
    section.contents-info h2:before {
      width: 6px;
      content: url("../images/tab_left.svg"); }
    section.contents-info h2:after {
      width: 66.52px;
      content: url("../images/tab_right.svg");
      margin-left: -1px; }
    section.contents-info h2 > span {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      background: url("../images/tab_bg.svg") repeat-x left top;
      background-size: cover;
      height: 100%;
      padding: 0 1px 0 12px; }
      @media only screen and (max-width: 768px) {
        section.contents-info h2 > span {
          flex-flow: row wrap;
          background: none;
          padding: 0; } }
      section.contents-info h2 > span span {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 0; }
        section.contents-info h2 > span span:before {
          display: block;
          height: 38px;
          margin: 0 10px 0 14px; }
        @media only screen and (max-width: 768px) {
          section.contents-info h2 > span span {
            font-size: 28px;
            font-size: 2.8rem; } }
        @media only screen and (max-width: 420px) {
          section.contents-info h2 > span span {
            display: block;
            font-size: 20px;
            font-size: 2rem;
            vertical-align: middle;
            line-height: normal; }
            section.contents-info h2 > span span:before {
              height: 26px;
              display: inline-block;
              vertical-align: middle;
              margin: 0 10px 0 0; } }
  section.contents-info .contents-info-body {
    background: #fff;
    padding: 36px 50px; }
    @media only screen and (max-width: 768px) {
      section.contents-info .contents-info-body {
        padding: 30px; } }
    @media only screen and (max-width: 420px) {
      section.contents-info .contents-info-body {
        padding: 15px; } }
    section.contents-info .contents-info-body:after {
      /*芽のマーク*/
      content: url("../images/folder_me.svg");
      display: block;
      position: absolute;
      right: 12px;
      top: -52px;
      width: 62px;
      height: 52px; }
      @media only screen and (max-width: 768px) {
        section.contents-info .contents-info-body:after {
          display: none; } }
    section.contents-info .contents-info-body:before {
      /*内側罫線*/
      display: block;
      content: "";
      position: absolute;
      left: 4px;
      top: 4px;
      width: calc(100% - 8px);
      height: calc(100% - 8px);
      border: 2px solid #90b821;
      padding: 44px; }
      @media only screen and (max-width: 768px) {
        section.contents-info .contents-info-body:before {
          display: none; } }
    section.contents-info .contents-info-body h3 {
      display: flex;
      flex-flow: row nowrap;
      align-items: flex-end;
      width: calc(100% + 20px);
      margin-left: -20px;
      margin-bottom: 40px;
      font-size: 26px;
      font-size: 2.6rem; }
      section.contents-info .contents-info-body h3 > span:first-child {
        display: block;
        margin-bottom: -12px;
        width: 75px;
        height: 80px; }
        section.contents-info .contents-info-body h3 > span:first-child.num1 {
          content: url("../images/num_1_big.svg"); }
        section.contents-info .contents-info-body h3 > span:first-child.num2 {
          content: url("../images/num_2_big.svg"); }
        section.contents-info .contents-info-body h3 > span:first-child.num3 {
          content: url("../images/num_3_big.svg"); }
      @media only screen and (max-width: 768px) {
        section.contents-info .contents-info-body h3 {
          margin-left: 0;
          margin-bottom: 20px;
          font-size: 21px;
          font-size: 2.1rem;
          width: 100%; }
          section.contents-info .contents-info-body h3 > span:first-child {
            margin-bottom: 0px;
            width: 60px;
            height: 64px;
            margin-left: -8px;
            margin-right: 4px; } }
      @media only screen and (max-width: 420px) {
        section.contents-info .contents-info-body h3 {
          font-size: 16px;
          font-size: 1.6rem; }
          section.contents-info .contents-info-body h3 > span:first-child {
            margin-bottom: 0px;
            width: 37.5px;
            height: 40px;
            margin-left: -8px;
            margin-right: 4px; } }
      section.contents-info .contents-info-body h3 span.httl {
        flex: 1; }
        section.contents-info .contents-info-body h3 span.httl span {
          font-size: 32px;
          font-size: 3.2rem;
          margin-left: 0.3em; }
        section.contents-info .contents-info-body h3 span.httl:before, section.contents-info .contents-info-body h3 span.httl:after {
          content: "";
          display: block;
          position: absolute; }
        section.contents-info .contents-info-body h3 span.httl:before {
          left: 0;
          bottom: 0;
          background: #999;
          border-radius: 2px;
          height: 4px;
          width: 100%; }
        section.contents-info .contents-info-body h3 span.httl:after {
          left: 1px;
          bottom: 1px;
          background: #fff;
          border-radius: 1px;
          height: 2px;
          width: calc(100% - 2px); }
        @media only screen and (max-width: 768px) {
          section.contents-info .contents-info-body h3 span.httl {
            font-size: 20px;
            font-size: 2rem;
            line-height: normal;
            padding-left: 0.3em;
            padding-bottom: 0.3em; }
            section.contents-info .contents-info-body h3 span.httl span {
              display: block;
              font-size: 25px;
              font-size: 2.5rem; } }
        @media only screen and (max-width: 420px) {
          section.contents-info .contents-info-body h3 span.httl {
            font-size: 14px;
            font-size: 1.4rem; }
            section.contents-info .contents-info-body h3 span.httl span {
              font-size: 18px;
              font-size: 1.8rem; } }
    section.contents-info .contents-info-body .cont-info-parts {
      margin-bottom: 50px; }
      section.contents-info .contents-info-body .cont-info-parts:last-child {
        margin-bottom: 0; }
      @media only screen and (max-width: 768px) {
        section.contents-info .contents-info-body .cont-info-parts {
          margin-bottom: 30px; } }
      @media only screen and (max-width: 420px) {
        section.contents-info .contents-info-body .cont-info-parts {
          margin-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  section.contents-info.reverse h2 {
    justify-content: flex-end; }
    section.contents-info.reverse h2:after {
      width: 6px;
      content: url("../images/tab_left.svg");
      transform: scale(-1, 1); }
    section.contents-info.reverse h2:before {
      width: 66.52px;
      content: url("../images/tab_right.svg");
      transform: scale(-1, 1);
      margin-right: -1px; }
    section.contents-info.reverse h2 > span {
      padding: 0 12px 0 1px; }
  section.contents-info.reverse .contents-info-body:after {
    left: 12px;
    right: inherit; } }

/*--- section #cont-movie ---*/
section#cont-movie h2 > span span:before {
  content: url("../images/icon_movie.svg");
  width: 61.29px; }
  @media only screen and (max-width: 420px) {
    section#cont-movie h2 > span span:before {
      width: 42px; } }
section#cont-movie #cont-movie1 .col2 > div:first-child {
  min-height: 361px; }
  section#cont-movie #cont-movie1 .col2 > div:first-child img {
    position: absolute; }
    section#cont-movie #cont-movie1 .col2 > div:first-child img:first-child {
      left: 0px;
      top: 0px; }
    section#cont-movie #cont-movie1 .col2 > div:first-child img:last-child {
      right: 0px;
      bottom: 0px; }
  @media only screen and (max-width: 768px) {
    section#cont-movie #cont-movie1 .col2 > div:first-child {
      min-height: 50vw;
      max-height: 361px; }
      section#cont-movie #cont-movie1 .col2 > div:first-child img {
        width: 50vw; } }
section#cont-movie #cont-movie2 .col2 > div:last-child {
  min-height: 396px; }
  section#cont-movie #cont-movie2 .col2 > div:last-child img:first-child {
    width: 100%; }
  section#cont-movie #cont-movie2 .col2 > div:last-child img:last-child {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 168px; }
  section#cont-movie #cont-movie2 .col2 > div:last-child .cap {
    float: right;
    margin-top: 1em; }
  @media only screen and (max-width: 768px) {
    section#cont-movie #cont-movie2 .col2 > div:last-child {
      min-height: inherit;
      display: flex;
      flex-flow: row nowrap;
      justify-content: flex-start;
      align-items: flex-start; }
      section#cont-movie #cont-movie2 .col2 > div:last-child::after {
        content: "";
        display: block;
        clear: both; }
      section#cont-movie #cont-movie2 .col2 > div:last-child img:first-child {
        width: 60%;
        margin-right: 20px; }
      section#cont-movie #cont-movie2 .col2 > div:last-child img:last-child {
        max-width: 336px;
        width: 25%;
        height: auto;
        left: inherit;
        bottom: inherit;
        position: relative;
        margin-left: 7.5%;
        margin-top: -20px; }
      section#cont-movie #cont-movie2 .col2 > div:last-child .cap {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 35%;
        margin-top: 0; } }
  @media only screen and (max-width: 420px) {
    section#cont-movie #cont-movie2 .col2 > div:last-child {
      display: block; }
      section#cont-movie #cont-movie2 .col2 > div:last-child img:first-child {
        width: 100%;
        max-width: 450px; }
      section#cont-movie #cont-movie2 .col2 > div:last-child img:last-child {
        position: relative;
        width: 50%;
        max-width: 152px;
        margin-top: -20%;
        margin-left: 0; }
      section#cont-movie #cont-movie2 .col2 > div:last-child .cap {
        width: 40vw;
        position: relative;
        top: inherit;
        bottom: 0;
        margin-top: 1em; } }
section#cont-movie #cont-movie3 .col2 > div:first-child img {
  width: 100%; }
section#cont-movie #cont-movie3 .col2 > div:last-child .cap {
  margin-top: 2em; }

/*--- section #cont-article ---*/
section#cont-article h2 > span span:before {
  content: url("../images/icon_article.svg");
  width: 58.32px; }
  @media only screen and (max-width: 420px) {
    section#cont-article h2 > span span:before {
      width: 39.9px; } }
section#cont-article h2 > span span:last-child {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28; }
  section#cont-article h2 > span span:last-child:before {
    display: none; }
  @media only screen and (max-width: 420px) {
    section#cont-article h2 > span span:last-child {
      padding-top: 0.5em; }
      section#cont-article h2 > span span:last-child br {
        display: none; } }
section#cont-article h3 .httl {
  font-size: 28px;
  font-size: 2.8rem; }
  @media only screen and (max-width: 768px) {
    section#cont-article h3 .httl {
      font-size: 22px;
      font-size: 2.2rem; } }
  @media only screen and (max-width: 420px) {
    section#cont-article h3 .httl {
      font-size: 18px;
      font-size: 1.8rem; } }
@media only screen and (max-width: 768px) {
  section#cont-article .cont-info-parts::after {
    content: "";
    display: block;
    clear: both; } }
section#cont-article .cont-info-parts .colspan2 {
  width: 615px; }
  @media only screen and (max-width: 768px) {
    section#cont-article .cont-info-parts .colspan2 {
      width: calc(75% - 20px);
      float: left; } }
  @media only screen and (max-width: 420px) {
    section#cont-article .cont-info-parts .colspan2 {
      width: 100%;
      float: none; } }
section#cont-article .cont-info-parts img {
  position: absolute;
  top: 38px;
  right: 23px;
  filter: drop-shadow(3px 3px 7px rgba(0, 0, 0, 0.25)); }
  @media only screen and (max-width: 768px) {
    section#cont-article .cont-info-parts img {
      filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.25)); } }
  @media only screen and (max-width: 420px) {
    section#cont-article .cont-info-parts img {
      filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.25)); } }
  @media only screen and (max-width: 768px) {
    section#cont-article .cont-info-parts img {
      position: relative;
      top: inherit;
      right: inherit;
      width: calc(25% - 20px);
      float: right; } }
  @media only screen and (max-width: 420px) {
    section#cont-article .cont-info-parts img {
      margin: 20px auto 0;
      width: 80%;
      max-width: 240px;
      float: none; } }

/*--- section #cont-download ---*/
section#cont-download h2 > span span:before {
  content: url("../images/icon_download.svg");
  width: 58.32px; }
  @media only screen and (max-width: 768px) {
    section#cont-download h2 > span span:before {
      width: 41.9px; } }
section#cont-download .cont-info-parts h3 span:first-child {
  display: block;
  content: url("../images/icon_down_big.svg");
  width: 59px;
  height: 46px;
  margin-bottom: -4px;
  margin-right: 16px; }
  @media only screen and (max-width: 420px) {
    section#cont-download .cont-info-parts h3 span:first-child {
      width: 37.5px;
      height: 29.2px;
      margin-right: 8px;
      margin-bottom: -2px; } }
@media only screen and (max-width: 768px) {
  section#cont-download .cont-info-parts h3 .httl {
    font-size: 22px;
    font-size: 2.2rem; } }
@media only screen and (max-width: 420px) {
  section#cont-download .cont-info-parts h3 .httl {
    font-size: 17px;
    font-size: 1.7rem; } }
section#cont-download #cont-download1 .col1-2 div {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  height: auto;
  align-items: flex-start; }
  section#cont-download #cont-download1 .col1-2 div img {
    width: calc((100% - 30px) / 4);
    height: auto;
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.25)); }
    @media only screen and (max-width: 768px) {
      section#cont-download #cont-download1 .col1-2 div img {
        filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25)); } }
section#cont-download #cont-download2 .col2 div {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-around;
  align-items: center; }
  section#cont-download #cont-download2 .col2 div p {
    border: 1px solid #ccc;
    padding: 6px; }
    section#cont-download #cont-download2 .col2 div p:first-child {
      margin-bottom: 10px; }
      section#cont-download #cont-download2 .col2 div p:first-child img {
        width: 346px; }
    section#cont-download #cont-download2 .col2 div p:last-child img {
      width: 106px; }
  @media only screen and (max-width: 768px) {
    section#cont-download #cont-download2 .col2 div {
      display: flex;
      flex-flow: row nowrap;
      justify-content: center;
      align-items: center; }
      section#cont-download #cont-download2 .col2 div p {
        margin: 0 10px !important; } }
section#cont-download #cont-download3 .col2 div:first-child .note {
  margin-top: 1em; }
section#cont-download #cont-download3 .col2 div:last-child img {
  width: 100%; }
  @media only screen and (max-width: 768px) {
    section#cont-download #cont-download3 .col2 div:last-child img {
      max-width: 400px; } }
section#cont-download #cont-download3 .col2 div:last-child p.cap {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0; }
section#cont-download #cont-download4 .txt-col2 {
  column-count: 2;
  column-gap: 30px;
  margin-bottom: 30px; }
  @media only screen and (max-width: 420px) {
    section#cont-download #cont-download4 .txt-col2 {
      column-count: 1;
      column-gap: 0;
      margin-bottom: 10px; } }
section#cont-download #cont-download4 div {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: flex-end; }
  section#cont-download #cont-download4 div img {
    max-width: 253px;
    margin-right: 20px;
    border: 1px solid #ccc;
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.25)); }
    @media only screen and (max-width: 768px) {
      section#cont-download #cont-download4 div img {
        filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25)); } }
  @media only screen and (max-width: 768px) {
    section#cont-download #cont-download4 div img {
      width: 26%; } }
  @media only screen and (max-width: 420px) {
    section#cont-download #cont-download4 div {
      flex-flow: row wrap;
      justify-content: space-around;
      align-items: center; }
      section#cont-download #cont-download4 div img, section#cont-download #cont-download4 div p {
        margin-right: 0;
        width: 45%;
        margin: 10px 5px; } }

/*--- section .other-box ---*/
.other-box {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid #fff;
  padding: 40px 62px 50px;
  width: 1000px;
  margin-top: 80px;
  text-align: center; }
  .other-box:before {
    content: "";
    display: block;
    height: 1px;
    background: #a6c64e;
    margin: -41px auto 0;
    font-size: 32px;
    font-size: 3.2rem; }
  .other-box h2 {
    font-size: 32px;
    font-size: 3.2rem;
    color: #fff;
    text-shadow: 0 0 10px #90b821;
    filter: drop-shadow(0px 0px 10px #90b821);
    margin-top: -30px;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .other-box {
      padding: 30px;
      width: 90%;
      margin-top: 40px; }
      .other-box:before {
        font-size: 26px;
        font-size: 2.6rem;
        margin: -31px auto 0; }
      .other-box h2 {
        font-size: 26px;
        font-size: 2.6rem;
        margin-top: -24px; } }
  @media only screen and (max-width: 420px) {
    .other-box {
      padding: 30px 15px 20px;
      width: 94%; }
      .other-box:before {
        font-size: 18px;
        font-size: 1.8rem;
        margin: -31px auto 0; }
      .other-box h2 {
        font-size: 18px;
        font-size: 1.8rem;
        margin-top: -16px; } }
  .other-box p.first {
    text-align: center;
    margin-top: 10px; }
  .other-box .note {
    margin-top: 0.7em;
    text-align: center; }

/*--- 会員資格別・利用可能コンテンツ ---*/
#contents-table:before {
  width: 14.5em; }
#contents-table .note {
  margin-top: 0.7em; }
#contents-table h3 {
  text-align: center;
  background: #e6e98f;
  padding: 6px;
  font-weight: normal;
  vertical-align: middle; }
  #contents-table h3 > span span {
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold; }
    #contents-table h3 > span span:before {
      display: inline-block;
      vertical-align: middle;
      height: 26px;
      width: auto;
      margin: 0 7px 0 10px; }
  @media only screen and (max-width: 768px) {
    #contents-table h3 > span {
      display: block;
      text-align: center; }
      #contents-table h3 > span span {
        font-size: 16px;
        font-size: 1.6rem; } }
#contents-table table {
  margin: auto;
  background: #fff;
  border-collapse: collapse;
  font-size: 14px;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    #contents-table table {
      font-size: 12px;
      font-size: 1.2rem;
      width: 100%; } }
#contents-table th, #contents-table td {
  padding: 0.2em;
  white-space: nowrap;
  min-width: 8em;
  vertical-align: middle;
  line-height: normal; }
  @media only screen and (max-width: 420px) {
    #contents-table th, #contents-table td {
      min-width: auto;
      white-space: inherit; } }
#contents-table td {
  text-align: center;
  border-bottom: 1px solid #1a1006;
  border-right: 1px dotted #666; }
  #contents-table td:last-child {
    border-right: none; }
  #contents-table td:not(.left):not(.media) {
    color: #90b821; }
  @media only screen and (max-width: 768px) {
    #contents-table td {
      width: 12%; } }
#contents-table th {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  background: #1a1006;
  color: #fff;
  border-right: 1px solid #fff;
  text-align: center;
  vertical-align: middle;
  line-height: normal; }
  #contents-table th:last-child {
    border-right: 1px solid #1a1006; }
  @media only screen and (max-width: 768px) {
    #contents-table th {
      font-size: 12px;
      font-size: 1.2rem; }
      #contents-table th span {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: nowrap;
        margin: 0;
        line-height: 1em; } }
#contents-table tr:last-child td {
  border-bottom: none; }
#contents-table .left {
  text-align: left;
  min-width: 13.5em; }
  @media only screen and (max-width: 768px) {
    #contents-table .left {
      width: 16%; } }
  @media only screen and (max-width: 420px) {
    #contents-table .left {
      min-width: auto;
      white-space: nowrap; } }
#contents-table .media {
  min-width: 6.5em;
  vertical-align: middle; }
  #contents-table .media img {
    margin: 0 auto;
    height: 17px; }
  @media only screen and (max-width: 420px) {
    #contents-table .media {
      min-width: auto; }
      #contents-table .media img {
        height: 12px; } }
#contents-table .c-table {
  display: inline-block;
  margin-top: 20px; }
  #contents-table .c-table .small {
    font-size: 12px; }
#contents-table .table1 h3 {
  /*span span:first-child {
  	&:before {
  		content: url("../images/icon_table_b_article.svg");
  		width: 21.6px;
  	}
  }*/ }
  #contents-table .table1 h3 span span:last-child:before {
    content: url("../images/icon_table_b_movie.svg");
    width: 31.2px; }
#contents-table .table2 h3 span span:before {
  content: url("../images/icon_table_b_down.svg");
  width: 31.2px; }

/*--- 対面 or オンラインの各種イベント ---*/
#events:before {
  width: 14.5em; }
#events .eventbox {
  line-height: 1.444;
  background: #fff;
  filter: drop-shadow(3px 3px 7px rgba(0, 0, 0, 0.25));
  text-align: center;
  margin-top: 10px;
  padding: 5px;
  display: flex;
  flex-flow: row nowrap; }
  @media only screen and (max-width: 768px) {
    #events .eventbox {
      filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.25)); } }
  @media only screen and (max-width: 420px) {
    #events .eventbox {
      filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.25)); } }
  @media only screen and (max-width: 420px) {
    #events .eventbox {
      display: block; } }
  #events .eventbox > div {
    flex: 1;
    display: flex;
    flex-flow: column wrap;
    padding: 10px 20px 0;
    font-size: 18px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      #events .eventbox > div {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 10px; } }
    #events .eventbox > div div {
      padding: 10px 20px;
      flex: 1;
      display: flex;
      flex-flow: column wrap;
      align-content: flex-start;
      justify-content: center; }
      @media only screen and (max-width: 768px) {
        #events .eventbox > div div {
          padding: 15px 0 15px 16px; } }
      @media only screen and (max-width: 420px) {
        #events .eventbox > div div {
          padding: 15px 0 15px 0; } }
    #events .eventbox > div h3 {
      text-indent: 0.5em;
      text-align: left;
      font-size: 20px;
      font-size: 2rem; }
      #events .eventbox > div h3 span:not(.num) {
        font-size: 14px;
        font-size: 1.4rem;
        color: #78991c;
        font-weight: normal;
        float: right;
        vertical-align: baseline; }
      @media only screen and (max-width: 768px) {
        #events .eventbox > div h3 {
          font-size: 16px;
          font-size: 1.6rem;
          text-indent: 0;
          padding-left: 1em; }
          #events .eventbox > div h3 span:not(.num) {
            float: none;
            padding-left: 1.5em; } }
      @media only screen and (max-width: 420px) {
        #events .eventbox > div h3 {
          padding-left: 0.5em; }
          #events .eventbox > div h3 span:not(.num) {
            display: block;
            padding-left: 0; } }
      #events .eventbox > div h3:after {
        content: "";
        display: block;
        width: calc(100% + 20px);
        height: 2px;
        background-size: 4px 2px;
        background-image: linear-gradient(to right, #90b821, #90b821 2px, transparent 2px, transparent 4px);
        background-repeat: repeat-x;
        margin: 6px auto 0; }
        @media only screen and (max-width: 768px) {
          #events .eventbox > div h3:after {
            width: calc(100% + 1em);
            margin-left: -1em; } }
        @media only screen and (max-width: 420px) {
          #events .eventbox > div h3:after {
            width: calc(100% + 0.5em);
            margin-left: -0.5em; } }
      #events .eventbox > div h3 > span:first-child {
        display: block;
        position: absolute;
        left: -45px;
        top: -35px;
        width: 50px;
        height: 50px; }
        #events .eventbox > div h3 > span:first-child.num1 {
          content: url("../images/num_1_small.svg"); }
        #events .eventbox > div h3 > span:first-child.num2 {
          content: url("../images/num_2_small.svg"); }
        #events .eventbox > div h3 > span:first-child.num3 {
          content: url("../images/num_3_small.svg"); }
        #events .eventbox > div h3 > span:first-child.num4 {
          content: url("../images/num_4_small.svg"); }
        #events .eventbox > div h3 > span:first-child.num5 {
          content: url("../images/num_5_small.svg"); }
        @media only screen and (max-width: 768px) {
          #events .eventbox > div h3 > span:first-child {
            left: -30px;
            top: -30px;
            width: 40px;
            height: 40px; } }
        @media only screen and (max-width: 420px) {
          #events .eventbox > div h3 > span:first-child {
            left: -28px;
            top: -30px;
            width: 37px;
            height: 37px; } }
    #events .eventbox > div p + ul {
      margin-top: 0.5em; }
    #events .eventbox > div ul li {
      list-style: disc;
      list-style-position: outside;
      margin-left: 2em; }
  #events .eventbox img.image {
    width: 220px;
    height: 165px; }
    @media only screen and (max-width: 420px) {
      #events .eventbox img.image {
        width: 100%;
        max-width: 220px;
        margin: auto auto 15px;
        height: auto; } }
#events .event1 {
  margin-top: 30px; }
  @media only screen and (max-width: 768px) {
    #events .event1 {
      margin-top: 20px; } }
  #events .event1 > div {
    padding-bottom: 20px; }
    #events .event1 > div h3 span:not(.num) {
      float: none;
      font-size: 16px;
      font-size: 1.6rem;
      margin-left: 0.5em; }
    #events .event1 > div h3:after {
      margin-bottom: 15px; }
    #events .event1 > div p, #events .event1 > div ul {
      padding: 0 20px 0; }
      @media only screen and (max-width: 768px) {
        #events .event1 > div p, #events .event1 > div ul {
          padding: 0; } }
#events .event5 li {
  list-style-position: outside; }
#events .event5 li span {
  font-size: 14px;
  font-size: 1.4rem;
  color: #78991c;
  font-weight: normal; }

.meiku-link {
  margin: 30px auto;
  text-align: center; }
  .meiku-link a img {
    filter: drop-shadow(3px 3px 7px rgba(0, 0, 0, 0.25));
    margin: auto; }
    @media only screen and (max-width: 768px) {
      .meiku-link a img {
        filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.25)); } }
    @media only screen and (max-width: 420px) {
      .meiku-link a img {
        filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.25)); } }
  .meiku-link a:hover img {
    top: 4px;
    left: 4px;
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0)); }
  .meiku-link .pc {
    display: inline-block;
    width: 590px;
    height: auto;
    max-width: 80%; }
    @media only screen and (max-width: 768px) {
      .meiku-link .pc {
        display: inline-block; } }
    @media only screen and (max-width: 420px) {
      .meiku-link .pc {
        display: none; } }
  .meiku-link .sp {
    width: 298px;
    height: auto;
    max-width: 80%; }
    @media only screen and (max-width: 768px) {
      .meiku-link .sp {
        display: none; } }
    @media only screen and (max-width: 420px) {
      .meiku-link .sp {
        display: inline-block; } }

.pagetop {
  display: none;
  position: fixed;
  z-index: 100;
  bottom: 50px;
  right: 50px; }
  .pagetop a {
    opacity: 0.5;
    filter: alpha(opacity=50);
    display: block;
    width: 60px;
    height: 60px;
    background: url("../images/pagetop.svg");
    background-size: contain; }
    .pagetop a:hover {
      opacity: 1;
      filter: alpha(opacity=100);
      transform: translate(0, 0); }
  @media only screen and (max-width: 420px) {
    .pagetop {
      right: 10px;
      bottom: 10px; }
      .pagetop a {
        width: 30px;
        height: 30px; } }

/*===== RESPONSIVE =====*/
@media only screen and (min-width: 769px) {
  .sp, .tb {
    display: none; } }
@media only screen and (max-width: 768px) {
  .pc {
    display: none; } }
@media only screen and (max-width: 420px) {
  .pc, .tb, .sp-none {
    display: none; } }

/*# sourceMappingURL=style.css.map */
