﻿html, body {
  background-color: #000;
}

html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%
}

*,
::before,
::after {
  background-repeat: no-repeat;
  box-sizing: inherit
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit
}

* {
  padding: 0;
  margin: 0
}

audio:not([controls]) {
  display: none;
  height: 0
}

hr {
  overflow: visible
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block
}

summary {
  display: list-item
}

small {
  font-size: 80%
}

[hidden],
template {
  display: none
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
  color: inherit; text-decoration: none;
}

a:active,
a:hover {
  outline-width: 0
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace
}

b,
strong {
  font-weight: bolder
}

dfn {
  font-style: italic
}

mark {
  background-color: #ff0;
  color: #000
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

input {
  border-radius: 0
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer
}

[disabled] {
  cursor: default
}

[type="number"] {
  width: auto
}

[type="search"] {
  -webkit-appearance: textfield
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}

textarea {
  overflow: auto;
  resize: vertical
}

button,
input,
optgroup,
select,
textarea {
  font: inherit
}

optgroup {
  font-weight: bold
}

button {
  overflow: visible
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0
}

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button
}

button,
select {
  text-transform: none
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit
}

select {
  -moz-appearance: none;
  -webkit-appearance: none
}

select::-ms-expand {
  display: none
}

select::-ms-value {
  color: currentColor
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

img {
  border-style: none
}

progress {
  vertical-align: baseline
}

svg:not(:root) {
  overflow: hidden
}

audio,
canvas,
progress,
video {
  display: inline-block
}

@media screen {
  [hidden~="screen"] {
    display: inherit
  }

  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important
  }
}

[aria-busy="true"] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled] {
  cursor: default
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none
}

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none
}

article,
aside,
canvas,
details,
figcaption,
figure,
header,
footer,
hgroup,
menu,
nav,
section,
summary {
  display: block
}

section,
div,
dl,
dt,
dd,
ul,
li,
table,
td,
th,
input {
  box-sizing: border-box
}

* {
  margin: 0;
  padding: 0;
  list-style-type: none
}

html {
  height: 100%;
  font-size: 62.5%
}

body {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  -webkit-text-size-adjust: 100%
}

address {
  font-style: normal
}

xli {
  padding-left: 1em;
  text-indent: -1em
}

img,
a img {
  border: 0
}

img {
  vertical-align: bottom
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0
}

table th {
  text-align: left
}

input[type="text"],
input[type="password"],
textarea,
select {
  outline: none
}

input[type=text] {
  -webkit-appearance: none
}

textarea {
  -webkit-appearance: none
}

.txt-center {
  text-align: center
}

.txt-min {
  font-size: 80%
}

.txt-red {
  color: #C00
}

.txt-l {
  text-align: right
}

.txt-r {
  text-align: right
}

.float-l {
  float: left
}

.float-r {
  float: right
}

.overf {
  overflow: hidden
}

.clear {
  clear: both
}

.img-l {
  float: left;
  margin: 0 30px 10px 0
}

.img-r {
  float: right;
  margin: 0 0 10px 30px
}

.img-center {
  display: block;
  margin: 0 auto
}

.border-none {
  border: none !important
}

.mb0 {
  margin-bottom: 0px !important
}

.mb5 {
  margin-bottom: 5px !important
}

.mb10 {
  margin-bottom: 10px !important
}

.mb20 {
  margin-bottom: 20px !important
}

.mb30 {
  margin-bottom: 30px !important
}

.mb40 {
  margin-bottom: 40px !important
}

.mb50 {
  margin-bottom: 50px !important
}

.mb60 {
  margin-bottom: 60px !important
}

.mb70 {
  margin-bottom: 70px !important
}

@media screen and (max-width: 640px) {
  p.txt-min {
    font-size: 1.1rem
  }
}

body {
  overflow-x: hidden;
  scroll-behavior: smooth;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal
}

