@charset "UTF-8";
/*----------------------------------------
       Reset
----------------------------------------*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: none; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

html {
  font-size: 62.5%; }

body {
  font-size: 1.6rem;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  word-wrap: break-word;
  color: #333; }

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

a {
  color: #000;
  text-decoration: none;
  transition: all .2s ease-in-out; }

a:hover,
a:active {
  text-decoration: underline; }

a img {
  border: none; }

a.over:hover,
a:hover img,
input.over:hover {
  text-decoration: none;
  filter: alpha(opacity=70);
  -moz-opacity: .7;
  opacity: .7; }

sub {
  font-size: 70%; }

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
sup {
  font-size: 70%;
  vertical-align: top; }

.atten {
  color: #c81528; }

.note {
  font-size: 1rem;
  color: #333; }

.only_sp {
  display: inherit; }
  @media only screen and (min-width: 769px) {
    .only_sp {
      display: none; } }

.only_pc {
  display: none; }
  @media only screen and (min-width: 769px) {
    .only_pc {
      display: inherit; } }

.movie__wrap__inner {
  width: 100%;
  aspect-ratio: 16 / 9; }

.movie__wrap__inner iframe {
  width: 100%;
  height: 100%; }

/*ヘッダー*/
.header {
  width: 100vw;
  padding: 2vw 3.8vw; }
  @media only screen and (min-width: 769px) {
    .header {
      width: 100%;
      padding: calc(20 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .header {
      width: 1200px;
      margin: 0 auto;
      padding: 20px; } }
  .header .hdlogo {
    width: 42.56vw; }
    @media only screen and (min-width: 769px) {
      .header .hdlogo {
        width: calc(334 / 1200 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .header .hdlogo {
        width: 334px; } }

/*フッター*/
.footer {
  width: 100vw;
  background: #fff;
  font-weight: normal;
  background-image: url("../img/cmn/ft_line_sp.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center; }
  @media only screen and (min-width: 769px) {
    .footer {
      width: 100%;
      background-image: url("../img/cmn/ft_line_pc.png");
      background-size: auto;
      background-repeat: repeat-x;
      background-position: top center; } }
  .footer__inner {
    padding: 6vw 3vw 3.6vw; }
    @media only screen and (min-width: 769px) {
      .footer__inner {
        width: 100%;
        padding: calc(63 / 1000 * 100vw) calc(20 / 1000 * 100vw) calc(50 / 1000 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .footer__inner {
        width: 1200px;
        margin: 0 auto;
        padding: 63px 20px 50px; } }
  .footer__logo {
    line-height: 1; }
    .footer__logo img:first-child {
      width: 33.33vw;
      margin: 0 0 2vw; }
      @media only screen and (min-width: 769px) {
        .footer__logo img:first-child {
          width: calc(226 / 1200 * 100vw);
          margin: 0 0 calc(12 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .footer__logo img:first-child {
          width: 226px;
          margin: 0 0 12px; } }
    .footer__logo img:last-child {
      width: 29vw; }
      @media only screen and (min-width: 769px) {
        .footer__logo img:last-child {
          width: calc(198 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .footer__logo img:last-child {
          width: 198px; } }
  .footer__copyright {
    padding: 5.6vw 0 0;
    color: #999;
    font-size: 10px; }
    @media only screen and (min-width: 769px) {
      .footer__copyright {
        padding: calc(110 / 1200 * 100vw) 0 0;
        font-size: 12px; } }
    @media only screen and (min-width: 1200px) {
      .footer__copyright {
        padding: 110px 0 0; } }

/*******　トップページ　*******/
.toppage {
  /*メインビジュアル*/
  /*リード部分*/
  /*インデックスバナー*/
  /*Green Power*/ }
  .toppage .mainvisual {
    width: 100vw;
    margin: 0; }
    @media only screen and (min-width: 769px) {
      .toppage .mainvisual {
        width: 100%; } }
  .toppage .lead__inner {
    width: 89.7vw;
    margin: 8.5vw auto 0; }
    @media only screen and (min-width: 769px) {
      .toppage .lead__inner {
        width: 100%;
        margin: calc(125 / 1200 * 100vw) auto 0; } }
    @media only screen and (min-width: 1200px) {
      .toppage .lead__inner {
        width: 1200px;
        margin: 125px auto 0; } }
    .toppage .lead__inner__title {
      width: 52.56vw;
      margin: 0 auto; }
      @media only screen and (min-width: 769px) {
        .toppage .lead__inner__title {
          width: calc(417 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .toppage .lead__inner__title {
          width: 417px; } }
    .toppage .lead__inner__logo {
      width: 80vw;
      margin: 6.4vw auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .lead__inner__logo {
          width: calc(552 / 1200 * 100vw);
          margin: calc(35 / 1200 * 100vw) auto 0; } }
      @media only screen and (min-width: 1200px) {
        .toppage .lead__inner__logo {
          width: 552px;
          margin: 35px auto 0; } }
    .toppage .lead__inner__text {
      font-size: 3.6vw;
      line-height: 2;
      text-align: justify;
      margin: 7vw auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .lead__inner__text {
          font-size: 1.4rem;
          text-align: center;
          margin: calc(38 / 1200 * 100vw) auto 0; } }
      @media only screen and (min-width: 1200px) {
        .toppage .lead__inner__text {
          font-size: 1.6rem;
          margin: 38px auto 0; } }
  .toppage .index_l {
    width: 90vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 16.66vw auto 0; }
    @media only screen and (min-width: 769px) {
      .toppage .index_l {
        width: calc(1100 / 1200 * 100vw);
        margin: calc(125 / 1200 * 100vw) auto 0; } }
    @media only screen and (min-width: 1200px) {
      .toppage .index_l {
        width: 1100px;
        margin: 125px auto 0; } }
    .toppage .index_l li {
      position: relative;
      width: 100%;
      border: 1px solid #646464;
      margin-top: 4vw; }
      @media only screen and (min-width: 769px) {
        .toppage .index_l li {
          width: calc(356 / 1200 * 100vw);
          margin-top: 0; } }
      @media only screen and (min-width: 1200px) {
        .toppage .index_l li {
          width: 356px; } }
      .toppage .index_l li:first-child {
        margin-top: 0; }
      .toppage .index_l li a {
        position: relative;
        display: block !important;
        height: 100%; }
        .toppage .index_l li a:hover {
          text-decoration: none;
          opacity: 0.8; }
      .toppage .index_l li .lead {
        width: 62vw;
        min-height: 21.75vw;
        margin: 0 0.8em 0 auto;
        font-size: 3.75vw;
        font-weight: bold;
        line-height: 1.4em;
        padding: 1.5em 0 1em; }
        @media only screen and (min-width: 769px) {
          .toppage .index_l li .lead {
            font-size: calc(17 / 1200 * 100vw);
            width: calc(227 / 1200 * 100vw);
            min-height: calc(114 / 1200 * 100vw); } }
        @media only screen and (min-width: 1200px) {
          .toppage .index_l li .lead {
            font-size: 1.7rem;
            width: 227px;
            min-height: 114px; } }
      .toppage .index_l li .ph {
        width: 100%; }
      .toppage .index_l li .name {
        font-size: 4.75vw;
        text-align: center;
        padding: 1em 1em 1.2em;
        line-height: 1.3em; }
        @media only screen and (min-width: 769px) {
          .toppage .index_l li .name {
            font-size: calc(21 / 1200 * 100vw); } }
        @media only screen and (min-width: 1200px) {
          .toppage .index_l li .name {
            font-size: 2.1rem; } }
        .toppage .index_l li .name span {
          font-size: 80%; }
        .toppage .index_l li .name .name-s {
          display: block;
          margin-top: 0.4em;
          font-weight: normal;
          line-height: 1.3em; }
    .toppage .index_l .new::after {
      content: "NEW";
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      vertical-align: middle;
      width: 5em;
      height: 1.4em;
      font-size: 3.5vw;
      font-weight: bold;
      color: #ffffff;
      position: absolute;
      top: 0;
      right: 0;
      pointer-events: none;
      box-sizing: border-box;
      background-color: #ee0011;
      z-index: 100; }
      @media only screen and (min-width: 769px) {
        .toppage .index_l .new::after {
          font-size: calc(16 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .toppage .index_l .new::after {
          font-size: 1.6rem; } }
    .toppage .index_l .show::before, .toppage .index_l .company::before, .toppage .index_l .local::before {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      vertical-align: middle;
      width: 15.5vw;
      height: 20.25vw;
      font-size: 3.75vw;
      font-weight: bold;
      color: #ffffff;
      position: absolute;
      top: 0;
      left: 4.25vw;
      pointer-events: none;
      box-sizing: border-box;
      padding: 0 0 0.5em;
      background-image: url("../img/toppage/ribbon_sankaku.svg");
      background-position: bottom center;
      background-repeat: no-repeat;
      background-size: 100% auto;
      z-index: 120; }
      @media only screen and (min-width: 769px) {
        .toppage .index_l .show::before, .toppage .index_l .company::before, .toppage .index_l .local::before {
          width: calc(77 / 1200 * 100vw);
          height: calc(101 / 1200 * 100vw);
          font-size: calc(17 / 1200 * 100vw);
          left: calc(17 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .toppage .index_l .show::before, .toppage .index_l .company::before, .toppage .index_l .local::before {
          width: 77px;
          height: 101px;
          font-size: 1.7rem;
          left: 17px; } }
  .toppage .index_s {
    width: 90vw;
    display: flex;
    justify-content: space-between;
    align-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .toppage .index_s {
        width: calc(1100 / 1200 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .toppage .index_s {
        width: 1100px; } }
    .toppage .index_s li {
      position: relative;
      width: 44vw;
      border: 1px solid #646464;
      margin-top: 4vw; }
      @media only screen and (min-width: 769px) {
        .toppage .index_s li {
          width: calc(262 / 1200 * 100vw);
          margin-top: calc(36 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .toppage .index_s li {
          width: 262px;
          margin-top: 36px; } }
      .toppage .index_s li a {
        position: relative;
        display: block !important;
        height: 100%; }
        .toppage .index_s li a:hover {
          text-decoration: none;
          opacity: 0.8; }
      .toppage .index_s li .lead {
        width: 25.5vw;
        min-height: 21vw;
        margin: 0 0.5em 0 auto;
        font-size: 2.9vw;
        font-weight: bold;
        line-height: 1.4em;
        padding: 1.5em 0 0.6em; }
        @media only screen and (min-width: 769px) {
          .toppage .index_s li .lead {
            font-size: calc(14 / 1200 * 100vw);
            width: calc(185 / 1200 * 100vw);
            min-height: calc(85 / 1200 * 100vw);
            margin: 0 0.3em 0 auto; } }
        @media only screen and (min-width: 1200px) {
          .toppage .index_s li .lead {
            font-size: 1.4rem;
            width: 185px;
            min-height: 85px; } }
        .toppage .index_s li .lead.long {
          line-height: 1.25em; }
      .toppage .index_s li .ph {
        width: 100%; }
      .toppage .index_s li .name {
        font-size: 4.25vw;
        text-align: center;
        padding: 1em 1em 1.2em;
        line-height: 1.3em; }
        @media only screen and (min-width: 769px) {
          .toppage .index_s li .name {
            font-size: calc(19 / 1200 * 100vw); } }
        @media only screen and (min-width: 1200px) {
          .toppage .index_s li .name {
            font-size: 1.9rem; } }
        .toppage .index_s li .name span {
          font-size: 80%; }
        .toppage .index_s li .name .name-s {
          display: block;
          margin-top: 0.4em;
          font-weight: normal;
          line-height: 1.3em; }
    .toppage .index_s .new::after {
      content: "NEW";
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      vertical-align: middle;
      width: 5em;
      height: 1.4em;
      font-size: 2.5vw;
      font-weight: bold;
      color: #ffffff;
      position: absolute;
      top: 0;
      right: 0;
      pointer-events: none;
      box-sizing: border-box;
      background-color: #ee0011;
      z-index: 100; }
      @media only screen and (min-width: 769px) {
        .toppage .index_s .new::after {
          font-size: calc(12 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .toppage .index_s .new::after {
          font-size: 1.2rem; } }
    .toppage .index_s .show::before, .toppage .index_s .company::before, .toppage .index_s .local::before {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      vertical-align: middle;
      width: 12vw;
      height: 19.25vw;
      font-size: 3vw;
      font-weight: bold;
      color: #ffffff;
      position: absolute;
      top: 0;
      left: 2vw;
      pointer-events: none;
      box-sizing: border-box;
      padding: 0 0 0.5em;
      background-image: url("../img/toppage/ribbon_sankaku.svg");
      background-position: bottom center;
      background-repeat: no-repeat;
      background-size: 100% auto;
      z-index: 120; }
      @media only screen and (min-width: 769px) {
        .toppage .index_s .show::before, .toppage .index_s .company::before, .toppage .index_s .local::before {
          width: calc(53 / 1200 * 100vw);
          height: calc(77 / 1200 * 100vw);
          font-size: calc(13 / 1200 * 100vw);
          left: calc(8 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .toppage .index_s .show::before, .toppage .index_s .company::before, .toppage .index_s .local::before {
          width: 53px;
          height: 77px;
          font-size: 1.3rem;
          left: 8px; } }
    .toppage .index_s .empty {
      border: none; }
  .toppage .show::before {
    content: "展示会";
    background-color: #c60f28; }
  .toppage .show .lead {
    color: #c60f28; }
  .toppage .company::before {
    content: "企業";
    background-color: #0976b2; }
  .toppage .company .lead {
    color: #0976b2; }
  .toppage .local::before {
    content: "地域";
    background-color: #477e43; }
  .toppage .local .lead {
    color: #477e43; }
  .toppage .greenpower {
    padding-bottom: 21.2vw; }
    @media only screen and (min-width: 769px) {
      .toppage .greenpower {
        padding-bottom: calc(125 / 1200 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .toppage .greenpower {
        padding-bottom: 125px; } }
    .toppage .greenpower__inner {
      width: 89.7vw;
      margin: 13.66vw auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .greenpower__inner {
          width: 100%;
          margin: calc(135 / 1200 * 100vw) auto 0; } }
      @media only screen and (min-width: 1200px) {
        .toppage .greenpower__inner {
          width: 1200px;
          margin: 135px auto 0; } }
    @media only screen and (min-width: 769px) {
      .toppage .greenpower__wrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: calc(743 / 1200 * 100vw);
        margin: 0 auto; } }
    @media only screen and (min-width: 1200px) {
      .toppage .greenpower__wrap {
        width: 743px; } }
    .toppage .greenpower__logo {
      width: 35.1vw;
      margin: 0 auto; }
      @media only screen and (min-width: 769px) {
        .toppage .greenpower__logo {
          width: calc(150 / 1200 * 100vw);
          margin: 0; } }
      @media only screen and (min-width: 1200px) {
        .toppage .greenpower__logo {
          width: 150px; } }
    .toppage .greenpower__text {
      width: 80.7vw;
      margin: 8.2vw auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .greenpower__text {
          width: calc(543 / 1200 * 100vw);
          margin: 0; } }
      @media only screen and (min-width: 1200px) {
        .toppage .greenpower__text {
          width: 543px; } }
    .toppage .greenpower__btn {
      width: 76vw;
      margin: 14.6vw auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .greenpower__btn {
          width: calc(460 / 1200 * 100vw);
          margin: calc(120 / 1200 * 100vw) auto; } }
      @media only screen and (min-width: 1200px) {
        .toppage .greenpower__btn {
          width: 460px;
          margin: 120px auto; } }

/*******　事例ページ　*******/
.casestudy .pageheader {
  width: 100vw;
  color: #fff;
  background-color: #25a739;
  background-image: url("../img/cmn/title_bk_sp.png");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 769px) {
    .casestudy .pageheader {
      width: 100%;
      background-image: url("../img/cmn/title_bk_pc.png"); } }
  .casestudy .pageheader__inner {
    position: relative;
    padding-top: 36.15vw; }
    @media only screen and (min-width: 769px) {
      .casestudy .pageheader__inner {
        padding-top: calc(304 / 1200 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .casestudy .pageheader__inner {
        padding-top: 304px; } }
    .casestudy .pageheader__inner .listback {
      position: absolute;
      top: 0;
      right: 3vw; }
      @media only screen and (min-width: 769px) {
        .casestudy .pageheader__inner .listback {
          right: 50%;
          transform: translateX(calc(580 / 1200 * 100vw)); } }
      @media only screen and (min-width: 1200px) {
        .casestudy .pageheader__inner .listback {
          right: 50%;
          transform: translateX(580px); } }
      .casestudy .pageheader__inner .listback a {
        display: inline-block;
        color: #666;
        font-size: 3vw;
        padding-right: 0.25em; }
        @media only screen and (min-width: 769px) {
          .casestudy .pageheader__inner .listback a {
            font-size: 1.4rem; } }
        @media only screen and (min-width: 1200px) {
          .casestudy .pageheader__inner .listback a {
            font-size: 1.6rem; } }
        .casestudy .pageheader__inner .listback a::after {
          content: "▲"; }
    .casestudy .pageheader__inner__title {
      margin: 0 auto; }
    .casestudy .pageheader__inner__wrap {
      width: 89.74vw;
      margin: 7.4vw auto 0;
      padding: 9vw 0 12.8vw;
      background: url("../img/cmn/title_bar_sp.png");
      background-size: 100% auto;
      background-position: top center;
      background-repeat: no-repeat; }
      @media only screen and (min-width: 769px) {
        .casestudy .pageheader__inner__wrap {
          width: calc(800 / 1200 * 100vw);
          margin: calc(30 / 1200 * 100vw) auto 0;
          padding: calc(37 / 1200 * 100vw) 0 calc(72 / 1200 * 100vw);
          background: url("../img/cmn/title_bar_pc.png");
          background-size: 100% auto;
          background-position: top center;
          background-repeat: no-repeat; } }
      @media only screen and (min-width: 1200px) {
        .casestudy .pageheader__inner__wrap {
          width: 800px;
          margin: 30px auto 0;
          padding: 37px 0 72px; } }
    .casestudy .pageheader__inner__subtitle {
      margin: 0 auto; }
    .casestudy .pageheader__inner__lead {
      margin: 7.7vw auto 0;
      font-size: 3.8vw;
      font-weight: bold;
      line-height: 2;
      text-align: justify; }
      @media only screen and (min-width: 769px) {
        .casestudy .pageheader__inner__lead {
          margin: calc(35 / 1200 * 100vw) auto 0;
          font-size: 1.5rem; } }
      @media only screen and (min-width: 1200px) {
        .casestudy .pageheader__inner__lead {
          margin: 35px auto 0;
          font-size: 1.8rem; } }
    .casestudy .pageheader__inner__ph {
      margin: 8.97vw auto 0; }
      @media only screen and (min-width: 769px) {
        .casestudy .pageheader__inner__ph {
          margin: calc(35 / 1200 * 100vw) auto 0; } }
      @media only screen and (min-width: 1200px) {
        .casestudy .pageheader__inner__ph {
          margin: 35px auto 0; } }
    .casestudy .pageheader__inner__event {
      margin: 12.8vw auto 0;
      font-size: 3.8vw;
      border-bottom: 1px solid #fff; }
      @media only screen and (min-width: 769px) {
        .casestudy .pageheader__inner__event {
          margin: calc(52 / 1200 * 100vw) auto 0;
          font-size: 1.4rem;
          font-weight: bold;
          padding-bottom: 1.25em; } }
      @media only screen and (min-width: 1200px) {
        .casestudy .pageheader__inner__event {
          margin: 52px auto 0;
          font-size: 1.6rem; } }
      .casestudy .pageheader__inner__event-title {
        border-bottom: 1px solid #fff; }
        .casestudy .pageheader__inner__event-title img {
          width: 33vw; }
          @media only screen and (min-width: 769px) {
            .casestudy .pageheader__inner__event-title img {
              width: calc(141 / 1200 * 100vw); } }
          @media only screen and (min-width: 1200px) {
            .casestudy .pageheader__inner__event-title img {
              width: 141px; } }
        .casestudy .pageheader__inner__event-title + p {
          margin-top: 2.8vw; }
          @media only screen and (min-width: 769px) {
            .casestudy .pageheader__inner__event-title + p {
              margin-top: calc(20 / 1200 * 100vw); } }
          @media only screen and (min-width: 1200px) {
            .casestudy .pageheader__inner__event-title + p {
              margin-top: 20px; } }
      .casestudy .pageheader__inner__event dl {
        margin-top: 4vw; }
        @media only screen and (min-width: 769px) {
          .casestudy .pageheader__inner__event dl {
            display: flex;
            flex-wrap: wrap;
            margin-top: calc(20 / 1200 * 100vw); } }
        @media only screen and (min-width: 1200px) {
          .casestudy .pageheader__inner__event dl {
            margin-top: 20px; } }
        @media only screen and (min-width: 769px) {
          .casestudy .pageheader__inner__event dl dt {
            width: calc(165 / 1200 * 100vw);
            margin-top: 0.75em; } }
        @media only screen and (min-width: 1200px) {
          .casestudy .pageheader__inner__event dl dt {
            width: 135px; } }
        @media only screen and (min-width: 769px) {
          .casestudy .pageheader__inner__event dl dt:after {
            content: "："; } }
        .casestudy .pageheader__inner__event dl dt span {
          display: inline-block;
          color: #25a739;
          background-color: #fff;
          padding: 0.15em 1em 0.2em;
          border-radius: 2.75vw;
          line-height: 4vw;
          font-weight: bold; }
          @media only screen and (min-width: 769px) {
            .casestudy .pageheader__inner__event dl dt span {
              color: #fff;
              background-color: transparent;
              padding: 0;
              line-height: 1.4; } }
        .casestudy .pageheader__inner__event dl dd {
          margin: 2.8vw 0 3.2vw;
          line-height: 1.4; }
          @media only screen and (min-width: 769px) {
            .casestudy .pageheader__inner__event dl dd {
              width: calc(635 / 1200 * 100vw);
              margin: 0.75em 0 0; } }
          @media only screen and (min-width: 1200px) {
            .casestudy .pageheader__inner__event dl dd {
              width: 665px; } }
          .casestudy .pageheader__inner__event dl dd li {
            margin-bottom: 1.4vw; }
            @media only screen and (min-width: 769px) {
              .casestudy .pageheader__inner__event dl dd li {
                margin-bottom: calc(10 / 1200 * 100vw); } }
            @media only screen and (min-width: 1200px) {
              .casestudy .pageheader__inner__event dl dd li {
                margin-bottom: 10px; } }
.casestudy .contblock {
  clear: both; }
  .casestudy .contblock.bk-y {
    background-color: #f9bc00; }
  .casestudy .contblock.bk-b {
    background-color: #0082CE; }
  .casestudy .contblock__inner {
    width: 89.74vw;
    margin: 0 auto;
    padding: 8.9vw 0; }
    @media only screen and (min-width: 769px) {
      .casestudy .contblock__inner {
        width: calc(800 / 1200 * 100vw);
        padding: calc(80 / 1200 * 100vw) 0; } }
    @media only screen and (min-width: 1200px) {
      .casestudy .contblock__inner {
        width: 800px;
        padding: 80px 0; } }
    .casestudy .contblock__inner__text {
      font-size: 3.6vw;
      line-height: 1.8;
      text-align: justify;
      margin-top: 5.12vw;
      overflow: auto; }
      @media only screen and (min-width: 769px) {
        .casestudy .contblock__inner__text {
          font-size: 1.4rem;
          line-height: 2;
          margin-top: calc(47 / 1200 * 100vw); } }
      @media only screen and (min-width: 1200px) {
        .casestudy .contblock__inner__text {
          font-size: 1.6rem;
          line-height: 2;
          margin-top: 47px; } }
    .casestudy .contblock__inner .cap {
      font-size: 90%;
      line-height: 1.6;
      margin-top: 0.25em; }
.casestudy .movie__wrap {
  width: 89.74vw;
  margin: 20vw auto 0; }
  @media only screen and (min-width: 769px) {
    .casestudy .movie__wrap {
      width: calc(800 / 1200 * 100vw);
      margin: calc(50 / 1200 * 100vw) auto 0; } }
  @media only screen and (min-width: 1200px) {
    .casestudy .movie__wrap {
      width: 800px;
      margin: 50px auto 0; } }
.casestudy .contactblock {
  background-color: #e4001e; }
  .casestudy .contactblock__inner {
    width: 89.74vw;
    margin: 0 auto;
    padding: 7.7vw 0; }
    @media only screen and (min-width: 769px) {
      .casestudy .contactblock__inner {
        width: calc(800 / 1200 * 100vw);
        margin: 0 auto;
        padding: calc(135 / 1200 * 100vw) 0; } }
    @media only screen and (min-width: 1200px) {
      .casestudy .contactblock__inner {
        width: 800px;
        padding: 135px 0; } }
    .casestudy .contactblock__inner p {
      color: #fff;
      font-weight: bold;
      text-align: center;
      font-size: 4.6vw;
      line-height: 1.5; }
      @media only screen and (min-width: 769px) {
        .casestudy .contactblock__inner p {
          font-size: 1.6rem; } }
      @media only screen and (min-width: 1200px) {
        .casestudy .contactblock__inner p {
          font-size: 1.9rem; } }
    .casestudy .contactblock__inner__btn {
      width: 89.74vw;
      margin: 5.1vw auto 0; }
      @media only screen and (min-width: 769px) {
        .casestudy .contactblock__inner__btn {
          width: calc(320 / 1200 * 100vw);
          margin: calc(40 / 1200 * 100vw) auto 0; } }
      @media only screen and (min-width: 1200px) {
        .casestudy .contactblock__inner__btn {
          width: 320px;
          margin: 40px auto 0; } }
      .casestudy .contactblock__inner__btn a {
        display: block;
        background-color: #fff;
        text-align: center;
        font-weight: bold;
        font-size: 3.8vw;
        padding: 3.5vw 0; }
        @media only screen and (min-width: 769px) {
          .casestudy .contactblock__inner__btn a {
            font-size: 1.4rem;
            padding: calc(15 / 1200 * 100vw) 0; } }
        @media only screen and (min-width: 1200px) {
          .casestudy .contactblock__inner__btn a {
            font-size: 1.6rem;
            padding: 15px 0; } }
        .casestudy .contactblock__inner__btn a:hover {
          opacity: 0.8;
          text-decoration: none; }

/*******　公益社団法人 日本ロジスティクスシステム協会様　*******/
.case001 .pageheader__inner__title {
  width: 79.5vw; }
  @media only screen and (min-width: 769px) {
    .case001 .pageheader__inner__title {
      width: calc(757 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .pageheader__inner__title {
      width: 757px; } }
.case001 .pageheader__inner__subtitle {
  width: 81.2vw; }
  @media only screen and (min-width: 769px) {
    .case001 .pageheader__inner__subtitle {
      width: calc(663 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .pageheader__inner__subtitle {
      width: 663px; } }
.case001 .contblock__inner__title.ti01 img {
  width: 71.5vw; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__title.ti01 img {
      width: calc(663 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__title.ti01 img {
      width: 563px; } }
.case001 .contblock__inner__title.ti02 img {
  width: 73.6vw; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__title.ti02 img {
      width: calc(645 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__title.ti02 img {
      width: 645px; } }
.case001 .contblock__inner__title.ti03 img {
  width: 85.9vw; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__title.ti03 img {
      width: calc(452 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__title.ti03 img {
      width: 452px; } }
.case001 .contblock__inner__text.block01 .ph02 {
  float: right;
  width: 43.6vw;
  margin: 0 0 2.5vw 2.56vw; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__text.block01 .ph02 {
      width: calc(272 / 1200 * 100vw);
      margin: 0 0 calc(20 / 1200 * 100vw) calc(27 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__text.block01 .ph02 {
      width: 272px;
      margin: 0 0 20px 27px; } }
.case001 .contblock__inner__text.block01 .ph03 {
  width: 89.74vw;
  margin: 7.7vw 0 0 0; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__text.block01 .ph03 {
      float: left;
      width: calc(383 / 1200 * 100vw);
      margin: calc(20 / 1200 * 100vw) calc(27 / 1200 * 100vw) calc(30 / 1200 * 100vw) 0; } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__text.block01 .ph03 {
      width: 383px;
      margin: 20px 27px 30px 0; } }
.case001 .contblock__inner__text.block02 .ph04 {
  float: right;
  width: 43.6vw;
  margin: 0 0 1vw 2.56vw; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__text.block02 .ph04 {
      width: calc(272 / 1200 * 100vw);
      margin: 0 0 calc(20 / 1200 * 100vw) calc(27 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__text.block02 .ph04 {
      width: 272px;
      margin: 0 0 20px 27px; } }
.case001 .contblock__inner__text.block02 .ph-wrap {
  margin-top: 5vw; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__text.block02 .ph-wrap {
      margin: calc(40 / 1200 * 100vw) auto 0;
      display: flex;
      justify-content: space-between; } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__text.block02 .ph-wrap {
      margin: 40px auto 0; } }
  .case001 .contblock__inner__text.block02 .ph-wrap div {
    margin-bottom: 3vw; }
    @media only screen and (min-width: 769px) {
      .case001 .contblock__inner__text.block02 .ph-wrap div {
        width: calc(250 / 1200 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .case001 .contblock__inner__text.block02 .ph-wrap div {
        width: 250px; } }
.case001 .contblock__inner__text.block03 .ph08 {
  width: 46vw;
  margin: 7.7vw auto;
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__text.block03 .ph08 {
      float: right;
      width: calc(270 / 1200 * 100vw);
      margin: 0 0 0 calc(27 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__text.block03 .ph08 {
      width: 270px;
      margin: 0 0 0 27px; } }
.case001 .contblock__inner__text.block03 .ph09 {
  width: 89.74vw;
  margin: 7.7vw 0 0 0; }
  @media only screen and (min-width: 769px) {
    .case001 .contblock__inner__text.block03 .ph09 {
      width: calc(800 / 1200 * 100vw);
      margin: calc(90 / 1200 * 100vw) auto 0; } }
  @media only screen and (min-width: 1200px) {
    .case001 .contblock__inner__text.block03 .ph09 {
      width: 800px;
      margin: 90px auto 0; } }

/*******　テルモ株式会社様　*******/
.case002 .pageheader__inner__title {
  width: 79.5vw; }
  @media only screen and (min-width: 769px) {
    .case002 .pageheader__inner__title {
      width: calc(278 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case002 .pageheader__inner__title {
      width: 278px; } }
.case002 .pageheader__inner__subtitle {
  width: 81.2vw; }
  @media only screen and (min-width: 769px) {
    .case002 .pageheader__inner__subtitle {
      width: calc(316 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case002 .pageheader__inner__subtitle {
      width: 316px; } }
.case002 .contblock__inner__title.ti01 img {
  width: 74.48vw; }
  @media only screen and (min-width: 769px) {
    .case002 .contblock__inner__title.ti01 img {
      width: calc(392 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case002 .contblock__inner__title.ti01 img {
      width: 392px; } }
.case002 .contblock__inner__title.ti02 img {
  width: 82.4vw; }
  @media only screen and (min-width: 769px) {
    .case002 .contblock__inner__title.ti02 img {
      width: calc(433 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case002 .contblock__inner__title.ti02 img {
      width: 433px; } }
.case002 .contblock__inner__title.ti03 img {
  width: 64.48vw; }
  @media only screen and (min-width: 769px) {
    .case002 .contblock__inner__title.ti03 img {
      width: calc(339 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case002 .contblock__inner__title.ti03 img {
      width: 339px; } }
.case002 .contblock__inner__text.block01 .ph02 {
  float: right;
  width: 43.6vw;
  margin: 0 0 4.5vw 2.56vw; }
  @media only screen and (min-width: 769px) {
    .case002 .contblock__inner__text.block01 .ph02 {
      width: calc(254 / 1200 * 100vw);
      margin: 0 0 calc(20 / 1200 * 100vw) calc(27 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case002 .contblock__inner__text.block01 .ph02 {
      width: 254px;
      margin: 0 0 20px 27px; } }
.case002 .contblock__inner__text.block02 .ph03 {
  width: 89.74vw;
  margin: 1vw 0 4vw 0; }
  @media only screen and (min-width: 769px) {
    .case002 .contblock__inner__text.block02 .ph03 {
      float: right;
      width: calc(294 / 1200 * 100vw);
      margin: 0 0 calc(20 / 1200 * 100vw) calc(27 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case002 .contblock__inner__text.block02 .ph03 {
      width: 294px;
      margin: 0 0 20px 27px; } }
.case002 .contblock__inner__text.block02 .ph04 {
  float: left;
  width: 43.8vw;
  margin: 3vw 5vw 4vw 0; }
  @media only screen and (min-width: 769px) {
    .case002 .contblock__inner__text.block02 .ph04 {
      width: calc(272 / 1200 * 100vw);
      margin: calc(10 / 1200 * 100vw) calc(20 / 1200 * 100vw) calc(20 / 1200 * 100vw) 0; } }
  @media only screen and (min-width: 1200px) {
    .case002 .contblock__inner__text.block02 .ph04 {
      width: 252px;
      margin: 10px 20px 20px 0; } }
.case002 .contblock__inner__text.block03 {
  overflow: visible; }
  .case002 .contblock__inner__text.block03 .ph05 {
    float: right;
    width: 46.9vw;
    margin: 0;
    text-align: center; }
    @media only screen and (min-width: 769px) {
      .case002 .contblock__inner__text.block03 .ph05 {
        float: right;
        width: calc(381 / 1200 * 100vw);
        margin: 0 calc(-90 / 1200 * 100vw) 0 calc(27 / 1200 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .case002 .contblock__inner__text.block03 .ph05 {
        width: 381px;
        margin: 0 -90px 20px 27px; } }
  .case002 .contblock__inner__text.block03 .ph06 {
    width: 89.74vw;
    margin: 7.7vw 0 0 0; }
    @media only screen and (min-width: 769px) {
      .case002 .contblock__inner__text.block03 .ph06 {
        width: calc(800 / 1200 * 100vw);
        margin: calc(90 / 1200 * 100vw) auto 0; } }
    @media only screen and (min-width: 1200px) {
      .case002 .contblock__inner__text.block03 .ph06 {
        width: 800px;
        margin: 90px auto 0; } }

/*******　一般財団法人沖縄観光コンベンションビューロー　*******/
.case003 .pageheader__inner__title {
  width: 69.2vw; }
  @media only screen and (min-width: 769px) {
    .case003 .pageheader__inner__title {
      width: calc(750 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .pageheader__inner__title {
      width: 750px; } }
.case003 .pageheader__inner__subtitle {
  width: 89vw; }
  @media only screen and (min-width: 769px) {
    .case003 .pageheader__inner__subtitle {
      width: calc(430 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .pageheader__inner__subtitle {
      width: 430px; } }
.case003 .contblock__inner__title.ti01 img {
  width: 89.74vw; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__title.ti01 img {
      width: calc(645 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__title.ti01 img {
      width: 645px; } }
.case003 .contblock__inner__title.ti02 img {
  width: 77.7vw; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__title.ti02 img {
      width: calc(567 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__title.ti02 img {
      width: 567px; } }
.case003 .contblock__inner__title.ti03 img {
  width: 43.6vw; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__title.ti03 img {
      width: calc(228 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__title.ti03 img {
      width: 228px; } }
.case003 .contblock__inner__title.ti04 img {
  width: 48.2vw; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__title.ti04 img {
      width: calc(254 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__title.ti04 img {
      width: 254px; } }
.case003 .contblock__inner__title.ti05 img {
  width: 66.66vw; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__title.ti05 img {
      width: calc(350 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__title.ti05 img {
      width: 350px; } }
.case003 .contblock__inner__text.block01 .ph02 {
  float: right;
  width: 43.6vw;
  margin: 2vw 0 4.5vw 2.56vw; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__text.block01 .ph02 {
      width: calc(254 / 1200 * 100vw);
      margin: 0 0 calc(20 / 1200 * 100vw) calc(27 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__text.block01 .ph02 {
      width: 254px;
      margin: 0 0 20px 27px; } }
.case003 .contblock__inner__text.block02 .ph03 {
  float: left;
  width: 43.6vw;
  margin: 1vw 4vw 3vw 0; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__text.block02 .ph03 {
      width: calc(294 / 1200 * 100vw);
      margin: 0 calc(27 / 1200 * 100vw) calc(10 / 1200 * 100vw) 0; } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__text.block02 .ph03 {
      width: 294px;
      margin: 0 27px 10px 0; } }
@media only screen and (min-width: 769px) {
  .case003 .contblock__inner__text.block02 .f-text {
    width: 50%;
    float: left; } }
.case003 .contblock__inner__text.block02 .ph04 {
  width: 89.74vw;
  margin: 6vw auto 0; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__text.block02 .ph04 {
      width: calc(350 / 1200 * 100vw);
      margin: inherit;
      float: right; } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__text.block02 .ph04 {
      width: 350px; } }
@media only screen and (min-width: 769px) {
  .case003 .contblock__inner__text.block03 .wrap {
    display: flex;
    justify-content: space-between; } }
@media only screen and (min-width: 769px) {
  .case003 .contblock__inner__text.block03 .wrap .f-text {
    order: 2;
    width: calc(450 / 1200 * 100vw); } }
@media only screen and (min-width: 1200px) {
  .case003 .contblock__inner__text.block03 .wrap .f-text {
    width: 450px; } }
.case003 .contblock__inner__text.block03 .wrap .ph05 {
  margin-top: 5vw; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner__text.block03 .wrap .ph05 {
      order: 1;
      margin-top: 0.5em;
      width: calc(330 / 1200 * 100vw); } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner__text.block03 .wrap .ph05 {
      width: 330px; } }
.case003 .contblock__inner__text.block04 {
  overflow: visible; }
  .case003 .contblock__inner__text.block04 .ph06 {
    float: right;
    width: 43vw;
    margin: 0 0 2vw 5vw; }
    @media only screen and (min-width: 769px) {
      .case003 .contblock__inner__text.block04 .ph06 {
        float: right;
        width: calc(256 / 1200 * 100vw);
        margin: 0 0 0 calc(27 / 1200 * 100vw); } }
    @media only screen and (min-width: 1200px) {
      .case003 .contblock__inner__text.block04 .ph06 {
        width: 256px;
        margin: 0 0 20px 27px; } }
.case003 .contblock__inner .movie {
  width: 89.74vw;
  margin: 6vw auto 0; }
  @media only screen and (min-width: 769px) {
    .case003 .contblock__inner .movie {
      width: calc(800 / 1200 * 100vw);
      margin: calc(40 / 1200 * 100vw) auto 0; } }
  @media only screen and (min-width: 1200px) {
    .case003 .contblock__inner .movie {
      width: 800px;
      margin: 40px auto 0; } }
