@charset "UTF-8";
/*--------------------------------------------------------------
inicialize styles (milligram flamework)
--------------------------------------------------------------*/
b,
strong {
  font-weight: bold; }

em {
  font-style: normal;
  font-weight: bold;
  color: #f5f4f2; }

p {
  margin-top: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 2.0rem;
  margin-top: 0; }

h1 {
  font-size: 4rem;
  line-height: 1.2; }

h2 {
  font-size: 3.2rem;
  line-height: 1.25; }

h3 {
  font-size: 2.4rem;
  line-height: 1.3; }

h4 {
  font-size: 2rem;
  letter-spacing: -.08rem;
  line-height: 1.35; }

h5 {
  font-size: 1.8rem;
  letter-spacing: -.05rem;
  line-height: 1.5; }

h6 {
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1.4; }

*,
*:after,
*:before {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 62.5%; }

body {
  font-size: 1.6em;
  font-weight: 300;
  letter-spacing: .01em;
  line-height: 1.6; }

hr {
  border: 0;
  background-color: #fff;
  margin: 4em auto; }

input[type='email'],
input[type='email_retype'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
input[type='url'],
input:not([type]),
textarea,
select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 0.1rem solid #3d3d3d;
  border-radius: .4rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  height: 3.8rem;
  padding: .6rem 1.0rem;
  width: 100%; }
  input[type='email']:focus,
  input[type='email_retype']:focus,
  input[type='number']:focus,
  input[type='password']:focus,
  input[type='search']:focus,
  input[type='tel']:focus,
  input[type='text']:focus,
  input[type='url']:focus,
  input:not([type]):focus,
  textarea:focus,
  select:focus {
    border-color: #cc3f29;
    outline: 0; }

select {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="%23d1d1d1" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>') center right no-repeat;
  padding-right: 3.0rem; }
  select:focus {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="%239b4dca" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>'); }

textarea {
  min-height: 20rem; }

label,
legend {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: .5rem; }

fieldset {
  border-width: 0;
  padding: 0; }

input[type='checkbox'],
input[type='radio'] {
  display: inline;
  margin-right: .25em; }

.label-inline {
  display: inline-block;
  font-weight: normal;
  margin-left: .5rem; }

a {
  color: #3d3d3d;
  outline: none; }
  a.td-none {
    text-decoration: none; }

.isnt-touch a:hover {
  color: #cc3f29; }

.list {
  list-style: none;
  margin-top: 0;
  padding-left: 0; }
  .list .list {
    font-size: 90%;
    margin: 1.5rem 0 1.5rem 3.0rem; }

.list.decimal {
  counter-reset: number; }
  .list.decimal li {
    position: relative;
    margin-left: .5em;
    padding-left: 1.5em; }
    .list.decimal li::before {
      display: inline-block;
      position: absolute;
      top: .333333em;
      left: 0;
      width: 2em;
      border-radius: 50%;
      background-color: #cc3f29;
      counter-increment: number;
      content: counter(number);
      text-align: center;
      font-family: "Courier New";
      font-weight: bold;
      font-size: .5em;
      line-height: 2;
      color: #fff; }

.list.disc li {
  position: relative;
  padding-left: 2em; }
  .list.disc li::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: .5em;
    left: .5em;
    width: .5em;
    height: .5em;
    border-radius: 50%;
    background-color: #f5f4f2; }

.button,
button,
dd,
dt,
li {
  margin-bottom: 1.0rem; }

fieldset,
input,
select,
textarea {
  margin-bottom: 1.5rem; }

blockquote,
dl,
figure,
form,
ol,
p,
pre,
table,
ul {
  margin-bottom: 2.5rem; }

table {
  border-spacing: 0;
  width: 100%;
  border-top: 0.2rem solid #cc3f29; }
  table thead > * {
    background-color: #a6eaf5; }
  table td,
  table th {
    border-bottom: 0.1rem solid #f5e50a;
    padding: 1rem;
    text-align: left;
    vertical-align: top; }
    table td:first-child,
    table th:first-child {
      padding-left: 1rem; }
    table td:last-child,
    table th:last-child {
      padding-right: 1rem; }
  table th {
    white-space: nowrap; }
  table.none-border {
    border-top: 0; }
    table.none-border td,
    table.none-border th {
      border-bottom: 0; }
  table.auto-width {
    width: auto; }

@media screen and (max-width: 40em) {
  table thead {
    display: none; }
  table tr {
    display: block;
    padding: 1.5rem 0; }
    table tr + tr {
      border-top: 0.1rem solid #f5e50a; }
  table td,
  table th {
    display: block;
    border-bottom: 0;
    white-space: normal; }
    table td:first-child,
    table th:first-child {
      padding-left: 0; }
    table td:last-child,
    table th:last-child {
      padding-right: 0; }
  table.none-border tr + tr {
    border-top: 0; } }

img {
  width: 100%;
  height: auto; }

/*--------------------------------------------------------------
mission trainer original styles
--------------------------------------------------------------*/
/* base */
body {
  background-color: #fff;
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #3d3d3d; }

@media print {
  body {
    zoom: 75%;
    -webkit-print-color-adjust: exact; }
  .toggle-button,
  .announce-container {
    display: none; } }

@page {
  margin: 0; }

*::-moz-selection {
  background-color: #a6eaf5; }

*::selection {
  background-color: #a6eaf5; }

/* icon */
.icon {
  display: inline-block; }
  .icon:before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    vertical-align: middle;
    margin-top: -0.25em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%; }
  .icon.arrow:before {
    background-image: url(../images/common/ico_arrow_01.svg); }
  .icon.back:before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    background-image: url(../images/common/ico_arrow_01.svg); }
  .icon.new-window:before {
    background-image: url(../images/common/ico_new-window_01.svg); }
  .icon.prev:before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    background-image: url(../images/common/ico_direction_01.svg); }
  .icon.prev:before {
    background-image: url(../images/common/ico_direction_01.svg); }
  .icon.pen:before {
    background-image: url(../images/common/ico_pen_01.svg); }
  .icon.email:before {
    background-image: url(../images/common/ico_email_01.svg); }
  .icon.pin:before {
    background-image: url(../images/common/ico_pin_01.svg); }

/* icon in button */
.button .icon.arrow:before {
  background-image: url(../images/common/ico_arrow_02.svg); }

.button .icon.back:before {
  background-image: url(../images/common/ico_arrow_02.svg); }

.button .icon.new-window:before {
  background-image: url(../images/common/ico_new-window_02.svg); }

.button .icon.prev:before {
  background-image: url(../images/common/ico_direction_02.svg); }

.button .icon.prev:before {
  background-image: url(../images/common/ico_direction_02.svg); }

.button .icon.pen:before {
  background-image: url(../images/common/ico_pen_02.svg); }

.button .icon.email:before {
  background-image: url(../images/common/ico_email_02.svg); }

.button .icon.pin:before {
  background-image: url(../images/common/ico_pin_02.svg); }

/* Button */
.button {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding: 1em 2em;
  border: 0;
  background-color: #3d3d3d;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  white-space: nowrap;
  color: #fff;
  -webkit-appearance: none; }
  .button span {
    position: relative; }
  .button:before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #cc3f29;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    opacity: 0;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transition-duration: .2s;
            transition-duration: .2s;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out; }
  .button.disabled {
    opacity: .25; }

.isnt-touch .button:focus, .isnt-touch .button:hover {
  cursor: pointer;
  color: #fff; }
  .isnt-touch .button:focus:before, .isnt-touch .button:hover:before {
    opacity: 1;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }

.isnt-touch .button.disabled:focus, .isnt-touch .button.disabled:hover {
  cursor: default; }
  .isnt-touch .button.disabled:focus:before, .isnt-touch .button.disabled:hover:before {
    opacity: 0; }

/* sns-share */
.sns-share {
  margin: 2em auto; }

@media screen and (max-height: 30em) {
  .sns-share {
    margin: 1.5em auto; } }

.sns-share .share-button {
  display: inline-block;
  width: 2em;
  height: 2em;
  overflow: hidden;
  border-radius: 50%; }

.isnt-touch .sns-share .share-button {
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear; }
  .isnt-touch .sns-share .share-button:hover {
    cursor: pointer; }

.isnt-touch .sns-share .twitter:hover {
  background-color: #4ba0eb; }

.isnt-touch .sns-share .facebook:hover {
  background-color: #4a68ad; }

.isnt-touch .sns-share .line:hover {
  background-color: #53b535; }

/* legacy-alert */
.legacy-alert {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  padding: 1em;
  background-color: #cc3f29;
  text-align: center;
  font-size: 1vw;
  color: #fff; }
  .legacy-alert .close {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1.5em;
    height: 1.5em;
    background-color: #3d3d3d;
    background-image: url(../images/common/ico_close_02.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: .5em; }

/*--------------------------------------------------------------
footer
--------------------------------------------------------------*/
/* copyright */
.footer .copyright {
  position: fixed;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Helvetica Neue LT W01_55 Roman";
  font-size: 1rem;
  line-height: 3; }

.secondary-content .footer .copyright {
  position: relative;
  bottom: auto;
  left: auto;
  margin-bottom: 4vw;
  -webkit-transform: none;
          transform: none;
  text-align: center; }

@media screen and (max-width: 46em) {
  .footer .copyright {
    position: relative;
    bottom: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    text-align: center; }
  .primary-content .footer {
    padding-bottom: 40vw;
    background-color: #f5f4f2; } }

/*--------------------------------------------------------------
fullpage-section
--------------------------------------------------------------*/
/* design layout */
.fullpage-section .wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #f5f4f2; }
  .fullpage-section .wrapper .content-container {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

/* design layout: responsive */
@media screen and (max-width: 46em) {
  .fullpage-section {
    height: auto !important; }
    .fullpage-section .wrapper {
      position: relative;
      top: auto;
      left: auto;
      width: auto;
      height: auto;
      padding: 2em 2em 4em; }
      .fullpage-section .wrapper .content-container {
        position: relative;
        top: auto;
        left: auto;
        -webkit-transform: none;
                transform: none;
        width: 100%; } }

/* wrapper: animate setting */
.fullpage-section.fp-section {
  -webkit-perspective: 3200;
          perspective: 3200;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }
  .fullpage-section.fp-section .wrapper {
    -webkit-transition: all .8s ease-out;
    transition: all .8s ease-out;
    -webkit-transform: translateY(-50%) rotateX(-160deg) scale(0.3);
            transform: translateY(-50%) rotateX(-160deg) scale(0.3);
    opacity: 0; }

/* animate setting: responsive */
@media screen and (max-width: 46em) {
  .fullpage-section.fp-section {
    -webkit-perspective: none;
            perspective: none;
    -webkit-transform-style: flat;
            transform-style: flat; }
    .fullpage-section.fp-section .wrapper {
      -webkit-transition: none;
      transition: none;
      -webkit-transform: none;
              transform: none;
      opacity: 1; } }

/* animation */
.fullpage-section.fp-section.active .wrapper {
  -webkit-transform: translateY(0) rotateX(0) scale(1);
          transform: translateY(0) rotateX(0) scale(1);
  opacity: 1; }

/*--------------------------------------------------------------
fullpage-navigation
--------------------------------------------------------------*/
/* navigation: position */
#fp-nav.right {
  right: 0; }

/* navigation: desgin */
#fp-nav ul {
  counter-reset: number; }
  #fp-nav ul li {
    width: 2em;
    height: 2em;
    margin: 0;
    counter-increment: number; }
    #fp-nav ul li a span {
      width: 1.2rem !important;
      height: 1.2rem !important;
      margin: -.6rem 0 0 -.6rem !important;
      background-color: transparent;
      opacity: .333333;
      text-align: center;
      font-family: "Helvetica Neue LT W01_77 Bd Cn";
      font-size: 1.2rem;
      line-height: 1; }
      #fp-nav ul li a span:before {
        content: counter(number); }
    #fp-nav ul li:nth-child(8) a {
      background-image: url(../images/common/ico_email_03.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-size: 1em; }
      #fp-nav ul li:nth-child(8) a span {
        display: none; }
    #fp-nav ul li a.active:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: .4rem;
      background-color: #cc3f29; }
    #fp-nav ul li a.active span {
      opacity: 1; }

/* navigation: hover */
.isnt-touch #fp-nav ul li:hover a span {
  width: 1.2rem;
  height: 1.2rem;
  margin: -.6rem 0 0 -.6rem;
  opacity: 1; }

/*--------------------------------------------------------------
slick custom style
--------------------------------------------------------------*/
/* slick-arrow */
.slick-arrow {
  width: 3em;
  height: 3em;
  background-color: #3d3d3d;
  background-image: url(../images/common/ico_direction_02.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.6rem; }

.isnt-touch .slick-arrow:hover {
  cursor: pointer;
  background-color: #cc3f29; }

/*--------------------------------------------------------------
local index
--------------------------------------------------------------*/
/* design */
.local-index {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: number; }
  .local-index a {
    text-decoration: none;
    font-weight: bold; }
  .local-index li {
    position: relative;
    padding-left: 3.5em; }
  .local-index li:before {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 2em;
    background-image: url(../images/common/ico_arrow_01.svg);
    background-repeat: no-repeat;
    background-position: 0 .3em;
    background-size: 1em;
    counter-increment: number;
    content: counter(number);
    font-family: "Helvetica Neue LT W01_67 Md Cn"; }

/* in profile-content */
.profile-content .local-index {
  top: 0;
  font-size: 1.2vw;
  white-space: nowrap;
  -webkit-transition: top .2s ease-out;
  transition: top .2s ease-out; }
  .profile-content .local-index.fixed {
    position: fixed;
    top: 8vw;
    left: calc(75vw - 1.6rem); }

/* in profile-content: responsive */
@media screen and (max-width: 60em) {
  .profile-content .local-index {
    font-size: 1.2vw; } }

@media screen and (max-width: 46em) {
  .profile-content .local-index {
    margin: 0 10%;
    font-size: 4vw; }
    .profile-content .local-index.fixed {
      position: relative;
      top: auto;
      left: auto; } }

/*--------------------------------------------------------------
stories: index
--------------------------------------------------------------*/
/* design */
.stories-index .index-item a {
  text-decoration: none; }

.stories-index .index-item .thumbnail {
  display: block;
  position: relative;
  margin-bottom: 1em; }
  .stories-index .index-item .thumbnail .number {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    padding: 1em;
    background-color: #cc3f29;
    text-align: center;
    font-family: "Helvetica Neue LT W01_67 Md Cn";
    font-size: 1vw;
    line-height: 1;
    color: #fff; }

.stories-index .index-item .catch {
  display: block;
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 1vw; }

.stories-index .index-item .link {
  display: block;
  margin-bottom: 0;
  padding-left: 1.5em;
  background-image: url(../images/common/ico_arrow_01.svg);
  background-repeat: no-repeat;
  background-position: left .3em;
  background-size: 1em;
  font-size: .9vw; }

/* design: responsive */
@media screen and (max-width: 60em) {
  .stories-index .index-item .thumbnail .number {
    font-size: 2vw; }
  .stories-index .index-item .catch {
    font-size: 2vw; }
  .stories-index .index-item .link {
    font-size: 1.8vw; } }

@media screen and (max-width: 46em) {
  .stories-index .index-item .thumbnail .number {
    font-size: 4vw; }
  .stories-index .index-item .catch {
    background-color: #f5f4f2;
    font-size: 4vw; }
  .stories-index .index-item .link {
    background-color: #f5f4f2;
    font-size: 3.6vw; } }

/*--------------------------------------------------------------
primary common: section-title
--------------------------------------------------------------*/
/* design */
.primary-content .section-title {
  position: absolute;
  top: 4.8rem;
  left: 4.8rem;
  font-weight: normal;
  font-family: "Helvetica Neue LT W01_71488914";
  font-size: .8vw;
  line-height: 1.6;
}
.primary-content .lang-switch {
  font-family: "Helvetica Neue LT W01_71488914";
  font-size: .8vw;
  line-height: 1.6;
  right: 4.8rem;
  position: absolute;
  top: 4.8rem;
}
.primary-content .lang-switch ol {
  display: flex;
  list-style-type: none;
  padding: 0;
}
.primary-content .lang-switch li:last-child::before {
  content: '/';
  margin: 0 1rem;
}

/* design: responsive */
@media screen and (max-width: 60em) {
  .primary-content .section-title {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .section-title {
    display: table;
    position: relative;
    top: auto;
    left: auto;
    margin-bottom: 4em;
    background-color: #f5f4f2;
    font-size: 3.2vw; }
    .primary-content .section-title:before {
      content: "";
      display: block;
      position: absolute;
      top: .75em;
      left: -3.2rem;
      width: 1.6rem;
      height: 2px;
      background-color: #cc3f29; }
  .primary-content .lang-switch {
  	 font-size: 3vw;
    left: auto;
    right: auto;
    top: 0;
  }
}

/* animate setting */
.primary-content .fp-section .section-title {
  -webkit-transform: translateX(2em);
          transform: translateX(2em);
  opacity: 0;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* animate setting: responsive */
@media screen and (max-width: 46em) {
  .primary-content .fp-section .section-title {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* animation */
.primary-content .fp-completely .section-title {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------
primary common: arrow-container
--------------------------------------------------------------*/
/* design */
.primary-content .arrow-container {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 100%; }
  .primary-content .arrow-container > * {
    position: absolute;
    display: block; }
  .primary-content .arrow-container .first-line {
    left: 0;
    width: 1px;
    background-color: #3d3d3d; }
  .primary-content .arrow-container .second-line {
    left: 0;
    width: 1px;
    background-color: #cc3f29; }
  .primary-content .arrow-container .arrow-head {
    position: absolute;
    left: -60px;
    width: 120px;
    height: 60px;
    fill: none;
    stroke: #cc3f29;
    stroke-miterlimit: 10;
    stroke-width: 1px; }

/* design: responsive */
@media screen and (max-width: 46em) {
  .primary-content .arrow-container .arrow-head {
    left: -30px;
    width: 60px;
    height: 30px;
    stroke-width: 2px; } }

/* animate setting */
.primary-content .fp-section .arrow-container > * {
  -webkit-transition-duration: 0;
          transition-duration: 0; }

.primary-content .fp-section .arrow-container .first-line {
  top: 0;
  height: 0; }

.primary-content .fp-section .arrow-container .second-line {
  top: 0;
  height: 0; }

.primary-content .fp-section .arrow-container .arrow-head {
  bottom: 100%; }

.primary-content .fp-section.active .arrow-container > * {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

/* animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .fp-section .arrow-container > * {
    -webkit-transition: none;
    transition: none; }
  .primary-content .fp-section .arrow-container .first-line {
    height: 50%; }
  .primary-content .fp-section .arrow-container .second-line {
    top: 50%;
    height: 50%; }
  .primary-content .fp-section .arrow-container .arrow-head {
    bottom: 0; } }

/* animation */
.primary-content .fp-completely .arrow-container .first-line {
  height: 50%; }

.primary-content .fp-completely .arrow-container .second-line {
  top: 50%;
  height: 45%; }

.primary-content .fp-completely .arrow-container .arrow-head {
  bottom: 5%; }

/* animation responsive */
@media screen and (max-width: 46em) {
  .primary-content .fp-completely .arrow-container .second-line {
    height: 50%; }
  .primary-content .fp-completely .arrow-container .arrow-head {
    bottom: 0; } }

/*--------------------------------------------------------------
primary common: border-container
--------------------------------------------------------------*/
/* design */
.primary-content .border-container {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-width: 0;
  border-style: solid;
  border-color: #fff; }

/* design: responsive */
@media screen and (max-width: 46em) {
  .primary-content .border-container {
    border-width: 0; } }

/* animate setting */
.primary-content .fullpage-section.fp-section .border-container {
  border-width: 0; }

.primary-content .fullpage-section.fp-section.active .border-container {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: border-width;
  transition-property: border-width;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* animate setting: responsive */
@media screen and (max-width: 46em) {
  .primary-content .fullpage-section.fp-section .border-container {
    border-width: 0; }
  .primary-content .fullpage-section.fp-section.active .border-container {
    -webkit-transition: none;
    transition: none; } }

/* animation */
.primary-content .fullpage-section.fp-completely .border-container {
  border-width: 2em; }

/* animation: responsive */
@media screen and (max-width: 46em) {
  .primary-content .fullpage-section.fp-completely .border-container {
    border-width: 0; } }

/*--------------------------------------------------------------
primary common: section-navi
--------------------------------------------------------------*/
/* design */
.primary-content .section-navi {
  display: none;
  position: fixed;
  top: 0;
  right: -75%;
  z-index: 20;
  width: 75%;
  height: 100%;
  padding-top: 14vw;
  background-color: #3d3d3d;
  -webkit-transition: right .4s ease-out;
  transition: right .4s ease-out;
  counter-reset: number; }
  .primary-content .section-navi.open {
    right: 0; }
  .primary-content .section-navi .navi-item {
    display: block;
    margin-bottom: 1px;
    padding: 5vw 0 5vw 10vw;
    background-color: rgba(0, 0, 0, 0.1);
    text-decoration: none;
    font-family: "Helvetica Neue LT W01_55 Roman";
    font-size: 4vw;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
    counter-increment: number; }
    .primary-content .section-navi .navi-item:before {
      content: counter(number) ". ";
      margin-right: .4em;
      font-family: "Helvetica Neue LT W01_71488914";
      color: #cc3f29; }
    .primary-content .section-navi .navi-item:nth-child(8) {
      padding-left: 16vw;
      background-image: url(../images/common/ico_email_01.svg);
      background-repeat: no-repeat;
      background-position: 9.6vw center;
      background-size: 1em; }
      .primary-content .section-navi .navi-item:nth-child(8):before {
        display: none; }

/* design: responsive */
@media screen and (min-width: 46em) {
  .primary-content .section-navi {
    display: none; } }

@media screen and (max-width: 46em) {
  .primary-content .section-navi {
    display: block; } }

/*--------------------------------------------------------------
primary common: toggle-button
--------------------------------------------------------------*/
/* toggle-button */
.primary-content .toggle-button {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 21;
  width: 14vw;
  height: 14vw;
  margin: 0;
  padding: 0;
  font-size: 1em;
  background-color: #3d3d3d;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s; }
  .primary-content .toggle-button .line {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.2em;
    height: 0.125em;
    margin: -0.1em 0 0 -.6em;
    background-color: #fff;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    font-size: 4vw; }
    .primary-content .toggle-button .line:nth-of-type(1) {
      -webkit-transform: translateY(-0.4em);
              transform: translateY(-0.4em); }
    .primary-content .toggle-button .line:nth-of-type(3) {
      -webkit-transform: translateY(0.4em);
              transform: translateY(0.4em); }
  .primary-content .toggle-button.close {
    background-color: transparent; }
    .primary-content .toggle-button.close .line:nth-of-type(1) {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .primary-content .toggle-button.close .line:nth-of-type(2) {
      opacity: 0; }
    .primary-content .toggle-button.close .line:nth-of-type(3) {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }

/* design: hover */
/* design: responsive */
@media screen and (min-width: 46em) {
  .primary-content .toggle-button {
    display: none; } }

@media screen and (max-width: 46em) {
  .primary-content .toggle-button {
    display: block; } }

/*--------------------------------------------------------------
primary common: announce-container
--------------------------------------------------------------*/
/* design */
.aside .announce-container {
  position: fixed;
  bottom: 4.8rem;
  right: 4.8rem;
  z-index: 10;
  width: 25vw;
  padding: 1vw;
  border-radius: .3vw;
  background-color: rgba(255, 255, 255, 0.9); }
  .aside .announce-container .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .aside .announce-container .thumbnail {
    width: 20%;
    overflow: hidden;
    margin-right: 5%;
    border-radius: 50%; }
  .aside .announce-container .read {
    width: 75%;
    margin-bottom: 0;
    font-size: .75vw;
    line-height: 1.6; }
  .aside .announce-container .close {
    position: absolute;
    top: 0;
    right: 0;
    width: 1.5em;
    height: 1.5em;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    border-radius: 50%;
    background-color: #3d3d3d;
    background-image: url(../images/common/ico_close_02.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: .5em;
    font-size: 1vw;
    text-align: center;
    font-weight: bold;
    color: #fff; }

/* hover */
.isnt-touch .aside .announce-container .close:hover {
  cursor: pointer;
  background-color: #cc3f29; }

/* responsive */
@media screen and (max-width: 60em) {
  .aside .announce-container {
    width: 33.333333vw; }
    .aside .announce-container .read {
      font-size: 1vw; }
    .aside .announce-container .close {
      font-size: 1.5vw; } }

@media screen and (max-width: 46em) {
  .aside .announce-container {
    right: 0;
    bottom: 0;
    width: 100vw;
    padding: 4vw; }
    .aside .announce-container .read {
      width: 70%;
      font-size: 3vw; }
    .aside .announce-container .close {
      -webkit-transform: none;
              transform: none;
      border-radius: 0;
      font-size: 5vw; } }

/* animation */
.aside .announce-container {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  opacity: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }
  .aside .announce-container.on {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }

/*--------------------------------------------------------------
primary section: intro-section
--------------------------------------------------------------*/
/* title */
.primary-content .intro-section .title {
  margin-bottom: 0;
  font-family: "Helvetica Neue LT W01_65 Mediu";
  font-size: 8vw;
  line-height: 1;
  white-space: nowrap;
  background-color: #f5f4f2; }

/* title: responsive */
@media screen and (max-width: 46em) {
  .primary-content .intro-section .title {
    margin-bottom: .2em;
    text-align: center;
    font-size: 16vw;
    white-space: normal; } }

/* title: animate setting */
.primary-content .intro-section.fp-section .title {
  width: 0;
  overflow: hidden;
  -webkit-transition-duration: 0;
          transition-duration: 0; }

.primary-content .intro-section.fp-section.active .title {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: width;
  transition-property: width;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* title: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .intro-section.fp-section .title {
    width: 100%;
    -webkit-transition: none;
    transition: none; } }

/* title: animation */
.primary-content .intro-section.fp-completely .title {
  width: 100%; }

/*--------------------------------------------------------------*/
/* name */
.primary-content .intro-section .name {
  position: absolute;
  bottom: -1.6em;
  left: 0;
  margin-bottom: 0;
  font-family: "Helvetica Neue LT W01_65 Mediu";
  font-size: 3.2vw;
  line-height: 1;
  white-space: nowrap; }

/* name: responsive */
@media screen and (max-width: 46em) {
  .primary-content .intro-section .name {
    position: relative;
    bottom: auto;
    left: auto;
    margin-bottom: .6em;
    background-color: #f5f4f2;
    text-align: center;
    font-size: 7.2vw; } }

/* name: animate setting */
.primary-content .intro-section.fp-section .name {
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  opacity: 0;
  -webkit-transition-duration: 0;
          transition-duration: 0;
  -webkit-transition-delay: 0;
          transition-delay: 0; }

.primary-content .intro-section.fp-section.active .name {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

/* name: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .intro-section.fp-section .name {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* name: animation */
.primary-content .intro-section.fp-completely .name {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------*/
/* read */
.primary-content .intro-section .read {
  position: absolute;
  bottom: -8em;
  left: 0;
  margin-bottom: 0;
  font-size: 1.4vw;
  line-height: 1.8;
  white-space: nowrap; }

/* read: responsive */
@media screen and (max-width: 46em) {
  .primary-content .intro-section .read {
    position: relative;
    bottom: auto;
    left: auto;
    background-color: #f5f4f2;
    text-align: center;
    font-size: 4vw; } }

/* read: animate setting */
.primary-content .intro-section.fp-section .read {
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  opacity: 0;
  -webkit-transition-duration: 0;
          transition-duration: 0;
  -webkit-transition-delay: 0;
          transition-delay: 0; }

.primary-content .intro-section.fp-section.active .read {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: 1s;
          transition-delay: 1s; }

/* read: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .intro-section.fp-section .read {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* read: animation */
.primary-content .intro-section.fp-completely .read {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------
primary section: message-section
--------------------------------------------------------------*/
/* bg-container */
.primary-content .message-section .bg-container {
  position: absolute;
  bottom: -.1em;
  left: 0;
  width: 100%;
  text-align: center;
  font-family: "Helvetica Neue LT W01_65 Mediu";
  font-size: 22vw;
  color: #fff;
  line-height: 1; }

/* bg-container: responsive */
@media screen and (max-width: 46em) {
  .primary-content .message-section .wrapper {
    padding-bottom: 40vw; }
  .primary-content .message-section .bg-container {
    position: absolute;
    bottom: .5em; } }

/*--------------------------------------------------------------*/
/* catch */
.primary-content .message-section .catch {
  text-align: center;
  font-weight: bold;
  font-size: 2.4vw;
  white-space: nowrap;
  position: relative; }
  .primary-content .message-section .catch:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background-color: #f5f4f2; }
  .primary-content .message-section .catch .text {
    position: relative; }

/* catch: responsive */
@media screen and (max-width: 60em) {
  .primary-content .message-section .catch {
    font-size: 3.2vw; } }

@media screen and (max-width: 46em) {
  .primary-content .message-section .catch {
    text-align: left;
    font-size: 6vw; } }

/* catch: animate setting */
.primary-content .message-section.fp-section .catch {
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
  opacity: 0;
  -webkit-transition-duration: 0;
          transition-duration: 0; }

.primary-content .message-section.fp-section.active .catch {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* catch: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .message-section.fp-section .catch {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* catch: animation */
.primary-content .message-section.fp-completely .catch {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------*/
/* read */
.primary-content .message-section .read {
  text-align: center;
  font-size: 1.2vw;
  line-height: 1.8;
  white-space: nowrap;
  position: relative; }
  .primary-content .message-section .read:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background-color: #f5f4f2; }
  .primary-content .message-section .read .text {
    position: relative; }
  .primary-content .message-section .read:last-child {
    margin-bottom: 0; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .primary-content .message-section .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .message-section .read {
    text-align: left;
    font-size: 4vw;
    white-space: normal; }
    .primary-content .message-section .read br {
      display: none; } }

/* read: animate setting */
.primary-content .message-section.fp-section .read {
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  opacity: 0;
  -webkit-transition-duration: 0;
          transition-duration: 0; }

.primary-content .message-section.fp-section.active .read {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* read: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .message-section.fp-section .read {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* read: animation */
.primary-content .message-section.fp-completely .read {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------
primary section: about-section
--------------------------------------------------------------*/
/* catch */
.primary-content .about-section .catch {
  position: absolute;
  top: 25%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #f5f4f2;
  text-align: center;
  font-weight: bold;
  font-size: 1.6vw; }

/* catch: responsive */
@media screen and (max-width: 60em) {
  .primary-content .about-section .catch {
    font-size: 2.4vw; } }

@media screen and (max-width: 46em) {
  .primary-content .about-section .catch {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    text-align: left;
    font-size: 6vw; } }

/*--------------------------------------------------------------*/
/* read */
.primary-content .about-section .read {
  position: absolute;
  top: 75%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin-bottom: 0;
  background-color: #f5f4f2;
  text-align: center;
  font-size: 1vw;
  line-height: 1.8;
  white-space: nowrap; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .primary-content .about-section .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .about-section .read {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    width: auto;
    text-align: left;
    font-size: 4vw;
    white-space: normal; }
    .primary-content .about-section .read br {
      display: none; } }

/*--------------------------------------------------------------*/
/* figure */
.primary-content .about-section .figure {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .primary-content .about-section .figure .arrow {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 90%; }
  .primary-content .about-section .figure .content {
    position: relative;
    width: 18%;
    text-align: center; }
    .primary-content .about-section .figure .content .title {
      position: absolute;
      top: -5em;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      font-weight: bold;
      font-size: 1vw;
      line-height: 1.2;
      white-space: nowrap; }
      .primary-content .about-section .figure .content .title .number {
        font-family: "Helvetica Neue LT W01_57 Cond";
        font-size: 300%;
        color: #cc3f29; }
    .primary-content .about-section .figure .content .label {
      padding: .25em 0;
      background-color: #3d3d3d;
      color: #fff;
      font-weight: bold;
      font-size: 1.2vw;
      white-space: nowrap; }
    .primary-content .about-section .figure .content .caption {
      position: absolute;
      bottom: -2em;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      font-weight: bold;
      font-size: .9vw;
      white-space: nowrap; }
    .primary-content .about-section .figure .content.center .title {
      top: -2.5em;
      font-size: 1.2vw;
      color: #cc3f29;
      background-color: #f5f4f2; }
    .primary-content .about-section .figure .content.center .point {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 2vw;
      height: 2vw; }

/* figure: responsive */
@media screen and (max-width: 60em) {
  .primary-content .about-section .figure .content {
    width: 25%; }
    .primary-content .about-section .figure .content .title {
      font-size: 1.6vw; }
    .primary-content .about-section .figure .content .label {
      font-size: 1.8vw; }
    .primary-content .about-section .figure .content .caption {
      font-size: 1.4vw; }
    .primary-content .about-section .figure .content.center .title {
      font-size: 1.8vw; }
    .primary-content .about-section .figure .content.center .point {
      width: 2vw;
      height: 2vw; } }

@media screen and (max-width: 46em) {
  .primary-content .about-section .figure {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    display: block; }
    .primary-content .about-section .figure .arrow {
      display: none; }
    .primary-content .about-section .figure .content {
      width: auto;
      margin: 4em auto; }
      .primary-content .about-section .figure .content .title {
        position: relative;
        top: auto;
        left: auto;
        -webkit-transform: none;
                transform: none;
        font-size: 4vw; }
      .primary-content .about-section .figure .content .label {
        margin: .25em 0;
        font-size: 5vw; }
      .primary-content .about-section .figure .content .caption {
        position: relative;
        bottom: auto;
        left: auto;
        -webkit-transform: none;
                transform: none;
        font-size: 3vw; }
      .primary-content .about-section .figure .content.left, .primary-content .about-section .figure .content.right {
        background-color: #f5f4f2; }
      .primary-content .about-section .figure .content.center .title {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(1em, -50%);
                transform: translate(1em, -50%);
        font-size: 5vw; }
      .primary-content .about-section .figure .content.center .point {
        position: relative;
        top: auto;
        left: auto;
        -webkit-transform: none;
                transform: none;
        width: 8vw;
        height: 8vw;
        margin: 0 auto; } }

/* figure: animate setting */
.primary-content .about-section.fp-section .figure .arrow {
  overflow: hidden; }
  .primary-content .about-section.fp-section .figure .arrow:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 55%;
    background-color: #f5f4f2; }

.primary-content .about-section.fp-section .figure .content {
  opacity: 0; }

.primary-content .about-section.fp-section.active .figure .arrow:after {
  -webkit-transition-property: width;
  transition-property: width;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

.primary-content .about-section.fp-section.active .content {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .4s;
          transition-duration: .4s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }
  .primary-content .about-section.fp-section.active .content.left {
    -webkit-transition-delay: .2s;
            transition-delay: .2s; }
  .primary-content .about-section.fp-section.active .content.center {
    -webkit-transition-delay: .4s;
            transition-delay: .4s; }
  .primary-content .about-section.fp-section.active .content.right {
    -webkit-transition-delay: .6s;
            transition-delay: .6s; }

/* figure: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .about-section.fp-section .figure .content {
    opacity: 1; }
  .primary-content .about-section.fp-section.active .figure .arrow:after {
    -webkit-transition: none;
    transition: none; }
  .primary-content .about-section.fp-section.active .content {
    -webkit-transition: none;
    transition: none; } }

/* figure: animation */
.primary-content .about-section.fp-completely.active .figure .arrow:after {
  width: 0; }

.primary-content .about-section.fp-completely.active .figure .content {
  opacity: 1; }

/*--------------------------------------------------------------
primary section: profile-section
--------------------------------------------------------------*/
/* image-container */
.primary-content .profile-section .image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-image: url(../images/home/bgi_profile_01.png), url(../images/home/img_profile_01.png);
  background-repeat: no-repeat;
  background-position: center left, center;
  background-size: 20vw, cover;
  background-blend-mode: multiply; }

/* image-container: responsive */
@media screen and (max-width: 46em) {
  .primary-content .profile-section .image-container {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 100vw;
    background-size: 40vw, cover; } }

/* image-container: animate setting */
.primary-content .profile-section.fp-section .image-container {
  -webkit-transform: translateX(-4vw);
          transform: translateX(-4vw);
  opacity: 0; }

.primary-content .profile-section.fp-section.active .image-container {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* image-container: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .profile-section.fp-section .image-container {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  .primary-content .profile-section.fp-section.active .image-container {
    -webkit-transition: none;
    transition: none; } }

/* image-container: animation */
.primary-content .profile-section.fp-completely.active .image-container {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------*/
/* name-en */
.primary-content .profile-section .name-en {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding: 1em 1.5em 1em 5em;
  font-family: "Helvetica Neue LT W01_65 Mediu";
  font-size: 1vw;
  line-height: 1;
  color: #fff; }
  .primary-content .profile-section .name-en .handle-name {
    display: inline-block;
    font-size: 150%; }

/* name-en: responsive */
@media screen and (max-width: 46em) {
  .primary-content .profile-section .name-en {
    font-size: 2vw; } }

/*--------------------------------------------------------------*/
/* content-container */
.primary-content .profile-section .content-container {
  width: 30%;
  -webkit-transform: translate(20%, -50%);
          transform: translate(20%, -50%); }

/* content-container: responsive */
@media screen and (max-width: 60em) {
  .primary-content .profile-section .content-container {
    width: 35%; } }

@media screen and (max-width: 46em) {
  .primary-content .profile-section .content-container {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    -webkit-transform: none;
            transform: none; } }

/*--------------------------------------------------------------*/
/* name */
.primary-content .profile-section .name {
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3vw;
  line-height: 1.4; }
  .primary-content .profile-section .name .handle-name {
    display: inline-block;
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 36%;
    letter-spacing: 0.1em; }

/* name: responsive */
@media screen and (max-width: 60em) {
  .primary-content .profile-section .name {
    font-size: 4vw; } }

@media screen and (max-width: 46em) {
  .primary-content .profile-section .name {
    background-color: #f5f4f2;
    text-align: center;
    font-size: 8vw; } }

/* status */
.primary-content .profile-section .status {
  font-size: 1vw;
  line-height: 1.8; }

/* status: responsive */
@media screen and (max-width: 60em) {
  .primary-content .profile-section .status {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .profile-section .status {
    background-color: #f5f4f2;
    text-align: center;
    font-size: 3.2vw; } }

/*--------------------------------------------------------------*/
/* read */
.primary-content .profile-section .read {
  font-size: 1vw;
  line-height: 1.8; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .primary-content .profile-section .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .profile-section .read {
    background-color: #f5f4f2;
    font-size: 4vw; } }

/*--------------------------------------------------------------*/
/* link */
.primary-content .profile-section .link {
  font-size: 1vw; }
  .primary-content .profile-section .link a {
    text-decoration: none;
    font-weight: bold; }

/* link: responsive */
@media screen and (max-width: 60em) {
  .primary-content .profile-section .link {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .profile-section .link {
    background-color: #f5f4f2;
    font-size: 4vw; } }

/*--------------------------------------------------------------
primary section: stories-section
--------------------------------------------------------------*/
/* bg-container */
.primary-content .stories-section .bg-container {
  position: absolute;
  bottom: 52.5%;
  left: 0;
  width: 100%;
  text-align: center;
  font-family: "Helvetica Neue LT W01_65 Mediu";
  font-size: 10vw;
  color: #fff;
  line-height: 1;
  white-space: nowrap; }

/* bg-container: responsive */
@media screen and (max-width: 60em) {
  .primary-content .stories-section .bg-container {
    bottom: 55%; } }

@media screen and (max-width: 46em) {
  .primary-content .stories-section .wrapper {
    padding-bottom: 30vw; }
  .primary-content .stories-section .bg-container {
    position: absolute;
    bottom: 1.25em; } }

/*--------------------------------------------------------------*/
/* content-container */
.primary-content .stories-section .content-container {
  width: calc(100% - 4em);
  margin: 0 auto; }

@media screen and (max-width: 46em) {
  .primary-content .stories-section .content-container {
    width: 100%; } }

/*--------------------------------------------------------------*/
/* stories-index */
.primary-content .stories-section .stories-index {
  padding: 0 10%; }
  .primary-content .stories-section .stories-index .slick-list {
    -webkit-transform: translateY(4.8vw);
            transform: translateY(4.8vw); }

/* stories-index: responsive */
@media screen and (max-width: 60em) {
  .primary-content .stories-section .stories-index .slick-list {
    -webkit-transform: translateY(9.6vw);
            transform: translateY(9.6vw); } }

@media screen and (max-width: 46em) {
  .primary-content .stories-section .stories-index {
    padding: 0; }
    .primary-content .stories-section .stories-index .slick-list {
      -webkit-transform: translateY(0);
              transform: translateY(0); } }

/*--------------------------------------------------------------*/
/* index-item */
.primary-content .stories-section .stories-index .index-item {
  padding: 0 .5%; }

/* index-item: responsive */
@media screen and (max-width: 46em) {
  .primary-content .stories-section .stories-index .index-item {
    padding: 0 2em; } }

/* index-item: animate setting */
.primary-content .stories-section.fp-section .stories-index .index-item {
  opacity: 0; }
  .primary-content .stories-section.fp-section .stories-index .index-item:nth-child(even) {
    -webkit-transform: translateY(2em);
            transform: translateY(2em); }
  .primary-content .stories-section.fp-section .stories-index .index-item:nth-child(odd) {
    -webkit-transform: translateY(-2em);
            transform: translateY(-2em); }

.primary-content .stories-section.fp-section.active .stories-index .index-item {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* index-item: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .stories-section.fp-section .stories-index .index-item {
    opacity: 1;
    -webkit-transition: none;
    transition: none; }
    .primary-content .stories-section.fp-section .stories-index .index-item:nth-child(even) {
      -webkit-transform: translateY(0);
              transform: translateY(0); }
    .primary-content .stories-section.fp-section .stories-index .index-item:nth-child(odd) {
      -webkit-transform: translateY(0);
              transform: translateY(0); } }

/* index-item: animation */
.primary-content .stories-section.fp-completely .stories-index .index-item {
  opacity: 1; }
  .primary-content .stories-section.fp-completely .stories-index .index-item:nth-child(even) {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .primary-content .stories-section.fp-completely .stories-index .index-item:nth-child(odd) {
    -webkit-transform: translateY(0);
            transform: translateY(0); }

/*--------------------------------------------------------------*/
/* slick-arrow */
.primary-content .stories-section .slick-arrow {
  position: absolute;
  top: 50%;
  z-index: 1; }
  .primary-content .stories-section .slick-arrow.slick-prev {
    left: 5%;
    -webkit-transform: translate(-1.5em, -50%) rotate(180deg);
            transform: translate(-1.5em, -50%) rotate(180deg); }
  .primary-content .stories-section .slick-arrow.slick-next {
    right: 5%;
    -webkit-transform: translate(1.5em, -50%);
            transform: translate(1.5em, -50%); }

/* slick-arrow: responsive */
@media screen and (max-width: 46em) {
  .primary-content .stories-section .slick-arrow.slick-prev {
    left: 0;
    -webkit-transform: translate(-2em, -200%) rotate(180deg);
            transform: translate(-2em, -200%) rotate(180deg); }
  .primary-content .stories-section .slick-arrow.slick-next {
    right: 0;
    -webkit-transform: translate(2em, -200%);
            transform: translate(2em, -200%); } }

/* slick-arrow: animate setting */
.primary-content .stories-section.fp-section .stories-index .slick-arrow {
  opacity: 0; }
  .primary-content .stories-section.fp-section .stories-index .slick-arrow.slick-prev {
    left: 4%; }
  .primary-content .stories-section.fp-section .stories-index .slick-arrow.slick-next {
    right: 4%; }

.primary-content .stories-section.fp-section.active .stories-index .slick-arrow {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: left, right, opacity;
  transition-property: left, right, opacity;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* slick-arrow: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .stories-section.fp-section .stories-index .slick-arrow {
    opacity: 1;
    -webkit-transition: none;
    transition: none; }
    .primary-content .stories-section.fp-section .stories-index .slick-arrow.slick-prev {
      left: 0; }
    .primary-content .stories-section.fp-section .stories-index .slick-arrow.slick-next {
      right: 0; } }

/* slick-arrow: animation */
.primary-content .stories-section.fp-completely .stories-index .slick-arrow {
  opacity: 1; }
  .primary-content .stories-section.fp-completely .stories-index .slick-arrow.slick-prev {
    left: 5%; }
  .primary-content .stories-section.fp-completely .stories-index .slick-arrow.slick-next {
    right: 5%; }

/* slick-arrow: animation responsive */
@media screen and (max-width: 46em) {
  .primary-content .stories-section.fp-completely .stories-index .slick-arrow.slick-prev {
    left: 0; }
  .primary-content .stories-section.fp-completely .stories-index .slick-arrow.slick-next {
    right: 0; } }

/*--------------------------------------------------------------
primary section: rules-section
--------------------------------------------------------------*/
/* rules-title */
.primary-content .rules-section .rules-title {
  position: absolute;
  bottom: 50%;
  left: 10%;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 2vw;
  line-height: 1.2;
  white-space: nowrap; }
  .primary-content .rules-section .rules-title strong {
    display: inline-block;
    background-color: #f5f4f2;
    font-size: 410%; }
    .primary-content .rules-section .rules-title strong br {
      display: none; }

/* rules-title: responsive */
@media screen and (max-width: 46em) {
  .primary-content .rules-section .rules-title {
    position: relative;
    bottom: auto;
    left: auto;
    margin-bottom: 1em;
    background-color: #f5f4f2;
    font-size: 6.4vw; }
    .primary-content .rules-section .rules-title strong {
      background-color: transparent;
      font-size: 232%; }
      .primary-content .rules-section .rules-title strong br {
        display: inline; } }

/* rules-title: animate setting */
.primary-content .rules-section.fp-section .rules-title {
  -webkit-transform: translateY(2em);
          transform: translateY(2em);
  opacity: 0; }

.primary-content .rules-section.fp-section.active .rules-title {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* rules-title: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .rules-section.fp-section .rules-title {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* rules-title: animation */
.primary-content .rules-section.fp-completely .rules-title {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1; }

/*--------------------------------------------------------------*/
/* read */
.primary-content .rules-section .read {
  position: absolute;
  bottom: 15%;
  left: 10%;
  width: 35%;
  margin-bottom: 0;
  font-size: 1vw;
  line-height: 1.8; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .primary-content .rules-section .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .rules-section .read {
    position: relative;
    bottom: auto;
    left: auto;
    width: auto;
    margin-bottom: 2em;
    background-color: #f5f4f2;
    font-size: 4vw; }
    .primary-content .rules-section .read br {
      display: none; } }

/* read: animate setting */
.primary-content .rules-section.fp-section .read {
  -webkit-transform: translateX(2em);
          transform: translateX(2em);
  opacity: 0; }

.primary-content .rules-section.fp-section.active .read {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: .6s;
          transition-delay: .6s; }

/* read: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .rules-section.fp-section .read {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* read: animation */
.primary-content .rules-section.fp-completely .read {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------*/
/* local-index */
.primary-content .rules-section .local-index {
  position: absolute;
  bottom: 15%;
  left: 60%;
  width: 35%;
  margin-bottom: 0;
  font-size: 1vw; }

/* local-index: responsive */
@media screen and (max-width: 60em) {
  .primary-content .rules-section .local-index {
    left: 55%;
    width: 40%;
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .rules-section .local-index {
    position: relative;
    bottom: auto;
    left: auto;
    width: auto;
    background-color: #f5f4f2;
    font-size: 4vw; } }

/* local-index: animate setting */
.primary-content .rules-section.fp-section .local-index li {
  -webkit-transform: translateX(2em);
          transform: translateX(2em);
  opacity: 0; }

.primary-content .rules-section.fp-section.active .local-index li {
  -webkit-transition-duration: .4s;
          transition-duration: .4s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }
  .primary-content .rules-section.fp-section.active .local-index li:nth-child(1) {
    -webkit-transition-delay: 1s;
            transition-delay: 1s; }
  .primary-content .rules-section.fp-section.active .local-index li:nth-child(2) {
    -webkit-transition-delay: 1.2s;
            transition-delay: 1.2s; }
  .primary-content .rules-section.fp-section.active .local-index li:nth-child(3) {
    -webkit-transition-delay: 1.4s;
            transition-delay: 1.4s; }
  .primary-content .rules-section.fp-section.active .local-index li:nth-child(4) {
    -webkit-transition-delay: 1.6s;
            transition-delay: 1.6s; }
  .primary-content .rules-section.fp-section.active .local-index li:nth-child(5) {
    -webkit-transition-delay: 1.8s;
            transition-delay: 1.8s; }
  .primary-content .rules-section.fp-section.active .local-index li:nth-child(6) {
    -webkit-transition-delay: 2s;
            transition-delay: 2s; }
  .primary-content .rules-section.fp-section.active .local-index li:nth-child(7) {
    -webkit-transition-delay: 2.2s;
            transition-delay: 2.2s; }

/* local-index: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .rules-section.fp-section .local-index li {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* local-index: animation */
.primary-content .rules-section.fp-completely .local-index li {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------
primary section: training-section
--------------------------------------------------------------*/
/* content-container */
.primary-content .training-section .content-container {
  position: absolute;
  top: 0;
  left: 10%;
  width: 35%;
  height: 100%;
  -webkit-transform: none;
          transform: none;
  background-image: url(../images/home/bgi_training_01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-image: 75%; }
  .primary-content .training-section .content-container + .content-container {
    left: 55%;
    background-image: url(../images/home/bgi_training_02.svg); }

/* content-container: responsive */
@media screen and (max-width: 46em) {
  .primary-content .training-section .content-container {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    background: none; }
    .primary-content .training-section .content-container + .content-container {
      left: auto;
      background: none; } }

/*--------------------------------------------------------------*/
/* catch */
.primary-content .training-section .catch {
  position: absolute;
  top: 15%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-bottom: 0;
  background-color: #f5f4f2;
  text-align: center;
  font-weight: bold;
  font-size: 1.2vw;
  line-height: 1.6;
  white-space: nowrap; }

/* catch: responsive */
@media screen and (max-width: 60em) {
  .primary-content .training-section .catch {
    font-size: 2vw; } }

@media screen and (max-width: 46em) {
  .primary-content .training-section .catch {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    font-size: 4.8vw; } }

/* catch: animate setting */
.primary-content .training-section.fp-section .catch {
  -webkit-transform: translate(-50%, -2em);
          transform: translate(-50%, -2em);
  opacity: 0; }

.primary-content .training-section.fp-section.active .catch {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

/* catch: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .training-section.fp-section .catch {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
    -webkit-transition: none;
    transition: none; } }

/* catch: animation */
.primary-content .training-section.fp-completely .catch {
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  opacity: 1; }

/* catch: animation responsive */
@media screen and (max-width: 46em) {
  .primary-content .training-section.fp-completely .catch {
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

/*--------------------------------------------------------------*/
/* training-title */
.primary-content .training-section .training-title {
  position: absolute;
  bottom: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 2vw; }
  .primary-content .training-section .training-title .title {
    display: block;
    font-weight: bold;
    font-size: 1vw;
    line-height: 1.2;
    white-space: nowrap; }
    .primary-content .training-section .training-title .title .number {
      font-family: "Helvetica Neue LT W01_57 Cond";
      font-size: 300%;
      color: #cc3f29; }
  .primary-content .training-section .training-title .sign {
    display: block;
    font-family: "Helvetica Neue LT W01_55 Roman";
    font-size: 4vw;
    color: #cc3f29; }

/* training-title: responsive */
@media screen and (max-width: 60em) {
  .primary-content .training-section .training-title {
    font-size: 2.4vw; }
    .primary-content .training-section .training-title .title {
      font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .training-section .training-title {
    position: relative;
    bottom: auto;
    left: auto;
    width: auto;
    margin-top: 2em;
    background-color: #f5f4f2;
    font-size: 5.6vw; }
    .primary-content .training-section .training-title .title {
      font-size: 3.2vw; }
    .primary-content .training-section .training-title .sign {
      font-size: 12vw; } }

/* training-title: animate setting */
.primary-content .training-section.fp-section .training-title {
  -webkit-transform: translateX(-2em);
          transform: translateX(-2em);
  opacity: 0; }

.primary-content .training-section.fp-section.active .training-title {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

.primary-content .training-section.fp-section.active .content-container + .content-container .training-title {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s; }

/* training-title: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .training-section.fp-section .training-title {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

/* training-title: animation */
.primary-content .training-section.fp-completely .training-title {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------*/
.primary-content .training-section .read {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  font-size: 1vw;
  line-height: 1.8; }
  .primary-content .training-section .read .symbol {
    color: #cc3f29; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .primary-content .training-section .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .primary-content .training-section .read {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    background-color: #f5f4f2;
    font-size: 4vw;
    background-image: url(../images/home/bgi_training_01.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-image: 75%; }
  .primary-content .training-section .content-container + .content-container .read {
    background-image: url(../images/home/bgi_training_02.svg); } }

/* read: animate setting */
.primary-content .training-section.fp-section .read {
  -webkit-transform: translateX(-4em);
          transform: translateX(-4em);
  opacity: 0; }

.primary-content .training-section.fp-section.active .read {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

.primary-content .training-section.fp-section.active .content-container + .content-container .read {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s; }

/* read: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .training-section.fp-section .read {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

/* read: animation */
.primary-content .training-section.fp-completely .read {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------
primary section: inquiry-section
--------------------------------------------------------------*/
/* content-container */
.primary-content .inquiry-section .content-container {
  position: absolute;
  top: 50%;
  left: 10%;
  width: 35%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }
  .primary-content .inquiry-section .content-container + .content-container {
    left: 55%; }

/* content-container: responsive */
@media screen and (max-width: 46em) {
  .primary-content .inquiry-section .content-container {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    -webkit-transform: none;
            transform: none; }
    .primary-content .inquiry-section .content-container + .content-container {
      left: auto;
      padding-bottom: 40vw; } }

/*--------------------------------------------------------------*/
/* inquiry-title */
.primary-content .inquiry-section .inquiry-title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  text-align: center;
  font-family: "Helvetica Neue LT W01_65 Mediu";
  font-weight: normal;
  font-size: 8vw;
  line-height: 1;
  color: #fff; }

/* inquiry-title: responsive */
@media screen and (max-width: 60em) {
  .primary-content .inquiry-section .inquiry-title {
    font-size: 2.4vw; } }

@media screen and (max-width: 46em) {
  .primary-content .inquiry-section .inquiry-title {
    margin-top: 2em;
    font-size: 5.6vw; } }

/* inquiry-title: animate setting */
.primary-content .inquiry-section.fp-section .inquiry-title {
  opacity: 0; }

.primary-content .inquiry-section.fp-section.active .inquiry-title {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

.primary-content .inquiry-section.fp-section.active .content-container + .content-container .inquiry-title {
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

/* inquiry-title: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .inquiry-section.fp-section .inquiry-title {
    -webkit-transition: none;
    transition: none;
    opacity: 1; } }

/* inquiry-title: animation */
.primary-content .inquiry-section.fp-completely .inquiry-title {
  opacity: 1; }

/*--------------------------------------------------------------*/
/* button */
.primary-content .inquiry-section .button {
  display: block;
  width: 100%;
  font-size: 1.4vw; }

/* button: responsive */
@media screen and (max-width: 46em) {
  .primary-content .inquiry-section .button {
    font-size: 3.6vw; } }

/* button: animate setting */
.primary-content .inquiry-section.fp-section .button {
  -webkit-transform: translateX(-3em);
          transform: translateX(-3em);
  opacity: 0; }

.primary-content .inquiry-section.fp-section.active .button {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

.primary-content .inquiry-section.fp-section.active .content-container + .content-container .button {
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

/* button: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .inquiry-section.fp-section .button {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

/* button: animation */
.primary-content .inquiry-section.fp-completely .button {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

/*--------------------------------------------------------------*/
/* read */
.primary-content .inquiry-section .read {
  text-align: center;
  font-size: .9vw; }
  .primary-content .inquiry-section .read br {
    display: none; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .primary-content .inquiry-section .read {
    font-size: 1.4vw; } }

@media screen and (max-width: 46em) {
  .primary-content .inquiry-section .read {
    background-color: #f5f4f2;
    font-size: 3.6vw; }
    .primary-content .inquiry-section .read br {
      display: inline; } }

/* read: animate setting */
.primary-content .inquiry-section.fp-section .read {
  opacity: 0; }

.primary-content .inquiry-section.fp-section.active .read {
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

.primary-content .inquiry-section.fp-section.active .content-container + .content-container .read {
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

/* read: animate setting responsive */
@media screen and (max-width: 46em) {
  .primary-content .inquiry-section.fp-section .read {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

/* read: animation */
.primary-content .inquiry-section.fp-completely .read {
  opacity: 1; }

/*--------------------------------------------------------------*/
/* arrow-container: animation */
.primary-content .inquiry-section .arrow-container .arrow-head {
  display: none; }

.primary-content .inquiry-section.fp-completely .arrow-container .second-line {
  height: 50%; }

/*--------------------------------------------------------------
secondary common: secondary-content
--------------------------------------------------------------*/
/* design */
.secondary-content {
  min-height: 100vh;
  border-width: 2em;
  border-style: solid;
  border-color: #fff;
  background-color: #f5f4f2; }

/* design: responsive */
@media screen and (max-width: 46em) {
  .secondary-content {
    border-width: 0; } }

/*--------------------------------------------------------------
secondary common: root-container
--------------------------------------------------------------*/
/* design */
.secondary-content .root-container {
  margin: 1.6rem;
  font-family: "Helvetica Neue LT W01_55 Roman";
  font-size: .8vw;
  line-height: 1.6; }
  .secondary-content .root-container .root-item {
    display: inline-block;
    white-space: nowrap; }
    .secondary-content .root-container .root-item:after {
      content: "";
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-left: .5em;
      background-image: url(../images/common/ico_direction_01.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-size: 1em; }
    .secondary-content .root-container .root-item:last-child:after {
      content: none; }
    .secondary-content .root-container .root-item br {
      display: none; }
  .secondary-content .root-container .current {
    font-family: "Helvetica Neue LT W01_71488914"; }
    .secondary-content .root-container .current:before {
      font-family: "Helvetica Neue LT W01_55 Roman"; }

/* design: responsive */
@media screen and (max-width: 60em) {
  .secondary-content .root-container {
    font-size: 1.6vw; }
    .secondary-content .root-container .root-item br {
      display: inline; } }

@media screen and (max-width: 46em) {
  .secondary-content .root-container {
    position: relative;
    margin: 3.2rem;
    font-size: 3.2vw; }
    .secondary-content .root-container:before {
      content: "";
      display: block;
      position: absolute;
      top: .75em;
      left: -3.2rem;
      width: 1.6rem;
      height: 2px;
      background-color: #cc3f29; } }

/*--------------------------------------------------------------
secondary common: page-header
--------------------------------------------------------------*/
/* design */
.secondary-content .page-header {
  margin: 8vw auto; }

/* design: responsive */
@media screen and (max-width: 46em) {
  .secondary-content .page-header {
    margin: 16vw auto; } }

/*--------------------------------------------------------------
secondary common: content-container
--------------------------------------------------------------*/
/* design */
.secondary-content .content-container {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .secondary-content .content-container .main {
    width: 45%;
    margin-left: 20%;
    margin-right: 5%;
    padding-bottom: 8vw; }
    .secondary-content .content-container .main .section + .section {
      margin-top: 6vw; }
  .secondary-content .content-container .navigation {
    width: 30%;
    padding-left: 5%;
    padding-bottom: 8vw;
    border-left: 1px solid #cc3f29; }

/* design: responsive */
@media screen and (max-width: 60em) {
  .secondary-content .content-container .main {
    width: 55%;
    margin-left: 10%; } }

@media screen and (max-width: 46em) {
  .secondary-content .content-container {
    display: block; }
    .secondary-content .content-container .main {
      width: auto;
      margin-left: 0;
      margin-right: 0;
      padding-bottom: 16vw; }
      .secondary-content .content-container .main .section + .section {
        margin-top: 12vw; }
    .secondary-content .content-container .navigation {
      width: auto;
      padding: 0;
      padding-bottom: 16vw;
      border-left: 0; } }

/*--------------------------------------------------------------
secondary common: page-back
--------------------------------------------------------------*/
/* design */
.secondary-content .button.page-back {
  position: fixed;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding: 1em;
  font-size: 1vw; }

/* design: responsive */
@media screen and (max-width: 60em) {
  .secondary-content .button.page-back {
    font-size: 1.2vw; } }

@media screen and (max-width: 46em) {
  .secondary-content .button.page-back {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    width: 80%;
    margin: 8vw 10%;
    padding: 1em 2em;
    font-size: 3.2vw; } }

/*--------------------------------------------------------------
secondary common: button-container
--------------------------------------------------------------*/
/* design */
.secondary-content .button-container {
  padding: 8vw 0;
  text-align: center; }
  .secondary-content .button-container .button {
    width: 28.2vw;
    font-size: 1vw; }

@media screen and (max-width: 60em) {
  .secondary-content .button-container .button {
    width: 36vw;
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .secondary-content .button-container {
    padding: 0 0 8vw; }
    .secondary-content .button-container .button {
      width: 80vw;
      font-size: 3.2vw; } }

/*--------------------------------------------------------------
secondary page: stories-content
--------------------------------------------------------------*/
/* content-container */
/*--------------------------------------------------------------*/
/* page-header */
.stories-content .page-header {
  position: relative; }
  .stories-content .page-header .content-number {
    position: absolute;
    top: 0;
    right: 20%;
    width: 7.5vw;
    height: 7.5vw;
    background-color: #cc3f29;
    text-align: center;
    font-family: "Helvetica Neue LT W01_65 Mediu";
    color: #fff;
    font-size: .8vw;
    line-height: 1.2; }
    .stories-content .page-header .content-number .text {
      display: inline-block;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      white-space: nowrap; }
      .stories-content .page-header .content-number .text .number {
        font-family: "Helvetica Neue LT W01_67 Md Cn";
        font-size: 500%; }
  .stories-content .page-header .catch {
    width: 45%;
    margin-bottom: .5em;
    margin-left: 20%;
    font-weight: bold;
    font-size: 2.6vw;
    line-height: 1.4;
    white-space: nowrap; }
  .stories-content .page-header .page-title {
    width: 45%;
    margin-bottom: 4vw;
    margin-left: 20%;
    font-weight: normal;
    font-size: 1vw;
    line-height: 1.8;
    white-space: nowrap; }
    .stories-content .page-header .page-title .en-name {
      font-family: "Adobe Garamond W01 It";
      font-size: 300%; }
    .stories-content .page-header .page-title .ja-name {
      font-size: 150%; }
  .stories-content .page-header .visual {
    width: 80%;
    margin: 0 auto; }

/* page-header: responsive */
@media screen and (max-width: 60em) {
  .stories-content .page-header .content-number {
    right: 5%;
    width: 10vw;
    height: 10vw;
    font-size: 1vw; }
  .stories-content .page-header .catch {
    width: 55%;
    margin-left: 10%;
    font-size: 3.6vw; }
  .stories-content .page-header .page-title {
    width: 55%;
    margin-left: 10%;
    font-size: 1.6vw; }
  .stories-content .page-header .visual {
    width: 90%; } }

@media screen and (max-width: 46em) {
  .stories-content .page-header .content-number {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 46.666666vw;
    width: 20vw;
    height: 20vw;
    font-size: 2.2vw; }
  .stories-content .page-header .catch {
    width: auto;
    margin-left: .666666em;
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.6; }
  .stories-content .page-header .page-title {
    width: auto;
    margin-left: 0;
    text-align: center;
    font-size: 3.2vw; }
  .stories-content .page-header .visual {
    width: auto; } }

/*--------------------------------------------------------------*/
/* section-header */
.stories-content .section-header .section-title {
  display: table;
  position: relative;
  margin-bottom: 1em;
  padding-bottom: .5em;
  font-size: 1.6vw;
  line-height: 1.6;
  white-space: nowrap; }
  .stories-content .section-header .section-title:before, .stories-content .section-header .section-title:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 50%;
    height: 1px; }
  .stories-content .section-header .section-title:before {
    left: 0;
    background-color: #3d3d3d; }
  .stories-content .section-header .section-title:after {
    right: 0;
    background-color: #cc3f29; }

/* section-header: responsive */
@media screen and (max-width: 60em) {
  .stories-content .section-header .section-title {
    font-size: 2vw; } }

@media screen and (max-width: 46em) {
  .stories-content .section-header .section-title {
    margin: 0 10% 1em;
    font-size: 5.6vw;
    white-space: normal; }
    .stories-content .section-header .section-title br {
      display: none; } }

/*--------------------------------------------------------------*/
/* read */
.stories-content .read {
  font-size: 1.2vw;
  line-height: 1.8; }
  .stories-content .read .name {
    margin-right: 1em;
    font-weight: bold; }
    .stories-content .read .name.guest {
      color: #cc3f29; }

.stories-content .image {
  margin-top: 4vw; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .stories-content .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .stories-content .read {
    margin: 0 10%;
    font-size: 4vw; }
  .stories-content .image {
    margin-top: 8vw; } }

/*--------------------------------------------------------------*/
/* stories-index */
.stories-content .stories-index .index-item {
  margin-bottom: 3vw; }

/* stories-index: responsive */
@media screen and (max-width: 60em) {
  .stories-content .stories-index .index-item .thumbnail .number {
    font-size: 1.2vw; }
  .stories-content .stories-index .index-item .catch {
    font-size: 1.6vw; }
  .stories-content .stories-index .index-item .link {
    font-size: 1.2vw; } }

@media screen and (max-width: 46em) {
  .stories-content .stories-index {
    padding: 0 10%; }
    .stories-content .stories-index .index-item {
      margin-bottom: 0;
      padding: 0 2em; }
      .stories-content .stories-index .index-item .thumbnail .number {
        font-size: 3.2vw; }
      .stories-content .stories-index .index-item .catch {
        font-size: 4vw; }
      .stories-content .stories-index .index-item .link {
        font-size: 3.2vw; }
  .stories-content .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 1; }
    .stories-content .slick-arrow.slick-prev {
      left: 0;
      -webkit-transform: translate(0, -200%) rotate(180deg);
              transform: translate(0, -200%) rotate(180deg); }
    .stories-content .slick-arrow.slick-next {
      right: 0;
      -webkit-transform: translate(0, -200%);
              transform: translate(0, -200%); } }

/* navigation */
.secondary-content .content-container .navigation {
  padding-right: 5%; }

/*--------------------------------------------------------------
secondary page: profile-content
--------------------------------------------------------------*/
/* content-container */
.profile-content .content-container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

/*--------------------------------------------------------------*/
/* page-header */
.profile-content .page-header {
  position: relative;
  width: 60%; }
  .profile-content .page-header .page-en-title {
    position: absolute;
    top: -.7em;
    left: -.075em;
    z-index: -1;
    font-family: "Helvetica Neue LT W01_65 Mediu";
    font-size: 19vw;
    line-height: 1;
    color: #fff; }
  .profile-content .page-header .page-title {
    position: relative;
    font-size: 3vw;
    white-space: nowrap; }
    .profile-content .page-header .page-title br {
      display: none; }
  .profile-content .page-header .read {
    position: relative;
    font-size: 1.2vw;
    line-height: 1.8; }

/* page-header: responsive */
@media screen and (max-width: 60em) {
  .profile-content .page-header {
    width: 80%; }
    .profile-content .page-header .page-en-title {
      top: -.75em;
      font-size: 21vw; }
    .profile-content .page-header .page-title {
      font-size: 4vw; }
    .profile-content .page-header .read {
      font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .profile-content .page-header {
    width: auto; }
    .profile-content .page-header .page-en-title {
      top: -.6em;
      left: 0em;
      width: 100%;
      text-align: center;
      font-size: 23vw; }
    .profile-content .page-header .page-title {
      margin: 0 10% 1em;
      font-size: 7.5vw; }
      .profile-content .page-header .page-title br {
        display: inline; }
    .profile-content .page-header .read {
      margin: 0 10% 1em;
      font-size: 4vw; }
      .profile-content .page-header .read br {
        display: none; } }

/*--------------------------------------------------------------*/
/* section-header */
.profile-content .section-header {
  position: relative;
  margin-bottom: 2vw; }
  .profile-content .section-header .section-en-title {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    margin-bottom: 0;
    font-family: "Helvetica Neue LT W01_65 Mediu";
    font-size: 8.5vw;
    line-height: .75;
    color: #fff;
    white-space: nowrap; }
  .profile-content .section-header .section-title {
    padding: 2vw 0;
    font-size: 1.5vw;
    color: #cc3f29; }

/* section-header: responsive */
@media screen and (max-width: 46em) {
  .profile-content .section-header {
    margin: 0 10% 4vw; }
    .profile-content .section-header .section-en-title {
      top: -.05em;
      font-size: 16vw;
      line-height: .75; }
    .profile-content .section-header .section-title {
      font-size: 5vw; } }

/*--------------------------------------------------------------*/
/* catch */
.profile-content .catch {
  font-weight: bold;
  font-size: 2.4vw;
  line-height: 1.6;
  white-space: nowrap; }

/* catch: responsive */
@media screen and (max-width: 60em) {
  .profile-content .catch {
    font-size: 2.6vw; } }

@media screen and (max-width: 46em) {
  .profile-content .catch {
    margin: 0 10% 1em;
    font-size: 6.5vw;
    white-space: normal; }
    .profile-content .catch br {
      display: none; } }

/*--------------------------------------------------------------*/
/* read */
.profile-content .read {
  font-size: 1.2vw;
  line-height: 1.8; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .profile-content .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .profile-content .read {
    margin: 0 10%;
    font-size: 4vw; } }

/*--------------------------------------------------------------*/
/* image */
.profile-content .image {
  margin-top: 4vw; }
  .profile-content .image.vertical {
    text-align: center; }
    .profile-content .image.vertical img {
      width: 62.5%; }

/* image: responsive */
@media screen and (max-width: 60em) {
  .profile-content .image {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .profile-content .image {
    margin: 0 10%;
    font-size: 4vw; } }

/*--------------------------------------------------------------
secondary page: rules-content
--------------------------------------------------------------*/
/* content-container */
.rules-content .content-container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

/*--------------------------------------------------------------*/
/* page-header */
.rules-content .page-header {
  width: 60%; }
  .rules-content .page-header .page-title {
    font-size: 2vw; }
    .rules-content .page-header .page-title strong {
      display: inline-block;
      font-size: 370%;
      white-space: nowrap; }
      .rules-content .page-header .page-title strong br {
        display: none; }
  .rules-content .page-header .read {
    font-size: 1.2vw;
    line-height: 1.8; }

/* page-header: responsive */
@media screen and (max-width: 60em) {
  .rules-content .page-header {
    width: 80%; }
    .rules-content .page-header .page-title {
      font-size: 2.1vw; }
    .rules-content .page-header .read {
      font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .rules-content .page-header {
    width: auto; }
    .rules-content .page-header .page-title {
      margin: 0 10% 1em;
      font-size: 4vw; }
      .rules-content .page-header .page-title strong {
        font-size: 350%;
        white-space: normal; }
        .rules-content .page-header .page-title strong br {
          display: inline; }
    .rules-content .page-header .read {
      margin: 0 10% 1em;
      font-size: 4vw; }
      .rules-content .page-header .read br {
        display: none; } }

/*--------------------------------------------------------------*/
/* section-header */
.rules-content .section-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2vw; }
  .rules-content .section-header .section-number {
    position: relative;
    width: 7vw;
    height: 7vw;
    background-color: #cc3f29;
    text-align: center;
    font-family: "Helvetica Neue LT W01_55 Roman";
    font-size: .8vw;
    color: #fff;
    line-height: 1;
    white-space: nowrap; }
    .rules-content .section-header .section-number .text {
      display: inline-block;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .rules-content .section-header .section-number .number {
      font-size: 400%; }
  .rules-content .section-header .section-title {
    margin-bottom: 0;
    margin-left: 2vw;
    font-size: 2.8vw;
    white-space: nowrap; }

/* section-header: responsive */
@media screen and (max-width: 46em) {
  .rules-content .section-header {
    margin: 0 10% 4vw; }
    .rules-content .section-header .section-number {
      width: 12vw;
      height: 12vw;
      font-size: 1.6vw; }
      .rules-content .section-header .section-number .number {
        font-size: 400%; }
    .rules-content .section-header .section-title {
      margin-left: 4vw;
      font-size: 5vw; } }

/*--------------------------------------------------------------*/
/* read */
.rules-content .read {
  font-size: 1.2vw;
  line-height: 1.8; }

/* read: responsive */
@media screen and (max-width: 60em) {
  .rules-content .read {
    font-size: 1.6vw; } }

@media screen and (max-width: 46em) {
  .rules-content .read {
    margin: 0 10%;
    font-size: 4vw; } }

/*--------------------------------------------------------------
secondary page: inquiry-content
--------------------------------------------------------------*/
/* page-header */
.inquiry-content .page-header {
  width: 60%;
  margin: 4em auto; }
  .inquiry-content .page-header .page-title {
    font-size: 3.2rem;
    line-height: 1.4; }
    .inquiry-content .page-header .page-title br {
      display: none; }
  .inquiry-content .page-header .read {
    font-size: 1.6rem;
    line-height: 1.8; }
    .inquiry-content .page-header .read br {
      display: none; }

/* page-header: responsive */
@media screen and (max-width: 60em) {
  .inquiry-content .page-header {
    width: 80%; }
    .inquiry-content .page-header .page-title {
      font-size: 2.4rem; } }

@media screen and (max-width: 46em) {
  .inquiry-content .page-header {
    width: 90%; }
    .inquiry-content .page-header .page-title {
      white-space: nowrap; }
      .inquiry-content .page-header .page-title br {
        display: inline; } }

/*--------------------------------------------------------------*/
/* main */
.inquiry-content .main {
  width: 60%;
  margin: 0 auto; }

/* main: responsive */
@media screen and (max-width: 60em) {
  .inquiry-content .main {
    width: 80%; } }

@media screen and (max-width: 46em) {
  .inquiry-content .main {
    width: 90%; } }

/*--------------------------------------------------------------*/
.inquiry-content .form-group + .form-group {
  margin-top: 2em; }

/*--------------------------------------------------------------*/
.inquiry-content .form-group fieldset,
.inquiry-content .form-group input,
.inquiry-content .form-group select,
.inquiry-content .form-group textarea {
  margin-bottom: 0; }

.inquiry-content .form-group input[type='email'],
.inquiry-content .form-group input[type='email_retype'],
.inquiry-content .form-group input[type='number'],
.inquiry-content .form-group input[type='password'],
.inquiry-content .form-group input[type='search'],
.inquiry-content .form-group input[type='tel'],
.inquiry-content .form-group input[type='text'],
.inquiry-content .form-group input[type='url'],
.inquiry-content .form-group input:not([type]),
.inquiry-content .form-group textarea,
.inquiry-content .form-group select {
  border: .1rem solid #e2e1e0; }

/*--------------------------------------------------------------*/
.inquiry-content .alert {
  font-weight: bold; }
  .inquiry-content .alert.alert-danger {
    display: inline-block;
    margin: .25em 0;
    padding: .25em .5em;
    border-radius: .2em;
    background-color: #f5e50a;
    font-size: 1.4rem; }
  .inquiry-content .alert.alert-top {
    display: block;
    margin-bottom: 2em;
    padding: 1em;
    text-align: center;
    font-size: 1.8rem; }

/*--------------------------------------------------------------*/
.inquiry-content .badge {
  display: inline-block;
  padding: 0 .5em;
  margin-left: .5em;
  border-radius: .2em;
  background-color: #3d3d3d;
  vertical-align: middle;
  font-size: 1.2rem;
  color: #fff; }
  .inquiry-content .badge.badge-danger {
    background-color: #cc3f29; }

/*--------------------------------------------------------------*/
.inquiry-content .inline-item {
  display: inline-block;
  padding-right: .5em; }

/*--------------------------------------------------------------*/
.inquiry-content .captcha-image {
  width: 150px;
  height: 40px;
  vertical-align: middle; }

.inquiry-content input[name="captcha"] {
  width: 150px; }

/*--------------------------------------------------------------*/
.inquiry-content .button {
  min-width: 8em;
  padding: .75em 1.5em; }

/*--------------------------------------------------------------*/
.inquiry-content hr {
  height: 1px;
  background-color: #e2e1e0; }

/*--------------------------------------------------------------*/
.inquiry-content .notice-container {
  margin: 2em 0 4em; }
  .inquiry-content .notice-container .notice-item {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.4rem; }
    .inquiry-content .notice-container .notice-item:before {
      content: "※";
      color: #cc3f29; }

/*--------------------------------------------------------------*/
.inquiry-content .thanks-title {
  font-family: "Helvetica Neue LT W01_65 Mediu";
  font-size: 9.6rem;
  line-height: 1.2;
  color: #fff; }

@media screen and (max-width: 60em) {
  .inquiry-content .thanks-title {
    font-size: 7.2rem; } }

@media screen and (max-width: 46em) {
  .inquiry-content .thanks-title {
    font-size: 4.8rem; } }

/*--------------------------------------------------------------*/
.inquiry-content .powered-by {
  text-align: center;
  font-family: "Helvetica Neue LT W01_55 Roman";
  font-size: 1rem; }

/* typography: text-align */
.ta-left {
  text-align: left; }

.ta-center {
  text-align: center; }

.ta-right {
  text-align: right; }

@media screen and (max-width: 46em) {
  .sp-ta-left {
    text-align: left !important; }
  .sp-ta-center {
    text-align: center !important; }
  .sp-ta-right {
    text-align: right !important; } }

/* typography: none */
.td-none {
  text-decoration: none; }

.td-underline {
  text-decoration: underline; }

.td-overline {
  text-decoration: overline; }

/* typography: white-space */
.ws-normal {
  white-space: normal; }

.ws-nowrap {
  white-space: nowrap; }

/* typography: font-family */
.ff-sans {
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.ff-serif {
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.ff-helvetica-l {
  font-family: "Helvetica Neue LT W01_45 Light"; }

.ff-helvetica-r {
  font-family: "Helvetica Neue LT W01_55 Roman"; }

.ff-helvetica-m {
  font-family: "Helvetica Neue LT W01_65 Mediu"; }

.ff-helvetica-b {
  font-family: "Helvetica Neue LT W01_71488914"; }

.ff-helvetica-lc {
  font-family: "Helvetica Neue LT W01_47 Lt Cn"; }

.ff-helvetica-rc {
  font-family: "Helvetica Neue LT W01_57 Cond"; }

.ff-helvetica-mc {
  font-family: "Helvetica Neue LT W01_67 Md Cn"; }

.ff-helvetica-bc {
  font-family: "Helvetica Neue LT W01_77 Bd Cn"; }

.ff-garamond-r {
  font-family: "AdobeGaramondW01-Regula"; }

.ff-garamond-ri {
  font-family: "Adobe Garamond W01 It"; }

/* typography: font-size */
.fz-small {
  font-size: 80%; }

.fz-big {
  font-size: 120%; }

.fz-10 {
  font-size: 1rem; }

.fz-12 {
  font-size: 1.2rem; }

.fz-14 {
  font-size: 1.4rem; }

.fz-16 {
  font-size: 1.6rem; }

.fz-18 {
  font-size: 1.8rem; }

.fz-20 {
  font-size: 2rem; }

.fz-22 {
  font-size: 2.2rem; }

.fz-24 {
  font-size: 2.4rem; }

.fz-28 {
  font-size: 2.8rem; }

.fz-32 {
  font-size: 3.2rem; }

.fz-40 {
  font-size: 4rem; }

.fz-48 {
  font-size: 4.8rem; }

.fz-56 {
  font-size: 5.6rem; }

.fz-64 {
  font-size: 6.4rem; }

/* typography: font-weight */
.fw-normal {
  font-weight: normal; }

.fw-bold {
  font-weight: bold; }

/* typography: font-style */
.fs-normal {
  font-style: normal; }

.fs-italic {
  font-style: italic; }

/* typography: letter-spacing */
.ls-0 {
  letter-spacing: 0; }

.ls-1 {
  letter-spacing: 0.1em; }

.ls-2 {
  letter-spacing: 0.2em; }

.ls-3 {
  letter-spacing: 0.3em; }

.ls-4 {
  letter-spacing: 0.4em; }

/* typography: line-height */
.lh-10 {
  line-height: 1; }

.lh-12 {
  line-height: 1.2; }

.lh-14 {
  line-height: 1.4; }

.lh-16 {
  line-height: 1.6; }

.lh-18 {
  line-height: 1.8; }

.lh-20 {
  line-height: 2; }

.lh-22 {
  line-height: 2.2; }

.lh-24 {
  line-height: 2.4; }

.lh-26 {
  line-height: 2.6; }

.lh-28 {
  line-height: 2.8; }

.lh-30 {
  line-height: 3; }

.lh-32 {
  line-height: 3.2; }

/* line-brake */
.pc-brake {
  display: inline; }

.sp-brake {
  display: none; }

@media screen and (max-width: 46em) {
  .pc-brake {
    display: none; }
  .sp-brake {
    display: inline; } }