@media screen and (min-width: 750px) {
  body {
    background: url(../img/top/bg.jpg);
    background-size: cover;
    background-position: center
  }

  .disp_sp {
    display: none
  }

  main section.mv {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: url(../img/top/mv.jpg);
    background-size: cover;
    background-position: center
  }

  main section.mv div.mv_contents {
    width: 100%;
    max-width: 1200px;
    position: relative
  }

  main section.mv div.mv_contents:before {
    content: '';
    display: block;
    width: 100 main section.mv div.mv_contents:before;
    padding-top: calc(680 / 1200 * 100%);
    pointer-events: none
  }

  main section.mv div.mv_contents h1 {
    position: absolute;
    top: 0;
    left: 50%;
    margin: calc(294 / 1200 * 100%) 0 0 calc(-191 / 1200 * 100%);
    width: calc(380 / 1200 * 100%)
  }

  main section.mv div.mv_contents h1 img {
    display: block;
    width: 100%
  }

  main section.mv div.mv_contents p.mv_text {
    position: absolute;
    top: 0;
    left: 50%;
    margin: calc(531 / 1200 * 100%) 0 0 calc(-561 / 1200 * 100%);
    width: calc(433 / 1200 * 100%)
  }

  main section.mv div.mv_contents p.mv_text img {
    display: block;
    width: 100%
  }

  main section.sec1 {
    width: 100%;
    background: #000;
    display: flex;
    justify-content: space-around;
    align-items: center
  }

  main section.sec1 article.sec1_btn {
    width: 100%;
    max-width: 1140px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap
  }

  main section.sec1 article.sec1_btn a {
    display: flex;
    align-items: center;
    flex-flow: column;
    position: relative;
    width: calc(540 / 1140 * 100%);
    padding: calc(80 / 1140 * 100%) 0 calc(68 / 1140 * 100%);
    cursor: pointer
  }

  main section.sec1 article.sec1_btn a:hover img:nth-of-type(2) {
    opacity: 0.4
  }

  main section.sec1 article.sec1_btn a span.dec_tb {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 0 0 calc(30 / 540 * 100%);
    width: calc(480 / 540 * 100%);
    height: 100%;
    pointer-events: none
  }

  main section.sec1 article.sec1_btn a span.dec_tb:after,
  main section.sec1 article.sec1_btn a span.dec_tb:before {
    content: '';
    display: block;
    height: 1px;
    width: 100%;
    background: #fff;
    position: absolute;
    left: 0
  }

  main section.sec1 article.sec1_btn a span.dec_tb:after {
    top: 0
  }

  main section.sec1 article.sec1_btn a span.dec_tb:before {
    bottom: 0
  }

  main section.sec1 article.sec1_btn a span.dec_lr {
    position: absolute;
    top: 0;
    left: 0;
    margin: calc(30 / 540 * 100%) 0 0 0;
    width: 100%;
    height: calc(210 / 270 * 100%);
    pointer-events: none
  }

  main section.sec1 article.sec1_btn a span.dec_lr:after,
  main section.sec1 article.sec1_btn a span.dec_lr:before {
    content: '';
    display: block;
    height: 100%;
    width: 1px;
    background: #fff;
    position: absolute;
    top: 0
  }

  main section.sec1 article.sec1_btn a span.dec_lr:after {
    left: 0
  }

  main section.sec1 article.sec1_btn a span.dec_lr:before {
    right: 0
  }

  main section.sec1 article.sec1_btn a.btn_info {
    margin: calc(59 / 1140 * 100%) auto calc(40 / 1140 * 100%) 0
  }

  main section.sec1 article.sec1_btn a.btn_info picture:nth-of-type(1) {
    width: calc(361 / 540 * 100%)
  }

  main section.sec1 article.sec1_btn a.btn_info picture:nth-of-type(1) img {
    width: 100%
  }

  main section.sec1 article.sec1_btn a.btn_contract {
    margin: calc(59 / 1140 * 100%) 0 calc(40 / 1140 * 100%) auto
  }

  main section.sec1 article.sec1_btn a.btn_contract picture:nth-of-type(1) {
    width: calc(290 / 540 * 100%)
  }

  main section.sec1 article.sec1_btn a.btn_contract picture:nth-of-type(1) img {
    width: 100%
  }

  main section.sec1 article.sec1_btn a picture:nth-of-type(2) {
    transition: 0.6s;
    margin: calc(40 / 540 * 100%) 0 calc(40 / 1140 * 100%) 0;
    width: calc(280 / 540 * 100%)
  }

  main section.sec1 article.sec1_btn a picture:nth-of-type(2) img {
    width: 100%
  }

  main section.sec1 article.sec1_btn p.txt_attention {
    margin: 0 0 calc(56 / 1140 * 100%) 0;
    width: calc(699 / 1400 * 100%)
  }

  main section.sec1 article.sec1_btn p.txt_attention img {
    display: block;
    width: 100%
  }

  main section.sec1.info {
    background: none
  }

  main section.sec1.info article.sec1_btn {
    width: 100%;
    max-width: 1070px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap
  }

  main section.sec1.info article.sec1_btn a {
    display: flex;
    align-items: center;
    flex-flow: column;
    position: relative;
    width: calc(535 / 1070 * 100%);
    padding: calc(69 / 1070 * 100%) 0 calc(58 / 1070 * 100%);
    cursor: pointer
  }

  main section.sec1.info article.sec1_btn a:hover img:nth-of-type(2) {
    opacity: 0.4
  }

  main section.sec1.info article.sec1_btn a span.dec_tb {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
  }

  main section.sec1.info article.sec1_btn a span.dec_tb:after,
  main section.sec1.info article.sec1_btn a span.dec_tb:before {
    content: '';
    display: block;
    height: 1px;
    width: 100%;
    background: #fff;
    position: absolute;
    left: 0
  }

  main section.sec1.info article.sec1_btn a span.dec_tb:after {
    top: 0
  }

  main section.sec1.info article.sec1_btn a span.dec_tb:before {
    bottom: 0
  }

  main section.sec1.info article.sec1_btn a span.dec_lc {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
  }

  main section.sec1.info article.sec1_btn a span.dec_lc:after {
    content: '';
    display: block;
    height: 100%;
    width: 1px;
    background: #fff;
    position: absolute;
    top: 0;
    right: -1px
  }

  main section.sec1.info article.sec1_btn a span.dec_rc {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
  }

  main section.sec1.info article.sec1_btn a span.dec_rc:after {
    content: '';
    display: block;
    height: 100%;
    width: 1px;
    background: #fff;
    position: absolute;
    top: 0;
    left: -1px
  }

  main section.sec1.info article.sec1_btn a.btn_info {
    margin: calc(59 / 1070 * 100%) auto 0 0
  }

  main section.sec1.info article.sec1_btn a.btn_info picture:nth-of-type(1) {
    width: calc(361 / 540 * 100%)
  }

  main section.sec1.info article.sec1_btn a.btn_info picture:nth-of-type(1) img {
    width: 100%
  }

  main section.sec1.info article.sec1_btn a.btn_contract {
    margin: calc(59 / 1070 * 100%) 0 0 auto
  }

  main section.sec1.info article.sec1_btn a.btn_contract picture:nth-of-type(1) {
    width: calc(290 / 540 * 100%)
  }

  main section.sec1.info article.sec1_btn a.btn_contract picture:nth-of-type(1) img {
    width: 100%
  }

  main section.sec1.info article.sec1_btn a picture:nth-of-type(2) {
    transition: 0.6s;
    margin: calc(40 / 540 * 100%) 0 calc(40 / 1070 * 100%) 0;
    width: calc(280 / 540 * 100%)
  }

  main section.sec1.info article.sec1_btn a picture:nth-of-type(2) img {
    width: 100%
  }

  main section.sec2 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center
  }

  main section.sec2 div.topics_list {
    width: 100%;
    max-width: 1070px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: calc(60 / 1070 * 100%) 0
  }

  main section.sec2 div.topics_list article {
    width: calc(330 / 1070 * 100%);
    margin: calc(60 / 1070 * 100%) 0 0
  }

  main section.sec2 div.topics_list article:nth-child(-n+3) {
    margin: calc(100 / 1070 * 100%) 0 0
  }

  main section.sec2 div.topics_list article:nth-last-child(-n+3) {
    margin: calc(60 / 1070 * 100%) 0 calc(100 / 1070 * 100%)
  }

  main section.sec2 div.topics_list article a {
    display: block;
    width: 100%;
    text-decoration: none
  }

  main section.sec2 div.topics_list article a span.thumb {
    display: block;
    text-indent: -9999px;
    width: 100%;
    padding-top: calc(186 / 330 * 100%);
    background: #000;
    border: 1px solid #fff
  }

  main section.sec2 div.topics_list article a p.topic_title {
    font-size: 14px;
    color: #b4a088;
    margin: 1em 0 0
  }

  main section.sec2 div.topics_list article a p.topic_desc {
    width: 100%;
    font-size: 16px;
    color: #fff;
    margin: 0.5em 0 0;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
  }

  main section.info_title {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: #080606
  }

  main section.info_title div.info_title_contents {
    width: 100%;
    max-width: 497px
  }

  main section.info_title div.info_title_contents h2 {
    display: block;
    width: 100%
  }

  main section.info_title div.info_title_contents h2 img {
    display: block;
    width: 100%;
    margin: calc(179 / 497 * 100%) 0 calc(37 / 497 * 100%) 0
  }

  main section.info_mv {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: url(../img/info/mv_concept.jpg);
    background-size: cover;
    background-position: center
  }

  main section.info_mv div.info_mv_contents {
    width: 100%;
    max-width: 1200px;
    position: relative
  }

  main section.info_mv div.info_mv_contents:after {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(537 / 1200 * 100%);
    pointer-events: none
  }

  main section.info_mv div.info_mv_contents p {
    position: absolute;
    top: 0
  }

  main section.info_mv div.info_mv_contents p.info_mv_text1 {
    width: calc(710 / 1200 * 100%);
    right: 0;
    margin: calc(354 / 1200 * 100%) calc(-34 / 1200 * 100%) 0 0
  }

  main section.info_mv div.info_mv_contents p.info_mv_text1 img {
    width: 100%
  }

  main section.info_mv div.info_mv_contents p.info_mv_text2 {
    width: calc(619 / 1200 * 100%);
    left: 0;
    margin: calc(50 / 1200 * 100%) 0 0 0
  }

  main section.info_mv div.info_mv_contents p.info_mv_text2 img {
    width: 100%
  }

  main section.info_sec1 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: #080606;
    flex-flow: column
  }

  main section.info_sec1 p {
    width: 100%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    align-items: center
  }

  main section.info_sec1 p picture:nth-of-type(1) {
    width: calc(364 / 1200 * 100%);
    margin: calc(99 / 1200 * 100%) auto 0 calc(64 / 1200 * 100%)
  }

  main section.info_sec1 p picture:nth-of-type(2) {
    width: calc(670 / 1200 * 100%);
    margin: calc(107 / 1200 * 100%) calc(63 / 1200 * 100%) 0 auto
  }

  main section.info_sec1 p picture img {
    width: 100%
  }

  main section.info_sec1 p:nth-of-type(2) picture:nth-of-type(1) {
    width: calc(364 / 1200 * 100%);
    margin: calc(80 / 1200 * 100%) auto calc(100 / 1200 * 100%) calc(64 / 1200 * 100%)
  }

  main section.info_sec1 p:nth-of-type(2) picture:nth-of-type(2) {
    width: calc(648 / 1200 * 100%);
    margin: calc(80 / 1200 * 100%) calc(85 / 1200 * 100%) calc(110 / 1200 * 100%) auto
  }

  main section.info_sec2 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-flow: column
  }

  main section.info_sec2 div.info_sec2_contents {
    width: 100%;
    max-width: 1200px
  }

  main section.info_sec2 div.info_sec2_contents h3 {
    display: block;
    width: calc(345 / 1200 * 100%);
    margin: 0 auto
  }

  main section.info_sec2 div.info_sec2_contents h3 picture {
    display: block;
    width: 100%;
    margin: calc(100 / 345 * 100%) 0 0 0
  }

  main section.info_sec2 div.info_sec2_contents h3 picture img {
    width: 100%
  }

  main section.info_sec2 div.info_sec2_contents picture {
    display: block;
    width: 100%;
    margin: calc(60 / 1200 * 100%) 0 calc(120 / 1200 * 100%) 0
  }

  main section.info_sec2 div.info_sec2_contents picture img {
    width: 100%
  }

  main section.info_sec3 {
    width: 100%;
    background: #080606;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-flow: column
  }

  main section.info_sec3 div.info_sec3_contents {
    width: 100%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column
  }

  main section.info_sec3 div.info_sec3_contents h3 {
    display: block;
    width: calc(463 / 1200 * 100%);
    margin: 0 auto
  }

  main section.info_sec3 div.info_sec3_contents h3 picture {
    display: block;
    width: 100%;
    margin: calc(100 / 463 * 100%) 0 0 0
  }

  main section.info_sec3 div.info_sec3_contents h3 picture img {
    width: 100%
  }

  main section.info_sec3 div.info_sec3_contents picture {
    display: block;
    width: calc(1070 / 1200 * 100%);
    margin: calc(36 / 1070 * 100%) 0 calc(100 / 1070 * 100%) 0
  }

  main section.info_sec3 div.info_sec3_contents picture img {
    width: 100%
  }

  main div.top_link {
    width: 100%;
    max-width: 1070px;
    margin: 0 auto 0;
    display: flex;
    justify-content: flex-end
  }

  main div.top_link a {
    display: block;
    width: calc(159 / 1070 * 100%)
  }

  main div.top_link a picture {
    margin: calc(80 / 159 * 100%) 0 calc(60 / 159 * 100%) 0;
    display: block;
    width: 100%
  }

  main div.top_link a picture img {
    width: 100%
  }

  main div.interview div.interview_head {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center
  }

  main div.interview div.interview_head .interview_head_contents {
    width: 100%;
    max-width: 1700px
  }

  main div.interview div.interview_head .interview_head_contents div.interview_text {
    font-size: 20px;
    color: #b4a088;
    position: relative;
    margin: calc(562 / 1200 * 100%) 0 0 0;
    z-index: 1
  }

  main div.interview div.interview_head:after {
    content: '';
    width: calc(1000 / 1400 * 100%);
    height: 5em;
    background: #080606;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    pointer-events: none
  }

  main div.interview article.text-block {
    width: 100%;
    background: #080606;
    display: flex;
    align-items: center;
    flex-flow: column
  }

  main div.interview article.text-block div.title-section {
    width: 100%;
    max-width: 1200px
  }

  main div.interview article.text-block div.title-section h4.title {
    width: calc(900 / 1200 * 100%);
    color: #fff;
    font-size: 30px;
    margin: calc(40 / 1200 * 100%) 0 calc(40 / 1200 * 100%) 0;
    padding: 0 0 calc(40 / 1200 * 100%) 0;
    border-bottom: 3px solid #fff
  }

  main div.interview article.text-block div.description {
    width: 100%;
    max-width: 1200px;
    padding: 0 calc(300 / 1200 * 100%) 0 0;
    color: #fff;
    font-size: 20px
  }

  main div.interview article.text-block div.interview {
    width: calc(700 / 1200 * 100%);
    max-width: 700px
  }

  main div.interview article.text-block div.interview h5 {
    color: #b4a088;
    font-size: 30px;
    margin: calc(160 / 700 * 100%) 0 0 0
  }

  main div.interview article.text-block div.interview p {
    font-size: 16px;
    color: #fff;
    margin: 1em 0 0 0
  }

  main div.interview article.text-block div.interview p:nth-of-type(1) {
    margin: calc(40 / 700 * 100%) 0 0 0
  }

  main div.interview article.text-block div.interview p:nth-last-of-type(1) {
    margin: calc(40 / 700 * 100%) 0 calc(160 / 700 * 100%) 0
  }

  main div.interview div.split-image-half {
    width: 100%;
    background: #080606;
    display: flex;
    justify-content: space-around
  }

  main div.interview div.split-image-half div.half-width-image-wrapper {
    width: 100%;
    max-width: 1400px;
    display: flex;
    justify-content: space-between
  }

  main div.interview div.split-image-half div.half-width-image-wrapper div.half-width-image {
    display: block;
    width: calc(660 / 1400 * 100%);
    max-width: 660px;
    margin: 0;
    position: relative
  }

  main div.interview div.split-image-half div.half-width-image-wrapper div.half-width-image::after {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(400 / 660 * 100%)
  }

  main div.interview div.split-image-full {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    margin: 0;
    position: relative
  }

  main div.interview div.split-image-full .full-width-image {
    display: block;
    width: 100%;
    max-width: 1400px;
    position: relative
  }

  main div.interview div.split-image-full .full-width-image:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(500 / 1400 * 100%)
  }

  main div.split-image-full {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    margin: 0;
    position: relative
  }

  main div.split-image-full .full-width-image {
    display: block;
    width: 100%;
    max-width: 1400px;
    position: relative
  }

  main div.split-image-full .full-width-image:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(500 / 1400 * 100%)
  }

  main div.other-interviews {
    width: 100%;
    background: #080606;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column
  }

  main div.other-interviews h3.section-title {
    width: calc(549 / 1400 * 100%);
    max-width: 549px
  }

  main div.other-interviews h3.section-title img {
    width: 100%;
    margin: calc(241 / 549 * 100%) 0 0 0
  }

  main div.other-interviews div.interview-grid {
    width: calc(1070 / 1400 * 100%);
    max-width: 1070px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }

  main div.other-interviews div.interview-grid div.interview-item {
    width: calc(330 / 1070 * 100%);
    margin: calc(60 / 1070 * 100%) 0 0 0
  }

  main div.other-interviews div.interview-grid div.interview-item:nth-child(-n+3) {
    margin: calc(80 / 1070 * 100%) 0 0 0
  }

  main div.other-interviews div.interview-grid div.interview-item:nth-last-child(-n+3) {
    margin: calc(60 / 1070 * 100%) 0 calc(160 / 1070 * 100%) 0
  }

  main div.other-interviews div.interview-grid div.interview-item div.interview-image {
    width: 100%;
    background: #000;
    border: 1px solid #ffffff
  }

  main div.other-interviews div.interview-grid div.interview-item div.interview-title {
    color: #b4a088;
    font-size: 14px;
    margin: calc(24 / 330 * 100%) 0 0 0
  }

  main div.other-interviews div.interview-grid div.interview-item div.interview-caption {
    color: #fff;
    font-size: 16px;
    margin: calc(15 / 330 * 100%) 0 0 0;
    width: 100%;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
  }

  footer {
    width: 100%;
    background: #000;
    padding: 0.7em 0;
    display: flex;
    align-items: center;
    justify-content: space-around
  }

  footer small {
    color: #a5a5a5
  }
}

