@charset "UTF-8";
body, h1, h2, h3, h4, h5, p, figure, dl, dt, dd, ul, li {
  margin: 0;
  padding: 0; }

body {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, "メイリオ", sans-serif;
  color: #000; }

img {
  max-width: 100%;
  max-height: 100%; }

#wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.section_head {
  background: #fff;
  line-height: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.head_inner {
  max-width: 1400px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .head_inner::after {
    content: "";
    display: block;
    clear: both; }
  .head_inner > a {
    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;
    height: 8.511vw;
    max-height: 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .head_inner > a:nth-child(1) {
      float: left;
      width: 22.341%;
      max-width: 210px; }
      .head_inner > a:nth-child(1) img {
        width: 83.81%;
        margin: 0 0.953% 2.858% 10px; }
    .head_inner > a:nth-child(2) {
      float: right;
      width: 19.681%;
      max-width: 185px; }
      .head_inner > a:nth-child(2) img {
        width: 80.541%;
        margin: 1.622% calc(1.082% + 10px) 0 0; }

.section_hero {
  background: #fff;
  line-height: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.hero_inner {
  max-width: 1400px;
  height: 450px;
  margin: 0 auto;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.hero_slider {
  position: relative;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .hero_slider > h1 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    transform: translate(100%, 0);
    -webkit-transition: -webkit-transform 750ms linear 0ms;
    transition: -webkit-transform 750ms linear 0ms;
    -o-transition: transform 750ms linear 0ms;
    transition: transform 750ms linear 0ms;
    transition: transform 750ms linear 0ms, -webkit-transform 750ms linear 0ms;
    overflow: hidden; }
    .hero_slider > h1 > img {
      position: absolute;
      width: 1400px;
      max-width: none;
      height: 100%;
      left: 50%;
      top: 0;
      bottom: 0;
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0); }
    .hero_slider > h1.current {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      z-index: 5; }
    .hero_slider > h1.last {
      -webkit-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
      transform: translate(-100%, 0);
      z-index: 3; }

.section_body {
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.body_inner {
  max-width: 940px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.body_lead {
  padding: 3.618% 0 3.511%;
  letter-spacing: 0.05em;
  line-height: 1.945em;
  font-size: 1.915vw;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  text-align: center; }

.body_title {
  position: relative;
  background: #fff;
  width: 56.383%;
  max-width: 530px;
  margin: 0 auto 5.213%;
  line-height: 0;
  text-align: center;
  -webkit-transition: opacity 80ms linear 0ms;
  -o-transition: opacity 80ms linear 0ms;
  transition: opacity 80ms linear 0ms; }
  .body_title::before, .body_title::after {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .body_title::before {
    border-top: 2px solid #000;
    top: 0; }
  .body_title::after {
    border-bottom: 2px solid #000;
    bottom: 0; }
  .body_title > span {
    position: absolute;
    pointer-events: none;
    z-index: 5; }
    .body_title > span.pl3 {
      width: 11.699%;
      right: 0.755%;
      top: 72.728%; }
  .body_title.animated {
    opacity: 1; }

.body_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 82.979%;
  min-width: 702px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .body_list > div {
    width: 25%; }
    .body_list > div > dt {
      position: relative;
      background: #fff;
      line-height: 0;
      text-align: center;
      -webkit-transition: opacity 80ms linear 0ms;
      -o-transition: opacity 80ms linear 0ms;
      transition: opacity 80ms linear 0ms;
      cursor: pointer; }
      .body_list > div > dt > img {
        position: absolute;
        width: 100%;
        height: auto;
        max-height: none;
        left: 0;
        right: 0;
        top: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
    .body_list > div > dd {
      position: relative;
      display: none;
      background: #fff;
      width: 400%;
      padding: 15px 5.129% 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .body_list > div > dd > div {
        position: relative;
        background: #000;
        margin: 0;
        padding: 7.764% 8.553% 1.448%; }
        .body_list > div > dd > div::before {
          content: "";
          position: absolute;
          background: #fff;
          width: 100%;
          left: 0;
          right: 0;
          top: 2px;
          bottom: 2px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          z-index: 2; }
        .body_list > div > dd > div::after {
          content: "";
          position: absolute;
          background: #fff;
          border-right: 2px solid #000;
          border-top: 2px solid #000;
          width: 20px;
          height: 20px;
          top: -9px;
          -webkit-transform: rotateZ(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotateZ(-45deg);
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          z-index: 1; }
        .body_list > div > dd > div > * {
          position: relative;
          z-index: 5; }
    .body_list > div.item01 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_01.png); }
    .body_list > div.item02 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_02.png); }
    .body_list > div.item03 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_03.png); }
    .body_list > div.item04 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_04.png); }
    .body_list > div.item05 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_05.png); }
    .body_list > div.item06 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_06.png); }
    .body_list > div.item07 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_07.png); }
    .body_list > div.item08 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_08.png); }
    .body_list > div.item09 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_09.png); }
    .body_list > div.item10 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_10.png); }
    .body_list > div.item11 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_11.png); }
    .body_list > div.item12 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_12.png); }
    .body_list > div.item13 .body_caption > div > h3::before {
      background-image: url(../images/body_list_img_13.png); }
    .body_list > div.animated > dt {
      opacity: 1; }
    .body_list > div.active {
      z-index: 3; }
    .body_list > div.current {
      z-index: 10; }
    .body_list > div.new > dt:after {
      content: "";
      position: absolute;
      background-color: #e40012;
      background-image: url(../images/body_list_ico_new_01.png);
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      border-radius: 50%;
      width: 19.488%;
      left: 0;
      top: 0;
      margin: -3.589% 0 0 18.462%;
      padding: 19.488% 0 0;
      pointer-events: none; }
  .body_list.open > div > dt > img {
    opacity: 0.25; }
  .body_list.open > div.active > dt > img {
    opacity: 1; }

