@charset "UTF-8";
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* フルワイド */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;700&display=swap");
#content {
  padding: 30px 10vw;
  box-sizing: border-box;
  display: flex;
  justify-content: center; }
  @media all and (max-width: 1025px) {
    #content {
      flex-wrap: wrap;
      padding: 30px 4vw; } }

@media all and (max-width: 480px) {
  .sec_wysiwyg img {
    max-width: none;
    width: 100%;
    height: auto; } }
.sec_wysiwyg h2, .sec_wysiwyg h3, .sec_wysiwyg h4, .sec_wysiwyg h5 {
  margin: 30px 0 20px 0; }
.sec_wysiwyg h2.title {
  margin: 0px 0 20px 0;
  border-bottom: 4px solid #191970 !important;
  font-size: 2.8rem !important; }
  @media all and (max-width: 480px) {
    .sec_wysiwyg h2.title {
      font-size: 2.3rem !important; } }
  .sec_wysiwyg h2.title:after {
    display: none !important; }
.sec_wysiwyg p, .sec_wysiwyg ul, .sec_wysiwyg ol, .sec_wysiwyg table {
  margin-bottom: 20px; }
@media all and (max-width: 480px) {
  .sec_wysiwyg iframe {
    width: 100%;
    height: 250px; } }
.sec_wysiwyg a {
  color: #191970;
  text-decoration: underline; }
.sec_wysiwyg ul li {
  text-indent: -1.2em;
  margin: 10px 0 0 1.5em; }
.sec_wysiwyg ol li {
  margin: 10px 0 0 1.5em; }