@media screen and (max-width: 750px) {
  body {
    background: url(../img/top/sp/bg.jpg);
    background-size: cover;
    background-position: center
  }

  .disp_pc {
    display: none
  }

  main section.mv {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: url(../img/top/sp/mv.jpg);
    background-size: cover;
    background-position: center
  }

  main section.mv div.mv_contents {
    width: 100%;
    position: relative
  }

  main section.mv div.mv_contents:before {
    content: '';
    display: block;
    width: 100 main section.mv div.mv_contents:before;
    padding-top: 106.6666666667vw;
    pointer-events: none
  }

  main section.mv div.mv_contents h1 {
    position: absolute;
    top: 0;
    left: 0;
    margin: 44.6666666667vw 0 0 24.4vw;
    width: 50.6666666667vw
  }

  main section.mv div.mv_contents h1 img {
    display: block;
    width: 100%
  }

  main section.mv div.mv_contents p.mv_text {
    position: absolute;
    top: 0;
    left: 0;
    margin: 86.5333333333vw 0 0 5.4666666667vw;
    width: 64.1333333333vw
  }

  main section.mv div.mv_contents p.mv_text img {
    display: block;
    width: 100%
  }

  main section.sec1 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center
  }

  main section.sec1 article.sec1_btn {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    flex-flow: column
  }

  main section.sec1 article.sec1_btn a {
    display: flex;
    align-items: center;
    flex-flow: column;
    position: relative;
    width: 89.3333333333vw;
    padding: 10.6666666667vw 19.8666666667vw 8.9333333333vw
  }

  main section.sec1 article.sec1_btn a span.dec_tb {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 0 0 4vw;
    width: 81.0666666667vw;
    height: 100%;
    pointer-events: none
  }

  main section.sec1 article.sec1_btn a span.dec_tb:after,
  main section.sec1 article.sec1_btn a span.dec_tb:before {
    content: '';
    display: block;
    height: 1px;
    width: 100%;
    background: #fff;
    position: absolute;
    left: 0
  }

  main section.sec1 article.sec1_btn a span.dec_tb:after {
    top: 0
  }

  main section.sec1 article.sec1_btn a span.dec_tb:before {
    bottom: 0
  }

  main section.sec1 article.sec1_btn a span.dec_lr {
    position: absolute;
    top: 0;
    left: 0;
    margin: 4vw 0 0 0;
    width: 100%;
    height: 30.6666666667vw;
    pointer-events: none
  }

  main section.sec1 article.sec1_btn a span.dec_lr:after,
  main section.sec1 article.sec1_btn a span.dec_lr:before {
    content: '';
    display: block;
    height: 100%;
    width: 1px;
    background: #fff;
    position: absolute;
    top: 0
  }

  main section.sec1 article.sec1_btn a span.dec_lr:after {
    left: 0
  }

  main section.sec1 article.sec1_btn a span.dec_lr:before {
    right: 0
  }

  main section.sec1 article.sec1_btn a.btn_info {
    margin: 16vw 0 5.3333333333vw 0
  }

  main section.sec1 article.sec1_btn a.btn_info picture:nth-of-type(1) {
    width: 59.2vw
  }

  main section.sec1 article.sec1_btn a.btn_info picture:nth-of-type(1) img {
    width: 100%
  }

  main section.sec1 article.sec1_btn a.btn_contract {
    margin: 0 0 5.3333333333vw 0
  }

  main section.sec1 article.sec1_btn a.btn_contract picture:nth-of-type(1) {
    width: 44.8vw
  }

  main section.sec1 article.sec1_btn a.btn_contract picture:nth-of-type(1) img {
    width: 100%
  }

  main section.sec1 article.sec1_btn a picture:nth-of-type(2) {
    margin: 5.3333333333vw 0 0 0;
    width: 49.3333333333vw
  }

  main section.sec1 article.sec1_btn a picture:nth-of-type(2) img {
    width: 100%
  }

  main section.sec1 article.sec1_btn p.txt_attention {
    margin: 0 0 21.3333333333vw 0;
    width: 77.2vw
  }

  main section.sec1 article.sec1_btn p.txt_attention picture,
  main section.sec1 article.sec1_btn p.txt_attention img {
    display: block;
    width: 100%
  }

  main section.sec1.info {
    background: none
  }

  main section.sec1.info article.sec1_btn {
    width: 100%;
    max-width: 1070px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap
  }

  main section.sec1.info article.sec1_btn a {
    display: flex;
    align-items: center;
    flex-flow: column;
    position: relative;
    width: 85.3333333333vw;
    padding: 10.6666666667vw 0 8.9333333333vw
  }

  main section.sec1.info article.sec1_btn a span.dec_tb {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
  }

  main section.sec1.info article.sec1_btn a span.dec_tb:after,
  main section.sec1.info article.sec1_btn a span.dec_tb:before {
    content: '';
    display: block;
    height: .0666666667vw;
    width: 100%;
    background: #fff;
    position: absolute;
    left: 0
  }

  main section.sec1.info article.sec1_btn a span.dec_tb:after {
    top: 0
  }

  main section.sec1.info article.sec1_btn a span.dec_tb:before {
    bottom: 0
  }

  main section.sec1.info article.sec1_btn a.btn_info {
    margin: 13.3333333333vw 0 0 0
  }

  main section.sec1.info article.sec1_btn a.btn_info picture:nth-of-type(1) {
    width: 59.2vw
  }

  main section.sec1.info article.sec1_btn a.btn_contract {
    margin: 0 0 0 0
  }

  main section.sec1.info article.sec1_btn a.btn_contract picture:nth-of-type(1) {
    width: 40.4vw
  }

  main section.sec1.info article.sec1_btn a picture:nth-of-type(2) {
    margin: 5.3333333333vw 0 0 0;
    width: 49.3333333333vw
  }

  main section.sec2 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 0 24vw 0
  }

  main section.sec2 div.topics_list {
    width: 100%;
    max-width: 1070px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-flow: column
  }

  main section.sec2 div.topics_list article {
    width: 85.3333333333vw;
    margin: 10.6666666667vw 0 0
  }

  main section.sec2 div.topics_list article:nth-child(1) {
    margin: 0 0 0
  }

  main section.sec2 div.topics_list article a {
    display: block;
    width: 100%;
    text-decoration: none
  }

  main section.sec2 div.topics_list article a span.thumb {
    display: block;
    text-indent: -9999px;
    width: 100%;
    padding-top: 48vw;
    background: #000;
    border: 1px solid #fff
  }

  main section.sec2 div.topics_list article a p.topic_title {
    font-size: 3.4666666667vw;
    color: #b4a088;
    margin: 5.3333333333vw 0 0
  }

  main section.sec2 div.topics_list article a p.topic_desc {
    width: 100%;
    font-size: 4vw;
    color: #fff;
    margin: 4vw 0 0;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2
  }

  main section.info_title {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: #080606
  }

  main section.info_title div.info_title_contents {
    width: 75.7333333333vw;
    margin: 20.2666666667vw 0 4.9333333333vw 0
  }

  main section.info_title div.info_title_contents h2 {
    display: block;
    width: 100%
  }

  main section.info_title div.info_title_contents h2 picture,
  main section.info_title div.info_title_contents h2 img {
    width: 100%
  }

  main section.info_mv {
    width: 100%;
    height: 60vw;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: url(../img/info/mv_concept.jpg);
    background-size: cover;
    background-position: center
  }

  main section.info_mv div.info_mv_contents {
    width: 100%;
    height: 100%;
    position: relative
  }

  main section.info_mv div.info_mv_contents p {
    position: absolute;
    top: 0
  }

  main section.info_mv div.info_mv_contents p.info_mv_text1 {
    width: 75.2vw;
    right: 0;
    margin: 81.2vw 5.4666666667vw 0 0
  }

  main section.info_mv div.info_mv_contents p.info_mv_text1 img {
    width: 100%
  }

  main section.info_mv div.info_mv_contents p.info_mv_text2 {
    width: 94.6666666667vw;
    left: 0;
    margin: 49.3333333333vw 0 0 0
  }

  main section.info_mv div.info_mv_contents p.info_mv_text2 img {
    width: 100%
  }

  main section.info_sec1 {
    margin: 68.2666666667vw 0 0 0;
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: #080606;
    flex-flow: column
  }

  main section.info_sec1 p {
    width: 100%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column
  }

  main section.info_sec1 p picture:nth-of-type(1) {
    width: 85.3333333333vw;
    margin: 13.3333333333vw 0 0 0
  }

  main section.info_sec1 p picture:nth-of-type(2) {
    width: 83.3333333333vw;
    margin: 8vw 0 0 0
  }

  main section.info_sec1 p picture img {
    width: 100%
  }

  main section.info_sec1 p:nth-of-type(2) picture:nth-of-type(1) {
    width: 85.3333333333vw;
    margin: 16vw 0 0 0
  }

  main section.info_sec1 p:nth-of-type(2) picture:nth-of-type(2) {
    width: 80.4vw;
    margin: 8vw 0 13.3333333333vw 0
  }

  main section.info_sec2 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-flow: column
  }

  main section.info_sec2 div.info_sec2_contents {
    width: 100%
  }

  main section.info_sec2 div.info_sec2_contents h3 {
    display: block;
    width: 64vw;
    margin: 13.3333333333vw auto 0
  }

  main section.info_sec2 div.info_sec2_contents h3 picture,
  main section.info_sec2 div.info_sec2_contents h3 img {
    display: block;
    width: 100%
  }

  main section.info_sec2 div.info_sec2_contents picture.info_sec2_img {
    display: block;
    width: 89.3333333333vw;
    margin: 4.6666666667vw 0 14.6666666667vw 5.3333333333vw
  }

  main section.info_sec2 div.info_sec2_contents picture.info_sec2_img img {
    width: 100%
  }

  main section.info_sec3 {
    width: 100%;
    background: #080606;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-flow: column
  }

  main section.info_sec3 div.info_sec3_contents {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column
  }

  main section.info_sec3 div.info_sec3_contents h3 {
    display: block;
    width: 70.5333333333vw;
    margin: 13.3333333333vw auto 0
  }

  main section.info_sec3 div.info_sec3_contents h3 picture,
  main section.info_sec3 div.info_sec3_contents h3 img {
    display: block;
    width: 100%
  }

  main section.info_sec3 div.info_sec3_contents .info_sec3_img {
    display: block;
    width: 85.4666666667vw;
    margin: 7.6vw 0 13.3333333333vw 0
  }

  main section.info_sec3 div.info_sec3_contents .info_sec3_img img {
    width: 100%
  }

  main div.top_link {
    width: 100%;
    margin: 10.6666666667vw 0 8vw auto;
    padding: 0 7.2vw 0 0;
    display: flex;
    justify-content: flex-end
  }

  main div.top_link a {
    display: block;
    width: 27.7333333333vw
  }

  main div.top_link a picture,
  main div.top_link a img {
    display: block;
    width: 100%
  }

  main div.interview div.interview_head {
    width: 100%;
    background: #aaa;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center
  }

  main div.interview div.interview_head .interview_head_contents {
    width: 100%
  }

  main div.interview div.interview_head .interview_head_contents div.interview_text {
    font-size: 4vw;
    color: #b4a088;
    position: relative;
    margin: 100vw 0 0 0;
    padding: 9.3333333333vw 5.3333333333vw 0;
    background: #080606;
    z-index: 1
  }

  main div.interview article.text-block {
    width: 100%;
    background: #080606;
    display: flex;
    align-items: center;
    flex-flow: column
  }

  main div.interview article.text-block div.title-section {
    width: 89.3333333333vw
  }

  main div.interview article.text-block div.title-section h4.title {
    width: 100%;
    color: #fff;
    font-size: 6vw;
    margin: 4.8vw 0 5.3333333333vw 0;
    padding: 0 0 5.3333333333vw 0;
    border-bottom: .1333333333vw solid #fff
  }

  main div.interview article.text-block div.description {
    width: 89.3333333333vw;
    padding: 0 0 0 0;
    color: #fff;
    font-size: 4.5333333333vw
  }

  main div.interview article.text-block div.interview {
    width: 89.3333333333vw;
    max-width: 700px
  }

  main div.interview article.text-block div.interview h5 {
    color: #b4a088;
    font-size: 30px;
    margin: 21.3333333333vw 0 0 0
  }

  main div.interview article.text-block div.interview p {
    font-size: 4vw;
    color: #fff;
    margin: 1.3333333333vw 0 0 0
  }

  main div.interview article.text-block div.interview p:nth-of-type(1) {
    margin: 5.3333333333vw 0 0 0
  }

  main div.interview article.text-block div.interview p:nth-last-of-type(1) {
    margin: 1.3333333333vw 0 21.3333333333vw 0
  }

  main div.interview div.split-image-half {
    width: 100%;
    background: #080606;
    display: flex;
    justify-content: space-around
  }

  main div.interview div.split-image-half div.half-width-image-wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-flow: column
  }

  main div.interview div.split-image-half div.half-width-image-wrapper div.half-width-image {
    display: block;
    width: 85.3333333333vw;
    margin: 0;
    position: relative
  }

  main div.interview div.split-image-half div.half-width-image-wrapper div.half-width-image::after {
    content: '';
    display: block;
    width: 100%;
    padding-top: 51.7333333333vw
  }

  main div.interview div.split-image-half div.half-width-image-wrapper div.half-width-image:nth-of-type(1) {
    margin: 0 auto 0 0
  }

  main div.interview div.split-image-half div.half-width-image-wrapper div.half-width-image:nth-of-type(2) {
    margin: 10.6666666667vw 0 0 auto
  }

  main div.interview div.split-image-full {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    margin: 0;
    position: relative
  }

  main div.interview div.split-image-full .full-width-image {
    display: block;
    width: 100%;
    position: relative
  }

  main div.interview div.split-image-full .full-width-image:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 56.2666666667vw
  }

  main div.other-interviews {
    width: 100%;
    background: #080606;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column
  }

  main div.other-interviews h3.section-title {
    width: 82.4vw;
    margin: 32vw 0 0 0
  }

  main div.other-interviews h3.section-title picture,
  main div.other-interviews h3.section-title img {
    display: block;
    width: 100%
  }

  main div.other-interviews div.interview-grid {
    width: 85.3333333333vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-flow: column
  }

  main div.other-interviews div.interview-grid div.interview-item {
    width: 100%;
    margin: 10.6666666667vw 0 0 0
  }

  main div.other-interviews div.interview-grid div.interview-item:nth-last-child(1) {
    margin: 10.6666666667vw 0 21.3333333333vw 0
  }

  main div.other-interviews div.interview-grid div.interview-item div.interview-image {
    width: 100%;
    background: #000;
    border: 1px solid #ffffff
  }

  main div.other-interviews div.interview-grid div.interview-item div.interview-title {
    color: #b4a088;
    font-size: 3.4666666667vw;
    margin: 5.4666666667vw 0 0 0
  }

  main div.other-interviews div.interview-grid div.interview-item div.interview-caption {
    color: #fff;
    font-size: 4vw;
    margin: 4vw 0 0 0;
    width: 100%;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2
  }

  footer {
    width: 100%;
    background: #000;
    height: 5.3333333333vw;
    display: flex;
    align-items: center;
    justify-content: space-around
  }

  footer small {
    color: #a5a5a5;
    font-size: 2.4vw
  }
}