.body_caption > div > h3 {
  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;
  letter-spacing: 0.025em;
  line-height: 1.521em;
  font-size: 2.554vw;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"; }
  .body_caption > div > h3::before {
    content: "";
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    width: 14.167em;
    height: 8.875em;
    margin: 0 0.834em 0 0; }
  .body_caption > div > h3 > img {
    display: none !important;
    width: 0;
    height: 0; }
  .body_caption > div > h3 + p {
    margin-top: 3.016%; }

.body_caption > div > p {
  letter-spacing: 0.04em;
  line-height: 1.648em;
  font-size: 1.809vw;
  text-align: justify; }
  .body_caption > div > p > small {
    display: block;
    margin-top: 1.7em;
    padding-left: 1em;
    letter-spacing: 0.02em;
    line-height: 1.3em;
    font-size: 0.589em;
    text-indent: -1em; }
    .body_caption > div > p > small.int {
      padding-left: 2em;
      text-indent: -2em; }
    .body_caption > div > p > small + small {
      margin-top: 0; }
  .body_caption > div > p > sup {
    line-height: 1;
    font-size: 0.5em; }
  .body_caption > div > p + ul {
    margin-top: 1.747%; }
  .body_caption > div > p + a {
    margin-top: 5.874%; }
  .body_caption > div > p + .body_btn {
    margin-top: 7.62%; }
  .body_caption > div > p + .body_box {
    margin-top: 4.127%; }

.body_caption > div > ul {
  list-style: none;
  font-size: 1.809vw; }
  .body_caption > div > ul > li {
    border-bottom: 1px solid #b2b2b2;
    padding: 0.618em 0;
    line-height: 1.412em;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .body_caption > div > ul > li:last-child {
      border-bottom: none; }
  .body_caption > div > ul sup {
    line-height: 1;
    font-size: 0.5em; }
  .body_caption > div > ul + p {
    margin-top: 2.143%; }

.body_caption > div > a {
  display: block;
  width: 59.048%;
  margin: 0 auto;
  line-height: 0;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .body_caption > div > a.wid01 {
    width: 66.985%; }
  .body_caption > div > a + a {
    margin-top: 2.699%; }
  .body_caption > div > a + .body_btn {
    margin-top: 4.762%; }

.body_btn {
  width: 4.445%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer; }

.body_box {
  position: relative;
  border: 1px solid #000;
  padding: 0 3.969%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .body_box::after {
    content: "";
    display: block;
    clear: both; }
  .body_box > h4 {
    position: absolute;
    background: #fff;
    width: 10.5em;
    left: 0;
    top: 0;
    margin: -0.5em 0 0 1.143em;
    letter-spacing: 0.06em;
    font-size: 1.49vw;
    font-weight: normal;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 1;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .body_box > h4 + p {
      padding: 1.389em 0 0;
      line-height: 1.389em;
      font-size: 1.915vw;
      font-weight: bold; }
  .body_box > p {
    letter-spacing: 0.05em;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"; }
    .body_box > p > sup {
      line-height: 1;
      font-size: 0.5em; }
  .body_box > h5 {
    position: relative;
    margin: 1.286em 0 0.429em;
    line-height: 1;
    font-size: 1.49vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .body_box > h5::before {
      content: "";
      position: absolute;
      border-bottom: 1px solid #000;
      left: 8.572em;
      right: 0;
      top: 50%;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
  .body_box > figure {
    float: right;
    width: 46.713%;
    line-height: 0; }
    .body_box > figure + p {
      padding: 0.5em 0 0;
      line-height: 1.572em;
      font-size: 1.49vw; }
  .body_box > dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin: 3.288% 0 0; }
    .body_box > dl dt {
      width: 100%;
      max-width: 23em;
      padding: 0 1em 0 0;
      letter-spacing: 0.03em;
      line-height: 1.546em;
      font-size: 1.171vw;
      font-weight: bold;
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    .body_box > dl dd {
      margin: 0.693em 0 0;
      line-height: 1;
      font-size: 1.383vw;
      font-weight: bold;
      text-align: center; }
      .body_box > dl dd strong {
        margin-left: 0.2em;
        line-height: 1;
        font-size: 1.77em;
        color: #ee835c; }
      .body_box > dl dd span {
        font-size: 1.462em;
        font-weight: normal;
        color: #ee835c; }
      .body_box > dl dd small {
        display: block;
        margin: 0.455em 0 0;
        line-height: 1;
        font-size: 0.847em;
        font-weight: normal; }
      .body_box > dl dd:nth-of-type(1) {
        margin-right: 1.539em; }
    .body_box > dl + p {
      margin: 0 -1em 0 0;
      padding: 1.5em 0 0.5em;
      line-height: 1.5em;
      font-size: 1.064vw;
      clear: both;
      text-align: right; }
  .body_box + a {
    margin-top: 5.556% !important; }

.section_sns {
  background: #fff;
  line-height: 0;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.sns_inner {
  max-width: 940px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.sns_title {
  position: relative;
  width: 31.915%;
  margin: 8.724% auto 2.554%;
  -webkit-transition: opacity 80ms linear 0ms;
  -o-transition: opacity 80ms linear 0ms;
  transition: opacity 80ms linear 0ms; }
  .sns_title::before, .sns_title::after {
    content: "";
    position: absolute;
    border-bottom: 1px solid #000;
    width: 36.667%;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .sns_title::before {
    left: 0; }
  .sns_title::after {
    right: 0; }
  .sns_title img {
    position: relative;
    width: 19.334%;
    margin: 0 auto; }
  .sns_title.animated {
    opacity: 1; }

.sns_list {
  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;
  list-style: none; }
  .sns_list > li {
    display: block;
    width: 3.724%;
    margin: 0 0.958%;
    -webkit-transition: opacity 80ms linear 0ms;
    -o-transition: opacity 80ms linear 0ms;
    transition: opacity 80ms linear 0ms; }
    .sns_list > li a {
      display: block;
      background: #000;
      border-radius: 50%; }
    .sns_list > li:nth-child(2) {
      -webkit-transition-delay: 80ms;
      -o-transition-delay: 80ms;
      transition-delay: 80ms; }
    .sns_list > li:nth-child(3) {
      -webkit-transition-delay: 160ms;
      -o-transition-delay: 160ms;
      transition-delay: 160ms; }
    .sns_list > li.animated {
      opacity: 1; }

.section_foot {
  background: #fff;
  line-height: 0;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.foot_inner {
  border-top: 1px solid #000;
  width: 95.745%;
  max-width: 900px;
  margin: 4.788% auto 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .foot_inner > p {
    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;
    margin: 0 auto;
    padding: 1.112% 0 5%;
    letter-spacing: 0.02em;
    line-height: 1;
    font-size: 1.064vw;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"; }

@media (min-width: 768px) {
  .lg_none {
    display: none !important; }
  .head_inner > a:hover {
    opacity: 0.5; }
  .body_list > div > dt {
    padding: 86.154% 0 0; }
    .body_list > div > dt:hover > img {
      opacity: 0.5 !important; }
    .body_list > div > dt:hover::after {
      background-color: #f28089; }
  .body_list > div:nth-child(4n+1) > dd {
    margin: 0 -300% 0 0; }
    .body_list > div:nth-child(4n+1) > dd > div::after {
      left: 10.527%; }
  .body_list > div:nth-child(4n+2) > dt {
    -webkit-transition-delay: 80ms;
    -o-transition-delay: 80ms;
    transition-delay: 80ms; }
  .body_list > div:nth-child(4n+2) > dd {
    margin: 0 -200% 0 -100%; }
    .body_list > div:nth-child(4n+2) > dd > div::after {
      left: 35.527%; }
  .body_list > div:nth-child(4n+3) > dt {
    -webkit-transition-delay: 160ms;
    -o-transition-delay: 160ms;
    transition-delay: 160ms; }
  .body_list > div:nth-child(4n+3) > dd {
    margin: 0 -100% 0 -200%; }
    .body_list > div:nth-child(4n+3) > dd > div::after {
      left: 61.579%; }
  .body_list > div:nth-child(4n) > dt {
    -webkit-transition-delay: 240ms;
    -o-transition-delay: 240ms;
    transition-delay: 240ms; }
  .body_list > div:nth-child(4n) > dd {
    margin: 0 0 0 -300%; }
    .body_list > div:nth-child(4n) > dd > div::after {
      left: 87.369%; }
  .body_list > div:nth-last-child(2) > dd {
    margin: 0 -200% 0 -100%; }
    .body_list > div:nth-last-child(2) > dd > div::after {
      left: 35.527%; }
  .body_list > div:nth-last-child(1) > dd {
    margin: 0 -100% 0 -200%; }
    .body_list > div:nth-last-child(1) > dd > div::after {
      left: 61.579%; }
  .body_list > div.item05 > dt, .body_list > div.item06 > dt, .body_list > div.item07 > dt, .body_list > div.item08 > dt {
    padding: 96.411% 0 0; }
  .body_list > div:nth-child(n+5) {
    margin-top: 7.18%; }
  .body_list > div.active > dt, .body_list > div.current > dt {
    padding: 53.334% 0 0 !important; }
  .body_list > div.col3.lf {
    margin-left: 12.5%; }
    .body_list > div.col3.lf > dd {
      margin: 0 0 0 -50%; }
      .body_list > div.col3.lf > dd > div::after {
        left: 23.685%; }
  .body_list > div.col3.cn > dd {
    margin: 0 0 0 -150%; }
    .body_list > div.col3.cn > dd > div::after {
      left: 48.685%; }
  .body_list > div.col3.rt {
    margin-right: 12.5%; }
    .body_list > div.col3.rt > dd {
      margin: 0 0 0 -250%; }
      .body_list > div.col3.rt > dd > div::after {
        left: 74.343%; }
  .body_list > div.rest {
    display: none; }
  .body_caption > div > a:hover {
    opacity: 0.5; }
  .body_btn:hover {
    opacity: 0.5; }
  .sns_list > li a:hover {
    opacity: 0.5; } }

@media (min-width: 941px) {
  .body_lead {
    font-size: 18px; }
  .body_caption > div > h3 {
    font-size: 24px; }
  .body_caption > div > p {
    font-size: 17px; }
  .body_caption > div > ul {
    font-size: 17px; }
  .body_box > h4, .body_box > h5 {
    font-size: 14px; }
    .body_box > h4 + p, .body_box > h5 + p {
      font-size: 18px; }
  .body_box > figure + p {
    font-size: 14px; }
  .body_box > dl dt {
    font-size: 11px; }
  .body_box > dl dd {
    font-size: 13px; }
  .body_box > dl + p {
    font-size: 10px; }
  .foot_inner {
    margin: 45px auto 0; }
    .foot_inner > p {
      font-size: 10px; } }

@media (max-width: 767px) {
  .sm_none {
    display: none !important; }
  .head_inner {
    max-width: none; }
    .head_inner > a {
      height: 13.334vw;
      max-height: 100px; }
      .head_inner > a:nth-child(1) {
        width: 40%;
        max-width: 300px; }
        .head_inner > a:nth-child(1) img {
          width: 77.667%;
          margin: 0 0 2.667% 0.334%; }
      .head_inner > a:nth-child(2) {
        width: 33.334%;
        max-width: 250px; }
        .head_inner > a:nth-child(2) img {
          width: 84%;
          margin: 0 2.8% 1.6% 0; }
  .hero_inner {
    max-width: none;
    height: 102vw; }
  .hero_slider > h1 {
    -webkit-transition: -webkit-transform 300ms linear 0ms;
    transition: -webkit-transform 300ms linear 0ms;
    -o-transition: transform 300ms linear 0ms;
    transition: transform 300ms linear 0ms;
    transition: transform 300ms linear 0ms, -webkit-transform 300ms linear 0ms; }
    .hero_slider > h1 > img {
      width: 100.267vw;
      height: 102.272vw; }
  .body_inner {
    max-width: none; }
  .body_lead {
    padding: 4.267% 0 4.8%;
    line-height: 1.858em;
    font-size: 3.734vw; }
  .body_title {
    width: 86.667%;
    max-width: 650px;
    margin: 0 auto 7.467%; }
    .body_title::before {
      border-top: 1px solid #000; }
    .body_title::after {
      border-bottom: 1px solid #000; }
    .body_title > span.pl3 {
      width: 12.616%;
      right: -3.23%;
      top: 80.469%; }
  .body_list {
    width: 92%;
    min-width: auto; }
    .body_list > div {
      width: calc(100%/3); }
      .body_list > div > dt {
        padding: 95.653% 0 0; }
      .body_list > div > dd {
        width: 300%;
        padding: 13.044% 8.696% 0; }
        .body_list > div > dd > div {
          padding: 6.77% 3.077% 3.693%; }
          .body_list > div > dd > div::after {
            width: 5.6vw;
            height: 5.6vw;
            top: 0;
            margin-top: -2.769%; }
      .body_list > div:nth-child(3n+1) > dd {
        margin: 0 -200% 0 0; }
        .body_list > div:nth-child(3n+1) > dd > div::after {
          left: 11.693%; }
      .body_list > div:nth-child(3n+2) > dt {
        -webkit-transition-delay: 80ms;
        -o-transition-delay: 80ms;
        transition-delay: 80ms; }
      .body_list > div:nth-child(3n+2) > dd {
        margin: 0 -100%; }
        .body_list > div:nth-child(3n+2) > dd > div::after {
          left: 46.924%; }
      .body_list > div:nth-child(3n) > dt {
        -webkit-transition-delay: 160ms;
        -o-transition-delay: 160ms;
        transition-delay: 160ms; }
      .body_list > div:nth-child(3n) > dd {
        margin: 0 0 0 -200%; }
        .body_list > div:nth-child(3n) > dd > div::after {
          left: 82.154%; }
      .body_list > div:nth-last-child(1) > dd {
        margin: 0 -100%; }
        .body_list > div:nth-last-child(1) > dd > div::after {
          left: 46.924%; }
      .body_list > div.item04 > dt, .body_list > div.item05 > dt, .body_list > div.item06 > dt {
        padding: 106.957% 0 0; }
      .body_list > div:nth-child(n+4) {
        margin-top: 5.798%; }
      .body_list > div.active > dt, .body_list > div.current > dt {
        padding: 60.87% 0 0 !important; }
      .body_list > div.new > dt:after {
        width: 24.348%;
        left: 0;
        top: 0;
        margin: -2.173% 0 0 13.044%;
        padding: 24.348% 0 0;
        pointer-events: none; }
  .body_caption > div > h3 {
    display: block;
    border-bottom: 1px solid #000;
    padding: 0 0 0.5em;
    line-height: 1.362em;
    font-size: 4.8vw; }
    .body_caption > div > h3::before {
      width: 16.945em;
      height: 10.612em;
      margin: 0 0 0.667em; }
    .body_caption > div > h3 + p {
      margin-top: 2.787%; }
  .body_caption > div > p {
    letter-spacing: 0.06em;
    line-height: 1.643em;
    font-size: 3.734vw; }
    .body_caption > div > p > small {
      margin-top: 0.6em;
      letter-spacing: normal;
      line-height: 1.4em;
      font-size: 0.715em; }
    .body_caption > div > p + ul {
      margin-top: 2.296%; }
    .body_caption > div > p + a {
      margin-top: 7.541%; }
    .body_caption > div > p + .body_btn {
      margin-top: 5.574%; }
    .body_caption > div > p + .body_box {
      margin-top: 6.066%; }
  .body_caption > div > ul {
    font-size: 3.734vw; }
    .body_caption > div > ul > li {
      padding: 0.572em 0;
      line-height: 1.429em; }
    .body_caption > div > ul + p {
      margin-top: 2.132%; }
  .body_caption > div > a {
    width: 90.164%; }
    .body_caption > div > a.wid01 {
      width: 101.968%;
      margin-left: -0.983%;
      margin-right: -0.983%; }
    .body_caption > div > a + a {
      margin-top: 4.427%; }
    .body_caption > div > a + .body_btn {
      margin-top: 5.574%; }
  .body_btn {
    width: 8.853%; }
  .body_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0 5.246%; }
    .body_box > h4 {
      width: 9.969em;
      margin: -0.5em 0 0 0.929em;
      font-size: 3.734vw; }
      .body_box > h4 + p {
        padding: 0.917em 0 0;
        line-height: 1.417em;
        font-size: 4.8vw; }
    .body_box > p > sup {
      vertical-align: top; }
    .body_box > h5 {
      margin: 0.667em 0 0.367em;
      font-size: 4vw; }
      .body_box > h5::before {
        left: 8.5em; }
    .body_box > figure {
      -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
      order: 10;
      float: none;
      width: 100.37%;
      margin: 4.244% -0.369% 0; }
      .body_box > figure + p {
        padding: 0;
        line-height: 1.539em;
        font-size: 3.467vw; }
    .body_box > dl {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin: 3.691% 0 0; }
      .body_box > dl dt {
        max-width: none;
        padding: 0;
        letter-spacing: 0.05em;
        line-height: 1.459em;
        font-size: 3.2vw; }
      .body_box > dl dd {
        margin: 0.75em -0.458em 0;
        font-size: 3.2vw; }
        .body_box > dl dd strong {
          font-size: 1.334em; }
        .body_box > dl dd span {
          font-size: 1em; }
        .body_box > dl dd small {
          margin: 0.319em 0 0;
          font-size: 0.917em; }
        .body_box > dl dd:nth-of-type(1) {
          margin-right: 1.25em; }
      .body_box > dl + p {
        -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
        order: 11;
        margin: 0;
        padding: 0.819em 0;
        line-height: 1.364em;
        font-size: 2.934vw;
        text-align: justify; }
    .body_box + a {
      margin-top: 10% !important; }
  .sns_inner {
    max-width: none; }
  .sns_title {
    width: 80%;
    margin: 10% auto 6.4%; }
    .sns_title img {
      width: 19%; }
  .sns_list > li {
    width: 9.334%;
    margin: 0 5.334%; }
  .foot_inner {
    width: 96%;
    max-width: none;
    margin: 12.534% auto 0; }
    .foot_inner > p {
      padding: 2.778% 1em 5.556%;
      line-height: 1.3;
      font-size: 2.667vw; } }