.sec_wysiwyg table {
  font-size: 1.4rem;
  width: 100%;
  border-spacing: 0px;
  border-right: 1px solid #191970;
  border-bottom: 1px solid #191970; }
  .sec_wysiwyg table tr:nth-child(odd) {
    background: #F8F4F9; }
  .sec_wysiwyg table tr th {
    background: #191970;
    color: #fff;
    border: 1px solid #191970;
    border-right: 0px;
    border-bottom: 0px;
    border-left: 1px solid #fff;
    text-align: center;
    vertical-align: middle;
    padding: 10px;
    box-sizing: border-box; }
    .sec_wysiwyg table tr th:first-child {
      border-left: 1px solid #191970; }
    .sec_wysiwyg table tr th:last-child {
      border-right: 1px solid #191970; }
  .sec_wysiwyg table tr td {
    border: 1px solid #191970;
    border-right: 0px;
    border-bottom: 0px;
    vertical-align: middle;
    padding: 10px;
    box-sizing: border-box; }

.mainvisual .area_mainvisual {
  background: #000;
  position: relative;
  height: 400px;
  display: flex;
  align-items: center; }
  @media all and (max-width: 896px) {
    .mainvisual .area_mainvisual {
      height: 250px; } }
  .mainvisual .area_mainvisual:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 200px;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, white 100%); }
  .mainvisual .area_mainvisual .bg_img {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0.7; }
  .mainvisual .area_mainvisual h1 {
    position: relative;
    z-index: 2;
    left: 50px;
    color: #fff; }
    @media all and (max-width: 896px) {
      .mainvisual .area_mainvisual h1 {
        left: 30px; } }
    .mainvisual .area_mainvisual h1 span {
      font-size: 3.5rem;
      letter-spacing: 3px;
      margin-right: 0.5em;
      line-height: 1.3em; }
      @media all and (max-width: 896px) {
        .mainvisual .area_mainvisual h1 span {
          display: block;
          font-size: 2.8rem;
          margin: 0 1em 10px 0; } }
    .mainvisual .area_mainvisual h1:after {
      content: "";
      display: block;
      width: 50px;
      height: 1px;
      background: #fff;
      position: absolute;
      bottom: -50px; }
      @media all and (max-width: 896px) {
        .mainvisual .area_mainvisual h1:after {
          bottom: -30px; } }

.panel {
  position: relative; }
  .panel.hide {
    display: none; }

.sec_topics {
  padding-top: 20px;
  display: flex;
  flex-wrap: wrap; }
  .sec_topics li {
    position: relative;
    width: 25%;
    overflow: hidden; }
    @media all and (max-width: 896px) {
      .sec_topics li {
        width: 50%; } }
    .sec_topics li:before {
      content: "";
      display: block;
      padding-top: 100%; }
    .sec_topics li a:hover {
      opacity: 1; }
    .sec_topics li:hover img {
      transform: scale(1.1);
      transition: 0.3s; }
    .sec_topics li.new .data:before {
      content: "NEW";
      padding: 3px 15px;
      color: #fff;
      text-align: center;
      box-sizing: border-box;
      font-size: 1.3rem;
      background: #fff;
      margin-left: -1px;
      margin-right: 5px;
      border-radius: 50px;
      background: #F85353; }
      @media all and (max-width: 480px) {
        .sec_topics li.new .data:before {
          font-size: 1rem;
          padding: 3px 8px; } }
    .sec_topics li img {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto; }
    .sec_topics li .block_txt {
      position: absolute;
      bottom: 0;
      right: 0;
      background: transparent -webkit-linear-gradient(#19197000 0%, #191970 100%) 0% 0% no-repeat padding-box;
      background: transparent -o-linear-gradient(#19197000 0%, #191970 100%) 0% 0% no-repeat padding-box;
      background: transparent linear-gradient(#19197000 0%, #191970 100%) 0% 0% no-repeat padding-box;
      color: #fff;
      padding: 10px;
      width: 100%;
      box-sizing: border-box; }
      .sec_topics li .block_txt .data {
        font-size: 1.4rem; }
        @media all and (max-width: 480px) {
          .sec_topics li .block_txt .data {
            font-size: 1.2rem; } }
        .sec_topics li .block_txt .data span {
          display: inline-block;
          padding: 0 10px;
          text-align: center;
          box-sizing: border-box;
          font-size: 1.3rem;
          margin-left: 15px;
          letter-spacing: 0px;
          color: #fff;
          border: 1px solid #fff; }
          @media all and (max-width: 480px) {
            .sec_topics li .block_txt .data span {
              display: block;
              margin: 3px 0 0 0; } }
      .sec_topics li .block_txt .label {
        margin-top: 5px; }
        .sec_topics li .block_txt .label span {
          background: #fff;
          color: #191970;
          text-align: center;
          box-sizing: border-box;
          font-size: 1.3rem;
          letter-spacing: 0px;
          padding: 3px 15px;
          border: 1px solid #191970; }
      .sec_topics li .block_txt .txt {
        margin-top: 10px;
        font-size: 1.4rem; }
        @media all and (max-width: 480px) {
          .sec_topics li .block_txt .txt {
            font-size: 1rem;
            line-height: 1.4em;
            margin-top: 5px; } }

.sec_news > li {
  margin-top: 20px; }
  .sec_news > li.new .data:after {
    content: "NEW";
    display: inline-block;
    width: 140px;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    font-size: 1.3rem;
    margin-left: -1px;
    background: #F85353; }
  .sec_news > li .data {
    display: flex;
    color: #ccc;
    font-size: 1.4rem; }
    .sec_news > li .data span {
      background: #fff;
      display: inline-block;
      width: 140px;
      text-align: center;
      box-sizing: border-box;
      font-size: 1.3rem;
      margin-left: 15px;
      letter-spacing: 0px; }
      .sec_news > li .data span.tab01 {
        color: #191970;
        border: 1px solid #191970; }
      .sec_news > li .data span.tab02 {
        color: #1C59AB;
        border: 1px solid #1C59AB; }
      .sec_news > li .data span.tab03 {
        color: #FF5558;
        border: 1px solid #FF5558; }
      .sec_news > li .data span.tab04 {
        color: #FF8836;
        border: 1px solid #FF8836; }
      .sec_news > li .data span.tab05 {
        color: #1E7A23;
        border: 1px solid #1E7A23; }
      .sec_news > li .data span.tab06 {
        color: #6D6F29;
        border: 1px solid #6D6F29; }
      .sec_news > li .data span.tab07 {
        color: #555555;
        border: 1px solid #555555; }
  .sec_news > li a {
    display: block;
    margin-top: 10px;
    font-size: 1.4rem;
    font-weight: bold; }

.main {
  width: 100%; }
  .main .area_main {
    margin-top: 50px; }
    .main .area_main:first-child {
      margin-top: 0; }
    .main .area_main > div {
      margin-top: 40px; }
      .main .area_main > div:first-child {
        margin-top: 0; }
    .main .area_main > .element {
      margin-top: 0; }
    .main .area_main .element {
      margin-top: 30px; }
      .main .area_main .element em {
        font-style: italic; }
      .main .area_main .element sup {
        font-size: 80%;
        vertical-align: super; }
      .main .area_main .element mark {
        background-color: #FBFF7E; }
    .main .area_main .parts_txt a, .main .area_main .img_caption a, .main .area_main .sec_boxlist a, .main .area_main .caution_list a, .main .area_main .sec_box_txt a, .main .area_main table a {
      text-decoration: underline;
      color: #191970; }
      .main .area_main .parts_txt a:after, .main .area_main .img_caption a:after, .main .area_main .sec_boxlist a:after, .main .area_main .caution_list a:after, .main .area_main .sec_box_txt a:after, .main .area_main table a:after {
        color: #191970;
        font-size: 1.7rem; }

    .main .area_main h2 {
      padding: 10px 0;
      border-bottom: 2px solid #F0EAF6;
      position: relative;
      font-size: 2.5rem;
      line-height: 1.3em; }
      @media all and (max-width: 896px) {
        .main .area_main h2 {
          font-size: 2.2rem; } }
      .main .area_main h2:after {
        position: absolute;
        content: " ";
        display: block;
        border-bottom: solid 4px #191970;
        bottom: -3px;
        width: 10%; }
      .main .area_main h2 span {
        font-size: 70%;
        margin-left: 1em; }
        @media all and (max-width: 896px) {
          .main .area_main h2 span {
            display: block;
            margin: 0; } }
    .main .area_main .chach_type01 {
      font-size: 2rem;
      line-height: 1.3em; }
      @media all and (max-width: 896px) {
        .main .area_main .chach_type01 {
          font-size: 1.8rem; } }
      .main .area_main .chach_type01.purple {
        color: #191970; }
      .main .area_main .chach_type01.min {
        font-family: 游明朝, "Yu Mincho", YuMincho,'Noto Serif JP', "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
        font-weight: bold; }
    .main .area_main .parts_txt {
      margin-top: 20px;
      line-height: 1.8em; }
      .main .area_main .parts_txt img {
        height: auto;
        vertical-align: top !important;
        padding: 5px; }
    .main .area_main h3 {
      padding: 5px 0 5px 10px;
      box-sizing: border-box;
      font-size: 2.2rem;
      border-left: 4px solid #F0EAF6;
      position: relative;
      line-height: 1.3em; }
      @media all and (max-width: 896px) {
        .main .area_main h3 {
          font-size: 2rem; } }
      .main .area_main h3:before {
        position: absolute;
        content: "";
        display: block;
        height: 50%;
        top: 0;
        left: -4px;
        width: 4px;
        background: #191970; }
      .main .area_main h3 span {
        font-size: 80%; }
        @media all and (max-width: 896px) {
          .main .area_main h3 span {
            display: block; } }
    .main .area_main h4 {
      padding: 15px;
      box-sizing: border-box;
      font-size: 2rem;
      background: #F0EAF6;
      line-height: 1.3em; }
      @media all and (max-width: 896px) {
        .main .area_main h4 {
          font-size: 1.7rem; } }
    .main .area_main .bg_type {
      background: #191970;
      padding: 10px;
      box-sizing: border-box;
      color: #fff;
      text-align: center; }
    .main .area_main .sec_flex {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      margin: 30px -10px 0 -10px; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_flex {
          flex-wrap: wrap;
          margin: 30px 0 0 0; } }
      .main .area_main .sec_flex .block_txt {
        width: 100%;
        margin: 0 10px; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex .block_txt {
            margin: 10px 0; } }
        .main .area_main .sec_flex .block_txt .parts_txt:first-child {
          margin-top: 0; }
      .main .area_main .sec_flex .block_img {
        max-width: 30vw;
        width: 100%;
        margin: 0 10px; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex .block_img {
            max-width: 100%;
            text-align: center;
            margin: 10px 0;
            height: 100%; } }
        .main .area_main .sec_flex .block_img .img {
          height: calc(100% - 30px);
          width: 100%; }
          @media all and (max-width: 896px) {
            .main .area_main .sec_flex .block_img .img {
              max-width: 100%;
              height: auto; } }
        .main .area_main .sec_flex .block_img img {
          object-fit: cover;
          font-family: 'object-fit: cover;';
          /*IE対策*/
          width: 100%;
          height: 100%; }
      .main .area_main .sec_flex.bg_c {
        background: #F8F4F9;
        padding: 40px;
        margin: 30px 0 0 0;
        box-sizing: border-box;
        align-items: center; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex.bg_c {
            padding: 20px; } }
        .main .area_main .sec_flex.bg_c li:first-child {
          max-width: 400px; }
          @media all and (max-width: 896px) {
            .main .area_main .sec_flex.bg_c li:first-child {
              width: 100%;
              max-width: none; } }
        .main .area_main .sec_flex.bg_c li:last-child {
          width: 100%;
          max-width: none; }
        .main .area_main .sec_flex.bg_c .img {
          height: 100%; }
    .main .area_main .sec_flex_tate {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      margin: 30px -10px 0 -10px; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_flex_tate {
          margin: 30px 0 0 0; } }
      .main .area_main .sec_flex_tate.col02 li {
        width: calc(50% - 20px);
        margin: 10px; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex_tate.col02 li {
            width: 100%;
            margin: 10px 0; } }
      .main .area_main .sec_flex_tate li .block_img {
        width: 100%;
        margin-top: 20px; }
        .main .area_main .sec_flex_tate li .block_img .img {
          height: 300px;
          width: 100%; }
        .main .area_main .sec_flex_tate li .block_img img {
          object-fit: cover;
          font-family: 'object-fit: cover;';
          /*IE対策*/
          width: 100%;
          height: 100%; }
    .main .area_main .img_caption {
      font-size: 1.4rem;
      margin-top: 10px;
      text-align: left;
      letter-spacing: 0px; }
    .main .area_main .sec_list .dot_type ul {
      list-style: none;
      margin-bottom: 30px; }
      .main .area_main .sec_list .dot_type ul:last-child {
        margin-bottom: 0; }
    .main .area_main .sec_boxlist {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: 30px -1px 0 -1px; }
      .main .area_main .sec_boxlist li {
        width: calc(50% - 2px);
        margin: 1px;
        padding: 15px;
        box-sizing: border-box;
        background: #F0EAF6; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_boxlist li {
            width: 100%; } }
    .main .area_main .caution_list li {
      font-size: 1.2rem;
      letter-spacing: 0px; }
    .main .area_main .sec_flex_bg {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: 30px -5px 0 -5px; }
      .main .area_main .sec_flex_bg li {
        width: calc(50% - 10px);
        background: #FAF8FC;
        padding: 50px;
        box-sizing: border-box;
        margin: 5px;
        display: flex;
        flex-direction: column; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex_bg li {
            width: 100%;
            padding: 20px; } }
        .main .area_main .sec_flex_bg li .parts_txt {
          flex-grow: 1; }
        .main .area_main .sec_flex_bg li .point_uline {
          font-size: 1.8rem;
          color: #191970;
          text-align: center;
          position: relative;
          margin-bottom: 50px; }
          .main .area_main .sec_flex_bg li .point_uline:before {
            content: "";
            display: block;
            width: 30px;
            height: 1px;
            position: absolute;
            bottom: -30px;
            background: #191970;
            left: 0;
            right: 0;
            margin: 0 auto; }
          .main .area_main .sec_flex_bg li .point_uline span {
            font-size: 80%;
            display: block; }
        .main .area_main .sec_flex_bg li .btn_more {
          margin-top: 20px; }
          .main .area_main .sec_flex_bg li .btn_more a {
            max-width: 100%;
            color: #fff; }
    .main .area_main .sec_flex_txt {
      display: flex;
      flex-wrap: wrap;
      margin: 30px -10px 0 -10px; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_flex_txt {
          margin: 30px 0 0 0; } }
      .main .area_main .sec_flex_txt.col02 li {
        width: calc(50% - 20px); }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex_txt.col02 li {
            width: 100%; } }
      .main .area_main .sec_flex_txt.col03 li {
        width: calc(33.333% - 20px); }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex_txt.col03 li {
            width: 100%; } }
      .main .area_main .sec_flex_txt li {
        margin: 10px;
        position: relative;
        padding-bottom: 80px; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex_txt li {
            margin: 20px 0 0 0;
            padding-bottom: 0; } }
        .main .area_main .sec_flex_txt li .parts_txt {
          margin-top: 15px; }
        .main .area_main .sec_flex_txt li .img {
          height: 200px; }
          .main .area_main .sec_flex_txt li .img img {
            object-fit: cover;
            font-family: 'object-fit: cover;';
            /*IE対策*/
            width: 100%;
            height: 100%; }
        .main .area_main .sec_flex_txt li .title {
          background: #fff;
          width: 90%;
          padding: 30px;
          box-sizing: border-box;
          text-align: center;
          margin: -30px auto 0 auto;
          position: relative;
          z-index: 1;
          box-shadow: 0px -2px 6px #0000001A;
          display: flex;
          justify-content: center;
          align-items: center; }
          .main .area_main .sec_flex_txt li .title p {
            position: relative;
            color: #191970;
            font-size: 2rem;
            padding-bottom: 15px; }
            .main .area_main .sec_flex_txt li .title p:after {
              content: "";
              display: block;
              width: 50%;
              height: 1px;
              background: #191970;
              position: absolute;
              bottom: 0px;
              left: 0;
              right: 0;
              margin: 0 auto; }
        .main .area_main .sec_flex_txt li .btn_more {
          position: absolute;
          bottom: 0;
          width: 100%; }
          @media all and (max-width: 896px) {
            .main .area_main .sec_flex_txt li .btn_more {
              position: relative;
              margin: 20px 0 0 0; } }
          .main .area_main .sec_flex_txt li .btn_more a {
            max-width: 100%; }
    .main .area_main .sec_flex_imglink {
      display: flex;
      flex-wrap: wrap;
      margin: 30px -5px 0 -5px; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_flex_imglink {
          margin: 30px;
          justify-content: center; } }
      @media all and (max-width: 480px) {
        .main .area_main .sec_flex_imglink {
          margin: 20px 0 0 0; } }
      .main .area_main .sec_flex_imglink.yoko {
        justify-content: center; }
        .main .area_main .sec_flex_imglink.yoko li {
          height: 200px;
          width: calc(33.333% - 10px); }
          @media all and (max-width: 480px) {
            .main .area_main .sec_flex_imglink.yoko li {
              width: calc(50% - 10px);
              height: 150px; } }
          .main .area_main .sec_flex_imglink.yoko li:before {
            display: none; }
      .main .area_main .sec_flex_imglink li {
        position: relative;
        width: calc(25% - 10px);
        overflow: hidden;
        margin: 5px; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex_imglink li {
            width: calc(33.333% - 10px); } }
        @media all and (max-width: 480px) {
          .main .area_main .sec_flex_imglink li {
            width: calc(50% - 10px); } }
        .main .area_main .sec_flex_imglink li:before {
          content: "";
          display: block;
          padding-top: 100%; }
        .main .area_main .sec_flex_imglink li:hover img {
          transform: scale(1.1);
          transition: 0.3s; }
        .main .area_main .sec_flex_imglink li a {
          height: 100%;
          width: 100%;
          position: absolute;
          top: 0;
          right: 0;
          display: flex;
          justify-content: center;
          align-items: center; }
          .main .area_main .sec_flex_imglink li a:hover {
            opacity: 1; }
          .main .area_main .sec_flex_imglink li a:before {
            content: "";
            background: #000;
            opacity: 0.5;
            display: block;
            width: calc(100% - 20px);
            height: calc(100% - 20px);
            position: absolute;
            top: 10px;
            right: 10px;
            z-index: 1; }
          .main .area_main .sec_flex_imglink li a img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            object-fit: cover;
            font-family: 'object-fit: cover;';
            /*IE対策*/
            width: 100%;
            height: 100%; }
          .main .area_main .sec_flex_imglink li a p {
            position: relative;
            z-index: 1;
            text-align: center;
            color: #fff;
            line-height: 1.4em;
            font-size: 1.8rem;
            margin-top: 8px;
            letter-spacing: 1px; }
            @media all and (max-width: 480px) {
              .main .area_main .sec_flex_imglink li a p {
                font-size: 1.5rem; } }
    .main .area_main .sec_list_btn {
      display: flex;
      flex-wrap: wrap;
      margin: 30px -5px 0 -5px; }
      .main .area_main .sec_list_btn a {
        position: relative;
        display: block;
        width: calc(33.333% - 10px);
        text-align: center;
        color: #fff;
        padding: 20px;
        box-sizing: border-box;
        text-align: left;
        position: relative;
        border: 1px solid #191970;
        margin: 5px; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_list_btn a {
            width: calc(50% - 10px); } }
        @media all and (max-width: 480px) {
          .main .area_main .sec_list_btn a {
            width: 100%;
            padding: 15px; } }
        .main .area_main .sec_list_btn a:after {
          position: absolute;
          top: 40%;
          right: 10px;
          content: "";
          display: block;
          width: 18px;
          height: 6px; }
    .main .area_main .sec_box_txt {
      padding: 20px;
      box-sizing: border-box;
      border: 1px solid #191970;
      color: #191970; }
      .main .area_main .sec_box_txt.bg_c {
        background: #F8F4F9; }
    .main .area_main .sec_flex_img {
      display: flex;
      flex-wrap: wrap;
      margin: 30px -5px 0 -5px; }
      .main .area_main .sec_flex_img.col03 li {
        width: calc(33.333% - 10px); }
        @media all and (max-width: 480px) {
          .main .area_main .sec_flex_img.col03 li {
            width: 100%; } }
      .main .area_main .sec_flex_img.col02 li {
        width: calc(50% - 10px); }
        @media all and (max-width: 480px) {
          .main .area_main .sec_flex_img.col02 li {
            width: 100%; } }
      .main .area_main .sec_flex_img.col01 li {
        width: calc(100% - 10px); }
        .main .area_main .sec_flex_img.col01 li .img {
          height: auto; }
      .main .area_main .sec_flex_img li {
        margin: 5px; }
        .main .area_main .sec_flex_img li .img {
          height: 300px; }
          .main .area_main .sec_flex_img li .img img {
            object-fit: cover;
            font-family: 'object-fit: cover;';
            /*IE対策*/
            width: 100%;
            height: 100%; }
        .main .area_main .sec_flex_img li .movie {
          position: relative;
          width: 100%;
          padding: calc(315 / 560 * 100%) 0 0; }
          .main .area_main .sec_flex_img li .movie iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%; }
    .main .area_main table {
      font-size: 1.4rem; }
      .main .area_main table tr th {
        padding: 10px;
        box-sizing: border-box; }
      .main .area_main table tr td {
        padding: 10px;
        box-sizing: border-box; }
      .main .area_main table .bg_purple {
        background: #F0EAF6; }
      .main .area_main table .bg_green {
        background: #EBF6EC; }
      .main .area_main table .bg_red {
        background: #F5E8E8; }
      .main .area_main table .bg_gray {
        background: #EFEFEF; }
      .main .area_main table img {
        height: auto;
        vertical-align: top; }
    .main .area_main .sec_flex_table {
      margin: 30px -10px 0 -10px;
      display: flex;
      flex-wrap: wrap; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_flex_table {
          margin: 30px 0 0 0; } }
      .main .area_main .sec_flex_table img {
        height: auto;
        vertical-align: top; }
      .main .area_main .sec_flex_table.col02 li {
        width: calc(50% - 20px);
        margin: 10px; }
        @media all and (max-width: 896px) {
          .main .area_main .sec_flex_table.col02 li {
            width: 100%;
            margin: 20px 0 0 0; } }
      .main .area_main .sec_flex_table li table {
        width: 100%;
        margin-top: 20px;
        border-spacing: 0px;
        border-right: 1px solid #191970;
        border-bottom: 1px solid #191970;
        border-collapse: inherit; }
        .main .area_main .sec_flex_table li table tr:nth-child(odd) {
          background: #F8F4F9; }
        .main .area_main .sec_flex_table li table tr th {
          background: #191970;
          color: #fff;
          border: 1px solid #191970;
          border-right: 0px;
          border-bottom: 0px;
          border-left: 1px solid #fff;
          text-align: center;
          vertical-align: middle;
          padding: 10px;
          box-sizing: border-box; }
          .main .area_main .sec_flex_table li table tr th:first-child {
            border-left: 1px solid #191970; }
          .main .area_main .sec_flex_table li table tr th:last-child {
            border-right: 1px solid #191970; }
        .main .area_main .sec_flex_table li table tr td {
          border: 1px solid #191970;
          border-right: 0px;
          border-bottom: 0px;
          vertical-align: middle;
          padding: 10px;
          box-sizing: border-box; }
        .main .area_main .sec_flex_table li table tr .bg_c {
          background: #BDA8D1 !important;
          color: #fff;
          text-align: center;
          border: 1px solid #191970;
          border-right: 0px;
          border-bottom: 0px; }
        .main .area_main .sec_flex_table li table tr ul li {
          width: auto !important;
          text-indent: -1.2em;
          margin: 5px 0 0 1.5em !important; }
    @media all and (max-width: 896px) {
      .main .area_main .sec_table.scroll table {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch; } }
    .main .area_main .sec_table table {
      width: 100%;
      border: 1px solid #E1E1E1; }
      .main .area_main .sec_table table tr:first-child td {
        text-align: center;
        background: #EFEFEF;
        vertical-align: middle;
        font-weight: bold; }
      .main .area_main .sec_table table tr th {
        border-right: 1px solid #E1E1E1;
        border-bottom: 1px solid #E1E1E1;
        text-align: center;
        background: #EFEFEF;
        vertical-align: middle; }
        .main .area_main .sec_table table tr th:last-child {
          border-right: 1px solid #E1E1E1; }
      .main .area_main .sec_table table tr td {
        border-right: 1px solid #E1E1E1;
        border-bottom: 1px solid #E1E1E1;
        vertical-align: middle; }
      .main .area_main .sec_table table ul li {
        width: auto !important;
        text-indent: -1.2em;
        margin: 5px 0 0 1.5em; }
      .main .area_main .sec_table table ol {
        list-style: decimal; }
        .main .area_main .sec_table table ol li {
          width: auto !important;
          margin: 5px 0 0 1.5em; }
    .main .area_main .sec_column.left .block_txt {
      margin: -10vw auto 0 0; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_column.left .block_txt {
          margin: -5vw auto 0 0; } }
      @media all and (max-width: 480px) {
        .main .area_main .sec_column.left .block_txt {
          margin: -50px auto 0 auto; } }
    .main .area_main .sec_column.right .block_txt {
      margin: -10vw 0 0 auto; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_column.right .block_txt {
          margin: -5vw 0 0 auto; } }
      @media all and (max-width: 480px) {
        .main .area_main .sec_column.right .block_txt {
          margin: -50px auto 0 auto; } }
    .main .area_main .sec_column .block_img {
      height: 500px;
      display: flex; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_column .block_img {
          height: 300px; } }
      @media all and (max-width: 480px) {
        .main .area_main .sec_column .block_img {
          height: 200px; } }
      .main .area_main .sec_column .block_img li {
        width: 100%;
        display: flex;
        flex-wrap: wrap; }
        .main .area_main .sec_column .block_img li:nth-child(even) {
          margin: 0 0 0 10px; }
        .main .area_main .sec_column .block_img li img {
          object-fit: cover;
          font-family: 'object-fit: cover;';
          /*IE対策*/
          width: 100%;
          height: 100%; }
        .main .area_main .sec_column .block_img li div {
          height: calc(50% - 5px);
          width: 100%; }
          .main .area_main .sec_column .block_img li div:nth-child(even) {
            margin: 10px 0 0 0; }
    .main .area_main .sec_column .block_txt {
      max-width: 60vw;
      padding: 50px;
      box-sizing: border-box;
      background: #fff;
      position: relative;
      z-index: 1; }
      @media all and (max-width: 896px) {
        .main .area_main .sec_column .block_txt {
          max-width: 80vw; } }
      @media all and (max-width: 480px) {
        .main .area_main .sec_column .block_txt {
          padding: 20px; } }

.sidenav {
  min-width: 300px;
  margin-left: 20px; }
  @media all and (max-width: 1025px) {
    .sidenav {
      margin: 30px 0 0 0;
      width: 100%; } }
  .sidenav .area_sidenav h2 {
    padding: 15px;
    box-sizing: border-box;
    border: 1px solid #191970;
    color: #191970;
    font-weight: bold;
    font-size: 1.8rem; }
  .sidenav .area_sidenav ul {
    margin-top: 20px; }
    .sidenav .area_sidenav ul > li {
      border-bottom: 1px solid #ddd;
      margin: 0 0 0 10px;
      box-sizing: border-box; }
      .sidenav .area_sidenav ul > li.a_none:hover {
        background: none; }
      .sidenav .area_sidenav ul > li.a_none a {
        color: #c7c7c7;
        pointer-events: none; }
      .sidenav .area_sidenav ul > li a {
        display: block;
        padding: 15px 10px 15px 35px;
        box-sizing: border-box;
        position: relative; }
        .sidenav .area_sidenav ul > li a.current_menu_item {
          background: #191970;
          color: #fff; }
          .sidenav .area_sidenav ul > li a.current_menu_item:before {
            border-right: 1px solid #fff;
            border-bottom: 1px solid #fff; }
        .sidenav .area_sidenav ul > li a:before {
          content: '';
          position: absolute;
          top: 40%;
          left: 5px;
          width: 16px;
          height: 5px;
          margin-right: 2px;
          -webkit-transform: skew(45deg);
          transform: skew(45deg);
          -webkit-transition: all 400ms ease;
          transition: all 400ms ease;
          border-right: 1px solid #191970;
          border-bottom: 1px solid #191970; }
        .sidenav .area_sidenav ul > li a:hover {
          background: #191970;
          color: #fff;
          opacity: 1; }
          .sidenav .area_sidenav ul > li a:hover:before {
            border-right: 1px solid #fff;
            border-bottom: 1px solid #fff; }
      .sidenav .area_sidenav ul > li .accTitle {
        position: relative;
        cursor: pointer; }
        .sidenav .area_sidenav ul > li .accTitle span {
          display: block;
          padding: 15px 10px 15px 35px;
          box-sizing: border-box; }
          .sidenav .area_sidenav ul > li .accTitle span:before {
            content: '';
            position: absolute;
            top: 40%;
            left: 5px;
            width: 16px;
            height: 5px;
            margin-right: 2px;
            -webkit-transform: skew(45deg);
            transform: skew(45deg);
            -webkit-transition: all 400ms ease;
            transition: all 400ms ease;
            border-right: 1px solid #191970;
            border-bottom: 1px solid #191970; }
        .sidenav .area_sidenav ul > li .accTitle::after {
          content: '';
          display: block;
          width: 10px;
          height: 2px;
          border-radius: 5px;
          position: absolute;
          right: 20px;
          top: 50%;
          transform: translateY(-50%);
          background: #191970;
          /* 横棒を縦 90度回転 */
          transform: translateY(-50%) rotate(90deg);
          /* +→-アニメーション */
          transition: 0.5s; }
        .sidenav .area_sidenav ul > li .accTitle::before {
          content: '';
          display: block;
          width: 10px;
          height: 2px;
          border-radius: 5px;
          background: #191970;
          position: absolute;
          right: 20px;
          top: 50%;
          transform: translateY(-50%); }
        .sidenav .area_sidenav ul > li .accTitle.accOn::after {
          transform: rotate(0);
          transition: 0.5s; }
      .sidenav .area_sidenav ul > li .accInner {
        display: none;
        margin-top: 0; }
        .sidenav .area_sidenav ul > li .accInner li:last-child {
          border-bottom: none; }
        .sidenav .area_sidenav ul > li .accInner li a {
          font-size: 1.4rem;
          padding: 10px 10px 10px 35px; }

table.certificateform th {
  width: 190px; }
  @media all and (max-width: 480px) {
    table.certificateform th {
      width: 30%; } }
table.certificateform td.empty {
  background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #999 50%, #999 calc(50% + 0.5px), transparent calc(50% + 1px)); }
table.certificateform td:nth-of-type(3) {
  width: 200px; }
  @media all and (max-width: 480px) {
    table.certificateform td:nth-of-type(3) {
      width: 20%; } }
@media all and (max-width: 480px) {
  table.certificateform .mwform-radio-field {
    display: table-row; } }
@media all and (max-width: 480px) {
  table.certificateform input[type="file"] {
    padding: 0; } }
@media all and (max-width: 480px) {
  table.certificateform input[name="addr11"], table.certificateform input[type="email"] {
    width: 100%; } }
table.certificateform input[type="number"] {
  width: 120px; }