/*interview01*/
.interview .interview_head_contents {
  background: url(../img/interview2/interview_head.jpg);
}

.interview .full-width-image.img1 {
  background: url(../img/interview2/full-width-image1.jpg);
}

.interview .full-width-image.img2 {
  background: url(../img/interview2/full-width-image2.jpg);
}

.interview .full-width-image.img3 {
  background: url(../img/interview2/full-width-image3.jpg);
}

.interview .full-width-image.img3 {
  background: url(../img/interview2/full-width-image3.jpg);
}

.half-width-image.left {
  background: url(../img/interview2/half-width-image-left.jpg);
}

.half-width-image.right {
  background: url(../img/interview2/half-width-image-right.jpg);
}

.interview .interview_head_contents {
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-size: cover;
  background-position: center;
}

.interview .full-width-image.img1,
.interview .full-width-image.img2,
.interview .full-width-image.img3 {
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-size: cover;
  background-position: center;
}

.interview .half-width-image.left,
.interview .half-width-image.right {
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-size: cover;
  background-position: center;
}

/* アニメーション */
      .fade-in {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 1s ease-out, transform 1s ease-out;
      }
      .fade-in.show {
        opacity: 1;
        transform: translateY(0);
      }
      .zoom-in {
        animation: zoomIn 6s ease-out forwards;
      }

      @keyframes zoomIn {
        from {
          transform: scale(1);
        }
        to {
          transform: scale(1.05);
        }
      }
