@charset "UTF-8";
/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html,
body,
body div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent
}
article,
aside,
figure,
footer,
header,
nav,
section,
details,
summary {
  display: block
}
/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}
/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
img,
object,
embed {
  max-width: 100%
}
/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:

#map img {
		max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll
}
/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */
ul {
  list-style: none
}
blockquote,
q {
  quotes: none
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
del {
  text-decoration: line-through
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help
}
/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0
}
th {
  font-weight: bold;
  vertical-align: bottom
}
td {
  font-weight: normal;
  vertical-align: top
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input,
select {
  vertical-align: middle
}
pre {
  white-space: pre;
  /* CSS2 */white-space: pre-wrap;
  /* CSS 2.1 */white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */word-wrap: break-word/* IE */
}
input[type="radio"] {
  vertical-align: text-bottom
}
input[type="checkbox"] {
  vertical-align: bottom
}
.ie7 input[type="checkbox"] {
  vertical-align: baseline
}
.ie6 input {
  vertical-align: text-bottom
}
select,
input,
textarea {
  font: 99% sans-serif
}
table {
  font-size: inherit;
  font: 100%
}
small {
  font-size: 85%
}
strong {
  font-weight: bold
}
td,
td img {
  vertical-align: top
}
/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative
}
sup {
  top: -0.5em
}
sub {
  bottom: -0.25em
}
/* standardize any monospaced elements */
pre,
code,
kbd,
samp {
  font-family: monospace,sans-serif
}
/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer
}
/* Webkit browsers add a 2px margin outside the chrome of form elements */
button,
input,
select,
textarea {
  margin: 0
}
/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible
}
/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic
}
/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before,
.clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}
.clearfix:after {
  clear: both
}
.clearfix {
  zoom: 1
}
html,
body {
  -webkit-text-size-adjust: 100%
}
html {
  font-size: 62.5%
}
body {
  padding-top: 75px;
  font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro",Osaka,"メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
  word-wrap: break-word;
  color: #304044;
  background-color: #fff;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased
}
@media screen and (max-width: 768px) {
  body {
    padding-top: 50px
  }
}
a {
  text-decoration: none;
  color: #304044;
  outline: none
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
.pc-only {
  display: block
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none
  }
}
.sp-only {
  display: none
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block
  }
}
.clearfix:after {
  content: '';
  display: block;
  clear: both
}
.container {
  margin-right: 130px;
  margin-left: 130px
}
.container:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 1200px) {
  .container {
    margin-right: 100px;
    margin-left: 100px
  }
}
@media screen and (max-width: 1100px) {
  .container {
    width: 1000px;
    margin-right: auto;
    margin-left: auto
  }
}
@media screen and (max-width: 768px) {
  .container {
    width: 90vw
  }
}
section.about {
  position: relative;
  z-index: 2;
  margin-top: -2.5vw;
  padding-top: 10.9vw;
  padding-bottom: 10.9vw;
  background-color: rgba(255, 255, 255, 0.9)
}
@media screen and (max-width: 768px) {
  section.about {
    margin-top: 0;
    padding-top: 21.3vw;
    padding-bottom: 21.3vw
  }
}
section.about h2 {
  float: left
}
@media screen and (max-width: 768px) {
  section.about h2 {
    float: none;
    margin-bottom: 13.3vw
  }
}
section.about h2 img {
  height: 2.8vw;
  min-height: 30px;
  max-height: 46px
}
@media screen and (max-width: 768px) {
  section.about h2 img {
    width: 37.4vw;
    height: auto;
    min-height: 10vw
  }
}
section.about h2 span {
  display: block;
  margin-top: 20px;
  font-size: 20px
}
section.about .about-wrap {
  float: right;
  width: 60.8%;
  padding-top: 11.4vw
}
@media screen and (max-width: 768px) {
  section.about .about-wrap {
    float: none;
    width: 100%;
    padding-top: 0
  }
}
section.about .about-wrap h3 {
  margin-bottom: 3vw;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.5
}
@media screen and (max-width: 768px) {
  section.about .about-wrap h3 {
    margin-bottom: 8vw;
    font-size: 18px;
    font-size: 1.8rem
  }
}
section.about .about-wrap .desc {
  margin-bottom: 3vw;
  font-size: 16px;
  font-size: 1.6rem
}
@media screen and (max-width: 768px) {
  section.about .about-wrap .desc {
    margin-bottom: 9vw;
    font-size: 12px;
    font-size: 1.2rem
  }
}
@media screen and (max-width: 768px) {
  section.about .about-wrap .link {
    text-align: center
  }
}
section.about .about-wrap .link a {
  display: inline-block;
  width: 300px;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  text-align: center;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: 93% center;
  background-size: 27px auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  section.about .about-wrap .link a {
    width: 50vw;
    height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
section.about .about-wrap .link a:hover {
  color: #0068b7;
  background-position: 95% center
}
section.about .container {
  position: relative;
  z-index: 3
}
section.about .ds-bg {
  position: absolute;
  z-index: 2;
  bottom: -4vw;
  left: -40vw;
  width: 36.5vw;
  -webkit-transition: all .8s ease-in-out 1s;
  transition: all .8s ease-in-out 1s;
  opacity: 0
}
@media screen and (max-width: 768px) {
  section.about .ds-bg {
    display: none
  }
}
section.about .ds-bg2 {
  position: absolute;
  z-index: 1;
  bottom: 8.5vw;
  left: -13vw;
  width: 12.1vw;
  height: 12.1vw;
  -webkit-transition: all 1s ease-in-out 0.5s;
  transition: all 1s ease-in-out 0.5s;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  opacity: 0;
  border: solid 1px #0068b7
}
@media screen and (max-width: 768px) {
  section.about .ds-bg2 {
    display: none
  }
}
section.about.is-show .ds-bg {
  left: -4vw;
  opacity: 1
}
section.about.is-show .ds-bg2 {
  left: 24.5vw;
  opacity: 1
}
section.contents-links {
  position: relative;
  z-index: 3;
  padding-top: 8.5vw;
  padding-bottom: 7.3vw
}
@media screen and (max-width: 768px) {
  section.contents-links {
    padding-top: 16vw;
    padding-bottom: 14.6vw
  }
}
section.contents-links .container {
  position: relative;
  z-index: 2
}
section.contents-links #top-contents-links-bg {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 104, 183, 0.9)
}
section.contents-links ul:after {
  content: '';
  display: block;
  clear: both
}
section.contents-links ul li {
  float: left;
  width: 30.4%
}
@media screen and (max-width: 768px) {
  section.contents-links ul li {
    float: none;
    width: 100%
  }
}
section.contents-links ul li:first-child {
  margin-right: 4.3%
}
@media screen and (max-width: 768px) {
  section.contents-links ul li:first-child {
    margin-right: 0;
    margin-bottom: 8vw
  }
}
section.contents-links ul li:last-child {
  float: right
}
@media screen and (max-width: 768px) {
  section.contents-links ul li:last-child {
    float: none;
    margin-top: 8vw
  }
}
section.contents-links ul li a {
  display: block;
  color: #fff
}
section.contents-links ul li a .fig {
  position: relative;
  margin-bottom: 15px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
section.contents-links ul li a .fig:after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: -2.5vw;
  width: 5vw;
  height: 5vw;
  opacity: 0;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40% auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  section.contents-links ul li a .fig:after {
    right: 10px;
    bottom: -6.65vw;
    width: 13.3vw;
    height: 13.3vw
  }
}
section.contents-links ul li a .fig svg {
  width: 100%;
  height: auto
}
section.contents-links ul li a .fig svg #m_clip_1 {
  x: -840;
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2s
}
section.contents-links ul li a .fig svg #m_clip_2 {
  x: -840;
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2.5s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2.5s
}
section.contents-links ul li a .fig svg #m_clip_3 {
  x: -840;
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 3s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 3s
}
section.contents-links ul li a .tit {
  font-size: 24px;
  font-size: 2.4rem;
  opacity: 0
}
section.contents-links ul li a .tit span {
  display: block;
  font-family: "Montserrat",sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 1px
}
section.contents-links ul li a:hover .fig {
  -webkit-filter: brightness(110%);
  filter: brightness(110%)
}
section.contents-links ul li.m1 a .fig:after {
  -webkit-transition: all .5s linear 2.5s;
  transition: all .5s linear 2.5s
}
section.contents-links ul li.m1 a .tit {
  -webkit-transition: all .5s linear 2.5s;
  transition: all .5s linear 2.5s
}
section.contents-links ul li.m2 a .fig:after {
  -webkit-transition: all .5s linear 3s;
  transition: all .5s linear 3s
}
section.contents-links ul li.m2 a .tit {
  -webkit-transition: all .5s linear 3s;
  transition: all .5s linear 3s
}
section.contents-links ul li.m3 a .fig:after {
  -webkit-transition: all .5s linear 3.5s;
  transition: all .5s linear 3.5s
}
section.contents-links ul li.m3 a .tit {
  -webkit-transition: all .5s linear 3.5s;
  transition: all .5s linear 3.5s
}
section.contents-links.is-show ul li a .fig svg #m_clip_1 {
  x: 0
}
section.contents-links.is-show ul li a .fig svg #m_clip_2 {
  x: 0
}
section.contents-links.is-show ul li a .fig svg #m_clip_3 {
  x: 0
}
section.contents-links.is-show ul li a .fig:after {
  opacity: 1
}
section.contents-links.is-show ul li a .tit {
  opacity: 1
}
section.news {
  padding-top: 10.9vw;
  padding-bottom: 25vw
}
@media screen and (max-width: 768px) {
  section.news {
    padding-bottom: 30vw
  }
}
section.news h2 {
  float: left
}
@media screen and (max-width: 768px) {
  section.news h2 {
    float: none;
    margin-bottom: 13.3vw
  }
}
section.news h2 img.pc {
  display: block;
  height: 6.87vw;
  min-height: 84px;
  max-height: 128px
}
@media screen and (max-width: 768px) {
  section.news h2 img.pc {
    display: none
  }
}
section.news h2 img.sp {
  display: none
}
@media screen and (max-width: 768px) {
  section.news h2 img.sp {
    display: block;
    width: 85.1vw;
    height: auto;
    min-height: 10vw
  }
}
section.news h2 span {
  display: block;
  margin-top: 20px;
  font-size: 20px
}
section.news .news-wrap {
  float: right;
  width: 69.5%
}
@media screen and (max-width: 768px) {
  section.news .news-wrap {
    float: none;
    width: 100%
  }
}
section.news .news-wrap ul li {
  margin-bottom: 45px;
  padding-bottom: 45px;
  border-bottom: solid 1px #e5e5e5
}
@media screen and (max-width: 768px) {
  section.news .news-wrap ul li {
    margin-bottom: 25px;
    padding-bottom: 25px
  }
}
section.news .news-wrap ul li .date-cat {
  margin-bottom: 15px;
  font-family: "Montserrat",sans-serif
}
@media screen and (max-width: 768px) {
  section.news .news-wrap ul li .date-cat {
    font-size: 10px;
    font-size: 1rem
  }
}
section.news .news-wrap ul li .date-cat span {
  margin-left: 2em
}
section.news .news-wrap ul li .tit {
  font-size: 16px;
  font-size: 1.6rem
}
@media screen and (max-width: 768px) {
  section.news .news-wrap ul li .tit {
    font-size: 12px;
    font-size: 1.2rem
  }
}
section.news .news-wrap ul li a:hover {
  color: #0068b7
}
section.news .all-link {
  clear: both;
  padding-top: 120px;
  text-align: center
}
@media screen and (max-width: 768px) {
  section.news .all-link {
    padding-top: 70px
  }
}
section.news .all-link a {
  display: inline-block;
  width: 300px;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: 93% center;
  background-size: 27px auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  section.news .all-link a {
    width: 50vw;
    height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
section.news .all-link a:hover {
  color: #0068b7;
  background-position: 95% center
}
section.column {
  padding-top: 11.2vw;
  padding-bottom: 19.5vw;
  background-color: #f5f6f7
}
@media screen and (max-width: 768px) {
  section.column {
    padding-top: 21.3vw;
    padding-bottom: 34.6vw
  }
}
section.column h2 {
  margin-bottom: 5.7vw
}
@media screen and (max-width: 768px) {
  section.column h2 {
    margin-bottom: 13.3vw
  }
}
section.column h2 img {
  height: 2.8vw;
  min-height: 30px;
  max-height: 46px
}
@media screen and (max-width: 768px) {
  section.column h2 img {
    width: 46.6vw;
    height: auto;
    min-height: 10vw
  }
}
section.column h2 span {
  display: block;
  margin-top: 20px;
  font-size: 20px
}
section.column .column-links {
  margin-bottom: 4.5vw
}
section.column .column-links:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  section.column .column-links {
    margin-bottom: 9vw
  }
}
section.column .column-links li {
  float: left;
  width: 47.8%
}
@media screen and (max-width: 768px) {
  section.column .column-links li {
    float: none;
    width: 100%
  }
}
section.column .column-links li:last-child {
  float: right
}
@media screen and (max-width: 768px) {
  section.column .column-links li:last-child {
    float: none;
    margin-top: 30px
  }
}
section.column .column-links li a {
  position: relative;
  display: block
}
section.column .column-links li a .fig {
  position: relative;
  margin-bottom: 15px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
section.column .column-links li a .fig .pic {
  position: relative;
  overflow: hidden
}
section.column .column-links li a .fig .pic .mask {
  position: absolute;
  z-index: 2;
  top: -1%;
  left: 0%;
  width: 100%;
  height: 102%;
  background-color: #f5f6f7
}
section.column .column-links li a .fig .pic img {
  position: relative;
  z-index: 1
}
section.column .column-links li a .fig:after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: -2.5vw;
  width: 5vw;
  height: 5vw;
  opacity: 0;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40% auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  section.column .column-links li a .fig:after {
    right: 10px;
    bottom: -6.65vw;
    width: 13.3vw;
    height: 13.3vw
  }
}
section.column .column-links li a .tit {
  font-size: 24px;
  font-size: 2.4rem;
  opacity: 0
}
@media screen and (max-width: 768px) {
  section.column .column-links li a .tit {
    font-size: 15px;
    font-size: 1.5rem
  }
}
section.column .column-links li a .date {
  font-size: 12px;
  font-size: 1.2rem;
  opacity: 0
}
@media screen and (max-width: 768px) {
  section.column .column-links li a .date {
    font-size: 9px;
    font-size: 0.9rem
  }
}
section.column .column-links li:first-child a .fig .pic .mask {
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2s
}
section.column .column-links li:first-child a .fig:after {
  -webkit-transition: all .5s linear 2.5s;
  transition: all .5s linear 2.5s
}
section.column .column-links li:first-child a .tit {
  -webkit-transition: all .5s linear 2.5s;
  transition: all .5s linear 2.5s
}
section.column .column-links li:first-child a .date {
  -webkit-transition: all .5s linear 2.5s;
  transition: all .5s linear 2.5s
}
section.column .column-links li:last-child a .fig .pic .mask {
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2.5s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2.5s
}
section.column .column-links li:last-child a .fig:after {
  -webkit-transition: all .5s linear 3s;
  transition: all .5s linear 3s
}
section.column .column-links li:last-child a .tit {
  -webkit-transition: all .5s linear 3s;
  transition: all .5s linear 3s
}
section.column .column-links li:last-child a .date {
  -webkit-transition: all .5s linear 3s;
  transition: all .5s linear 3s
}
section.column .all-link {
  text-align: center
}
section.column .all-link a {
  display: inline-block;
  width: 300px;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: 93% center;
  background-size: 27px auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  section.column .all-link a {
    width: 50vw;
    height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
section.column .all-link a:hover {
  color: #0068b7;
  background-position: 95% center
}
section.column.is-show .column-links li a .fig .pic .mask {
  left: 100%
}
section.column.is-show .column-links li a .fig:after {
  opacity: 1
}
section.column.is-show .column-links li a .tit {
  opacity: 1
}
section.column.is-show .column-links li a .date {
  opacity: 1
}
section.column.is-show .column-links li a:hover .fig img {
  -webkit-filter: brightness(110%);
  filter: brightness(110%)
}
section.breadcrumb {
  height: 300px;
  background-color: #f5f6f7
}
@media screen and (max-width: 768px) {
  section.breadcrumb {
    display: none
  }
}
section.breadcrumb ul {
  display: block;
  padding-top: 80px;
  font-family: "Montserrat",sans-serif;
  font-size: 0;
  text-align: right
}
section.breadcrumb ul li {
  display: inline-block;
  margin-left: 30px;
  padding-left: 30px;
  font-size: 15px;
  font-size: 1.5rem;
  color: #304044;
  border-left: solid 1px #e6e6e7
}
section.breadcrumb ul li:first-child {
  margin-left: 0;
  padding-left: 0;
  border-left: none
}
section.breadcrumb ul li a {
  color: #7e8b8c
}
section.breadcrumb ul li a:hover {
  text-decoration: underline
}
.content-form .form-column {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e5e5
}
.content-form input,
.content-form button,
.content-form textarea,
.content-form select {
  margin: 0;
  padding: 0;
  font-size: 1em;
  border: none;
  border-radius: 0;
  outline: none
}
.content-form input[type="radio"] {
  border: 1px solid #ccc;
  border-radius: 40px
}
.content-form input[type="date"] {
  border: 1px solid #6a767d
}
.content-form .form-column-heading h2 {
  margin: 0;
  font-size: 1.5em;
  font-weight: bold
}
.content-form .label {
  display: block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: 700
}
.content-form label h3 {
  display: inline-block;
  margin: 0 0 0.5em;
  font-size: 1em;
  font-weight: bold
}
.content-form label .badge-required {
  position: relative;
  top: -2px;
  display: inline-block;
  width: auto;
  margin-left: 0.25em;
  padding: 4px 6px;
  font-size: 0.75em;
  line-height: 1em;
  color: #fff;
  border-radius: 4px;
  background-color: #c73b3b
}
.content-form .description-block {
  margin-top: 0.5em;
  color: #151514
}
.content-form .button-group {
  margin-top: 1em
}
.content-form .button-group .help-block {
  margin-top: 0.5em;
  font-size: 0.75em
}
.content-form button {
  display: inline-block;
  margin: 0 0.5em 0 0;
  padding: 0.5em 1em;
  cursor: pointer;
  text-align: center;
  border: 1px solid #6a767d;
  border-radius: 4px;
  background-color: #fff
}
.content-form button.button-submit {
  color: #fff;
  border: 1px solid #666;
  background-color: #666
}
.content-form button.button-submit span.fa {
  margin-right: 4px
}
.content-form input[type="text"],
.content-form input[type="email"],
.content-form input[type="tel"],
.content-form input[type="url"],
.content-form textarea {
  width: 60%;
  min-width: 500px;
  max-width: 100%;
  height: 1.75em;
  padding: 2px 4px;
  line-height: 1.75em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #999;
  outline: none
}
.content-form input[type="text"]:focus,
.content-form input[type="email"]:focus,
.content-form input[type="tel"]:focus,
.content-form input[type="url"]:focus,
.content-form textarea:focus {
  border: 1px solid #88c6ea;
  -webkit-box-shadow: 0 0 2px #88c6ea;
  box-shadow: 0 0 2px #88c6ea
}
.content-form input.short {
  width: 100px;
  min-width: 50px;
  max-width: 100%
}
.content-form input.short2 {
  width: 70px;
  min-width: 50px;
  max-width: 100%
}
.content-form textarea {
  width: 100%;
  height: 10em
}
.content-form input[type="file"] {
  display: block;
  line-height: 1.75
}
.content-form input[type="password"] {
  width: 100%;
  height: 1.75em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #6a767d;
  outline: none
}
.content-form .form-column-date .input-group select {
  display: inline-block;
  width: auto
}
.content-form .form-column-calendar input {
  width: auto
}
.content-form .form-column-zip-code-jp .input-group input {
  display: inline-block;
  width: auto;
  min-width: auto
}
.content-form .form-column-zip-code-autofill.form-column {
  margin-bottom: 0;
  border-bottom: 0
}
.content-form .form-column-checkbox label,
.content-form .form-column-radio label {
  margin-right: 1em
}
.content-form select {
  display: block;
  width: auto;
  height: 1.75em;
  border: 1px solid #6a767d
}
.content-form .message-block-complete,
.content-form .message-block-closed {
  padding: 20px;
  text-align: center
}
.content-form .button-group {
  margin-top: 1em
}
.content-form .button {
  display: inline-block;
  margin-bottom: 0;
  padding: 6px 12px;
  font-weight: 400;
  line-height: 1.42857143;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  color: #333;
  border: 1px solid transparent;
  border-color: #ccc;
  border-radius: 4px;
  background-color: #fff;
  background-image: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation
}
.content-form .button.hidden {
  display: none
}
.content-form .button:not(.hidden) + .button {
  margin-left: 1em
}
.content-form .message-block,
.content-form .message-block-confirmation {
  margin-bottom: 1.5em
}
.content-form .message-error {
  margin-bottom: 2.5em
}
.content-form .message-error p {
  margin-bottom: 0px;
  color: #f00
}
.content-form #conf-table {
  display: block
}
.content-form #conf-table.hide {
  display: none
}
.content-form #conf-reinput {
  display: none
}
.content-form #conf-reinput.disp {
  display: block
}
@media (max-width: 768px) {
  .content-form input[type="text"],
  .content-form input[type="email"],
  .content-form input[type="tel"],
  .content-form input[type="url"],
  .content-form textarea {
    width: 100%;
    min-width: 100%;
    font-size: 16px
  }
  .content-form select {
    width: 100%
  }
  .content-form .form-column-calendar input {
    width: auto;
    min-width: auto
  }
  .content-form .form-column-heading h2 {
    font-size: 1.25em
  }
  .content-form input.birth {
    width: 20vw !important;
    min-width: 5px;
    max-width: 100%
  }
  .form-column {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e5e5
  }
}
header {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1000px;
  height: 75px;
  font-family: "Montserrat",sans-serif;
  background-color: rgba(255, 255, 255, 0.9)
}
header:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  header {
    min-width: 100%;
    height: 50px
  }
}
header h1 {
  float: left;
  width: 200px;
  margin-left: 70px;
  font-weight: bold;
  line-height: 75px/*@media screen and (max-width: 1350px) {
      width: 200px;
    }*/
}
@media screen and (max-width: 1230px) {
  header h1 {
    margin-left: 30px
  }
}
@media screen and (max-width: 1200px) {
  header h1 {
    margin-left: 20px
  }
}
@media screen and (max-width: 1120px) {
  header h1 {
    width: 200px
  }
}
@media screen and (max-width: 768px) {
  header h1 {
    width: 33.8vw;
    max-width: 200px;
    line-height: 50px
  }
}
header h1 img {
  vertical-align: middle
}
header nav {
  float: right
}
@media screen and (max-width: 768px) {
  header nav {
    position: fixed;
    top: -100vh;
    left: 0;
    visibility: hidden;
    overflow-y: auto;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.3s cubic-bezier(0.08, 0.705, 0.005, 0.99);
    transition: all 0.3s cubic-bezier(0.08, 0.705, 0.005, 0.99);
    background-color: #0068b7
  }
}
@media screen and (max-width: 768px) {
  header nav ul {
    -webkit-transition: none;
    transition: none;
    opacity: 0
  }
}
header nav ul li {
  float: left;
  margin-left: 30px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em/*@media screen and (max-width: 1060px) {
          font-size: 1rem;
        }*/
}
@media screen and (max-width: 1480px) {
  header nav ul li {
    margin-left: 20px
  }
}
@media screen and (max-width: 1420px) {
  header nav ul li {
    font-size: 13px;
    font-size: 1.3rem
  }
}
@media screen and (max-width: 1350px) {
  header nav ul li {
    font-size: 12px;
    font-size: 1.2rem
  }
}
@media screen and (max-width: 1200px) {
  header nav ul li {
    margin-left: 15px
  }
}
@media screen and (max-width: 1120px) {
  header nav ul li {
    font-size: 11px;
    font-size: 1.1rem
  }
}
header nav ul li a {
  display: block;
  line-height: 75px;
  -webkit-transition: color .3s linear;
  transition: color .3s linear;
  color: #000
}
header nav ul li a:hover {
  color: #0068b7
}
header nav ul li:last-child {
  float: right
}
header nav ul li:last-child a {
  position: relative;
  display: block;
  width: 150px;
  height: 75px;
  text-align: center;
  color: #fff;
  background-color: #0068b7
}
header .sp-trig {
  display: none
}
@media screen and (max-width: 768px) {
  header .sp-trig {
    position: relative;
    display: block;
    float: right;
    width: 50px;
    height: 50px;
    background-color: #0068b7
  }
}
header .sp-trig .ico {
  position: relative;
  z-index: 100;
  display: block;
  width: 25px;
  height: 16px;
  margin: 17px 0 0 12px;
  cursor: pointer
}
header .sp-trig .ico .parts,
header .sp-trig .ico .parts:before,
header .sp-trig .ico .parts:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 25px;
  height: 2px;
  margin: auto;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  background-color: #fff
}
header .sp-trig .ico .parts:before,
header .sp-trig .ico .parts:after {
  content: " "
}
header .sp-trig .ico .parts:before {
  top: 12px
}
header .sp-trig .ico .parts:after {
  top: -12px
}
body.spmn .sp-trig .ico .parts {
  background: transparent
}
body.spmn .sp-trig .ico .parts:before {
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background-color: #fff
}
body.spmn .sp-trig .ico .parts:after {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #fff
}
@media screen and (max-width: 768px) {
  body.spmn nav {
    position: fixed;
    top: 0vh;
    left: 0;
    visibility: visible
  }
  body.spmn nav ul {
    -webkit-transition: opacity .3s linear .2s;
    transition: opacity .3s linear .2s;
    text-align: center;
    opacity: 1
  }
  body.spmn nav ul li {
    float: none;
    margin-bottom: 30px;
    margin-left: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em
  }
  body.spmn nav ul li a {
    display: block;
    line-height: 2;
    -webkit-transition: none;
    transition: none;
    color: #fff
  }
  body.spmn nav ul li a:hover {
    color: #fff
  }
  body.spmn nav ul li:first-child {
    margin-top: 20vw
  }
  body.spmn nav ul li:last-child {
    float: none
  }
  body.spmn nav ul li:last-child a {
    position: relative;
    display: block;
    width: auto;
    height: auto;
    text-align: center;
    color: #fff;
    background-color: #0068b7
  }
}
main {
  position: relative;
  display: block
}
main.content {
  padding-bottom: 200px;
  font-size: 16px;
  font-size: 1.6rem
}
@media screen and (max-width: 768px) {
  main.content {
    padding-bottom: 100px;
    font-size: 14px;
    font-size: 1.4rem
  }
}
main.content.recruit {
  padding-bottom: 0
}
@media screen and (max-width: 768px) {
  main.content.recruit {
    padding-bottom: 0
  }
}
main.content.members {
  padding-bottom: 0
}
@media screen and (max-width: 768px) {
  main.content.members {
    padding-bottom: 0
  }
}
main.content .content-header {
  height: 21.3vw;
  max-height: 300px/*&.members {
        height: 16.2vw;
        max-height: 240px;
        @media screen and (max-width: 768px) {
          height: auto;
          padding-bottom: 5vw;
        }
      }*/
}
@media screen and (max-width: 768px) {
  main.content .content-header {
    height: auto;
    padding-bottom: 12.5vw
  }
}
main.content .content-header h2 {
  padding-top: 100px
}
@media screen and (max-width: 768px) {
  main.content .content-header h2 {
    padding-top: 12.5vw
  }
}
main.content .content-header h2 img {
  height: 2.8vw;
  min-height: 30px;
  max-height: 46px
}
@media screen and (max-width: 768px) {
  main.content .content-header h2 img {
    height: 5vw;
    min-height: 5vw
  }
}
main.content .content-header h2 span {
  display: block;
  padding-top: 20px;
  font-size: 20px;
  font-size: 2rem
}
@media screen and (max-width: 768px) {
  main.content .content-header h2 span {
    padding-top: 15px;
    font-size: 16px;
    font-size: 1.6rem
  }
}
main.content .content-header.recruit {
  height: 41.4vw;
  max-height: 800px;
  color: #fff;
  background-image: url(/_assets/images/recruit-mv-bg.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover
}
@media screen and (max-width: 768px) {
  main.content .content-header.recruit {
    height: 65vw
  }
}
main.content .content-header.recruit .container {
  position: relative;
  height: 100%
}
main.content .content-header.recruit p {
  position: absolute;
  bottom: 5vw;
  left: 0;
  font-size: 2vw
}
@media screen and (max-width: 768px) {
  main.content .content-header.recruit p {
    bottom: 0;
    font-size: 3vw
  }
}
main.content.company table {
  width: 100%;
  line-height: 2;
  border-collapse: collapse
}
@media screen and (max-width: 768px) {
  main.content.company table {
    display: block
  }
}
@media screen and (max-width: 768px) {
  main.content.company table tbody {
    display: block
  }
}
main.content.company table tr {
  border-bottom: solid 1px #e5e5e5
}
@media screen and (max-width: 768px) {
  main.content.company table tr {
    display: block;
    width: 100%
  }
}
main.content.company table tr:last-child {
  border-bottom: none
}
main.content.company table tr th {
  width: 260px;
  padding: 40px 0;
  font-weight: normal;
  text-align: left;
  vertical-align: top
}
@media screen and (max-width: 768px) {
  main.content.company table tr th {
    display: block;
    width: 100%;
    padding: 20px 0 10px 0;
    font-weight: bold
  }
}
main.content.company table tr td {
  padding: 40px 0;
  vertical-align: top
}
@media screen and (max-width: 768px) {
  main.content.company table tr td {
    display: block;
    width: 100%;
    padding: 0 0 20px 0
  }
}
main.content.company table tr td .office {
  margin-bottom: 40px
}
main.content.company table tr td .office:last-child {
  margin-bottom: 0
}
main.content.company table tr td .office .address {
  margin-bottom: 20px
}
main.content.company table tr td .office .map-wrap iframe {
  width: 655px;
  height: 260px
}
@media screen and (max-width: 768px) {
  main.content.company table tr td .office .map-wrap iframe {
    width: 100%
  }
}
main.content.message .message-wrap:after {
  content: '';
  display: block;
  clear: both
}
main.content.message .message-wrap .message-pic {
  float: left;
  width: 35%
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-pic {
    float: none;
    width: 100%;
    margin-bottom: 40px
  }
}
main.content.message .message-wrap .message-pic span {
  position: relative;
  z-index: 2;
  display: block
}
main.content.message .message-wrap .message-pic span:after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -10px;
  bottom: -10px;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #0068b7
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-pic span:after {
    right: -1.5vw;
    bottom: -1.5vw
  }
}
main.content.message .message-wrap .message-pic span img {
  width: 100%
}
main.content.message .message-wrap .message-text {
  float: right;
  width: 57.6%
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-text {
    float: none;
    width: 100%
  }
}
main.content.message .message-wrap .message-text h3 {
  margin-bottom: 40px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-text h3 {
    margin-bottom: 20px;
    line-height: 1.6
  }
}
main.content.message .message-wrap .message-text p {
  margin-bottom: 40px;
  line-height: 2
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-text p {
    margin-bottom: 20px
  }
}
main.content.message .message-wrap .message-text p:last-child {
  margin-bottom: 70px
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-text p:last-child {
    margin-bottom: 35px
  }
}
main.content.message .message-wrap .message-text .name {
  padding-top: 30px;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: right
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-text .name {
    font-size: 12px;
    font-size: 1.2rem
  }
  main.content.message .message-wrap .message-text .name span {
    display: block;
    margin-bottom: 10px
  }
}
main.content.message .message-wrap .message-text .name img {
  width: 160px;
  margin-left: 30px;
  line-height: 35px
}
@media screen and (max-width: 768px) {
  main.content.message .message-wrap .message-text .name img {
    display: inline-block;
    width: 30vw
  }
}
main.content.service .service-desc {
  margin-bottom: 80px;
  font-size: 20px;
  font-size: 2rem
}
@media screen and (max-width: 768px) {
  main.content.service .service-desc {
    margin-bottom: 40px;
    font-size: 14px;
    font-size: 1.4rem
  }
}
main.content.service .solution-banner {
  position: relative;
  padding-top: 5.4vw;
  padding-bottom: 6vw;
  color: #fff
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner {
    padding-top: 50px;
    padding-bottom: 50px
  }
}
main.content.service .solution-banner #solution-links-bg {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0068b7
}
main.content.service .solution-banner .container {
  position: relative;
  z-index: 2
}
main.content.service .solution-banner .container h3 {
  margin-bottom: 3.3vw;
  font-size: 36px;
  font-size: 3.6rem
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container h3 {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
main.content.service .solution-banner .container ul {
  margin-bottom: 3vw
}
main.content.service .solution-banner .container ul:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul {
    margin-bottom: 30px
  }
}
main.content.service .solution-banner .container ul li {
  float: left;
  width: 30.4%
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul li {
    float: none;
    width: 100%;
    margin-bottom: 25px
  }
}
main.content.service .solution-banner .container ul li a .fig {
  position: relative;
  margin-bottom: 20px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul li a .fig {
    margin-bottom: 10px
  }
}
main.content.service .solution-banner .container ul li a .fig svg {
  width: 100%;
  height: auto
}
main.content.service .solution-banner .container ul li a .fig svg #m_clip_1 {
  x: -840;
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2s
}
main.content.service .solution-banner .container ul li a .fig svg #m_clip_2 {
  x: -840;
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2.5s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 2.5s
}
main.content.service .solution-banner .container ul li a .fig svg #m_clip_3 {
  x: -840;
  -webkit-transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 3s;
  transition: all 0.82s cubic-bezier(0.08, 0.705, 0.005, 0.99) 3s
}
main.content.service .solution-banner .container ul li a .fig:after {
  content: "02";
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: -2.5vw;
  width: 5vw;
  height: 5vw;
  font-size: 1.6vw;
  line-height: 5vw;
  -webkit-transition: all .3s linear 3s;
  transition: all .3s linear 3s;
  text-align: center;
  opacity: 0;
  color: #0068b7;
  background-color: #fff;
  background-size: 40% auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul li a .fig:after {
    right: 10px;
    bottom: -6.65vw;
    width: 13.3vw;
    height: 13.3vw;
    font-size: 3.2vw;
    line-height: 13.3vw
  }
}
main.content.service .solution-banner .container ul li a .tit {
  font-size: 24px;
  font-size: 2.4rem;
  -webkit-transition: all .3s linear 3s;
  transition: all .3s linear 3s;
  opacity: 0
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul li a .tit {
    font-size: 16px;
    font-size: 1.6rem
  }
}
main.content.service .solution-banner .container ul li a .tit span {
  display: block;
  font-size: 14px;
  font-size: 1.4rem
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul li a .tit span {
    font-size: 10px;
    font-size: 1rem
  }
}
main.content.service .solution-banner .container ul li a:hover .fig {
  -webkit-filter: brightness(110%);
  filter: brightness(110%)
}
main.content.service .solution-banner .container ul li:first-child {
  margin-right: 4.3%
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul li:first-child {
    margin-right: 0
  }
}
main.content.service .solution-banner .container ul li:first-child .fig:after {
  content: "01";
  -webkit-transition: all .3s linear 2.5s;
  transition: all .3s linear 2.5s
}
main.content.service .solution-banner .container ul li:first-child .tit {
  -webkit-transition: all .3s linear 2.5s;
  transition: all .3s linear 2.5s
}
main.content.service .solution-banner .container ul li:last-child {
  float: right
}
@media screen and (max-width: 768px) {
  main.content.service .solution-banner .container ul li:last-child {
    float: none;
    margin-bottom: 0
  }
}
main.content.service .solution-banner .container ul li:last-child .fig:after {
  content: "03";
  -webkit-transition: all .3s linear 3.5s;
  transition: all .3s linear 3.5s
}
main.content.service .solution-banner .container ul li:last-child .tit {
  -webkit-transition: all .3s linear 3.5s;
  transition: all .3s linear 3.5s
}
main.content.service .solution-banner .container ul li a {
  display: block;
  color: #fff
}
main.content.service .solution-banner.is-show .container ul li a .fig svg #m_clip_1 {
  x: 0
}
main.content.service .solution-banner.is-show .container ul li a .fig svg #m_clip_2 {
  x: 0
}
main.content.service .solution-banner.is-show .container ul li a .fig svg #m_clip_3 {
  x: 0
}
main.content.service .solution-banner.is-show .container ul li a .fig:after {
  opacity: 1
}
main.content.service .solution-banner.is-show .container ul li a .tit {
  opacity: 1
}
main.content.service .solution {
  padding-top: 9.5vw;
  padding-bottom: 9.5vw
}
@media screen and (max-width: 768px) {
  main.content.service .solution {
    padding-top: 50px;
    padding-bottom: 50px
  }
}
main.content.service .solution.s1 .solution-desc {
  float: left;
  width: 56.5%
}
@media screen and (max-width: 768px) {
  main.content.service .solution.s1 .solution-desc {
    float: none;
    width: 100%;
    margin-bottom: 20px
  }
}
main.content.service .solution.s1 .fig {
  float: right;
  width: 36.2%
}
@media screen and (max-width: 768px) {
  main.content.service .solution.s1 .fig {
    float: none;
    width: 80%;
    margin: 0 auto
  }
}
main.content.service .solution.s1 .fig svg {
  width: 100%
}
main.content.service .solution.s2 {
  background-color: #f5f6f7
}
main.content.service .solution.s2 .solution-desc {
  float: right;
  width: 55.7%
}
@media screen and (max-width: 768px) {
  main.content.service .solution.s2 .solution-desc {
    float: none;
    width: 100%;
    margin-bottom: 20px
  }
}
main.content.service .solution.s2 .fig {
  float: left;
  width: 38.4%
}
@media screen and (max-width: 768px) {
  main.content.service .solution.s2 .fig {
    float: none;
    width: 80%;
    margin: 0 auto
  }
}
main.content.service .solution.s2 .fig svg {
  width: 100%
}
main.content.service .solution.s3 {
  padding-bottom: 0
}
main.content.service .solution.s3 .solution-desc {
  float: left;
  width: 60.8%
}
@media screen and (max-width: 768px) {
  main.content.service .solution.s3 .solution-desc {
    float: none;
    width: 100%;
    margin-bottom: 20px
  }
}
main.content.service .solution.s3 .fig {
  float: right;
  width: 28.9%
}
@media screen and (max-width: 768px) {
  main.content.service .solution.s3 .fig {
    float: none;
    width: 70%;
    margin: 0 auto
  }
}
main.content.service .solution.s3 .fig svg {
  width: 100%
}
main.content.service .solution .cat-no {
  margin-bottom: 20px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
  color: #7e8b8c
}
@media screen and (max-width: 768px) {
  main.content.service .solution .cat-no {
    margin-bottom: 10px;
    font-size: 12px;
    font-size: 1.2rem
  }
}
main.content.service .solution .cat-no span {
  display: inline-block;
  margin-right: 20px;
  padding-right: 15px;
  border-right: solid 1px #ddd
}
main.content.service .solution h3 {
  margin-bottom: 50px;
  font-size: 36px;
  font-size: 3.6rem
}
@media screen and (max-width: 768px) {
  main.content.service .solution h3 {
    margin-bottom: 25px;
    font-size: 20px;
    font-size: 2rem
  }
}
main.content.business {
  padding-bottom: 0
}
main.content.business .business {
  padding-top: 8.5vw;
  padding-bottom: 9vw;
  background-color: #f5f6f7
}
@media screen and (max-width: 768px) {
  main.content.business .business {
    padding-top: 50px;
    padding-bottom: 50px
  }
}
main.content.business .business .project {
  margin-bottom: 50px
}
main.content.business .business .project:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  main.content.business .business .project {
    margin-bottom: 40px
  }
}
main.content.business .business .project:last-child {
  margin-bottom: 0
}
main.content.business .business .project .project-desc {
  float: left;
  width: 65.9%
}
@media screen and (max-width: 768px) {
  main.content.business .business .project .project-desc {
    float: none;
    width: 100%;
    margin-bottom: 20px
  }
}
main.content.business .business .project .project-desc h3 {
  margin-bottom: 30px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1
}
@media screen and (max-width: 768px) {
  main.content.business .business .project .project-desc h3 {
    margin-bottom: 20px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1
  }
}
main.content.business .business .project .project-desc h3 span {
  display: inline-block;
  margin-right: 30px;
  padding-right: 30px;
  font-size: 24px;
  font-size: 2.4rem;
  vertical-align: middle;
  color: #000;
  border-right: solid 1px #ddd
}
@media screen and (max-width: 768px) {
  main.content.business .business .project .project-desc h3 span {
    display: block;
    margin-right: 0;
    margin-bottom: 0.5em;
    padding-right: 0;
    font-size: 16px;
    font-size: 1.6rem;
    border-right: none
  }
}
main.content.business .business .project .project-pic {
  float: right;
  width: 26%
}
@media screen and (max-width: 768px) {
  main.content.business .business .project .project-pic {
    float: none;
    width: 100%
  }
}
main.content.business .business .project-link {
  clear: both;
  padding-top: 60px;
  text-align: center
}
@media screen and (max-width: 768px) {
  main.content.business .business .project-link {
    padding-top: 20px
  }
}
main.content.business .business .project-link a {
  display: inline-block;
  width: 300px;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: 93% center;
  background-size: 27px auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  main.content.business .business .project-link a {
    width: 50vw;
    height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
main.content.business .business .project-link a:hover {
  color: #0068b7;
  background-position: 95% center
}
main.content.business .business.shopjapan {
  background-color: #f5f6f7
}
main.content.business .business.client {
  padding-bottom: 0
}
main.content.news .news-list table {
  width: 100%;
  line-height: 2;
  border-collapse: collapse
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table {
    display: block
  }
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table tbody {
    display: block
  }
}
main.content.news .news-list table tr {
  border-bottom: solid 1px #e5e5e5
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table tr {
    display: block;
    width: 100%
  }
}
main.content.news .news-list table tr th {
  width: 76%;
  padding: 40px 0;
  font-weight: normal;
  text-align: left;
  vertical-align: top
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table tr th {
    display: block;
    width: 100%;
    padding: 0 0 20px 0;
    font-weight: bold
  }
}
main.content.news .news-list table tr th a {
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
main.content.news .news-list table tr th a:hover {
  color: #0068b7
}
main.content.news .news-list table tr td {
  padding: 40px 0;
  font-size: 14px;
  font-size: 1.4rem;
  vertical-align: top
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table tr td {
    display: inline-block;
    padding: 20px 0 10px 0;
    font-size: 12px;
    font-size: 1.2rem
  }
}
main.content.news .news-list table tr td.date {
  width: 11.5%;
  font-family: "Montserrat",sans-serif
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table tr td.date {
    width: auto
  }
}
main.content.news .news-list table tr td.cat {
  width: 12.5%
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table tr td.cat {
    width: auto;
    margin-left: 1.5em
  }
}
main.content.news .news-list table tr td .office {
  margin-bottom: 40px
}
main.content.news .news-list table tr td .office:last-child {
  margin-bottom: 0
}
main.content.news .news-list table tr td .office .address {
  margin-bottom: 20px
}
main.content.news .news-list table tr td .office .map-wrap iframe {
  width: 655px;
  height: 260px
}
@media screen and (max-width: 768px) {
  main.content.news .news-list table tr td .office .map-wrap iframe {
    width: 100%
  }
}
main.content.news .news-list .pager {
  padding-top: 80px
}
@media screen and (max-width: 768px) {
  main.content.news .news-list .pager {
    padding-top: 40px
  }
}
main.content.news .news-list .pager ul {
  font-size: 0;
  text-align: center
}
main.content.news .news-list .pager ul li {
  display: inline-block;
  margin: 0 0.5vw;
  font-size: 20px;
  font-size: 2rem;
  -webkit-box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3)
}
@media screen and (max-width: 768px) {
  main.content.news .news-list .pager ul li {
    margin: 0 1vw;
    font-size: 16px;
    font-size: 1.6rem
  }
}
main.content.news .news-list .pager ul li a {
  display: block;
  width: 4.8vw;
  line-height: 4.8vw;
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
@media screen and (max-width: 768px) {
  main.content.news .news-list .pager ul li a {
    width: 8vw;
    line-height: 8vw
  }
}
main.content.news .news-list .pager ul li a:hover {
  color: #0068b7
}
main.content.news .news-list .pager ul li.current a {
  color: #0068b7
}
main.content.news .news-article-wrap .news-header {
  margin-bottom: 80px
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-header {
    margin-bottom: 40px
  }
}
main.content.news .news-article-wrap .news-header .date {
  display: inline-block;
  font-family: "Montserrat",sans-serif;
  font-size: 14px;
  font-size: 1.4rem
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-header .date {
    font-size: 12px;
    font-size: 1.2rem
  }
}
main.content.news .news-article-wrap .news-header .cat {
  display: inline-block;
  margin-left: 20px;
  margin-left: 2rem;
  font-size: 14px;
  font-size: 1.4rem
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-header .cat {
    font-size: 12px;
    font-size: 1.2rem
  }
}
main.content.news .news-article-wrap .news-header h3 {
  font-size: 24px;
  font-size: 2.4rem
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-header h3 {
    font-size: 18px;
    font-size: 1.8rem
  }
}
main.content.news .news-article-wrap .news-article:after {
  content: '';
  display: block;
  clear: both
}
main.content.news .news-article-wrap .news-article p {
  margin-bottom: 40px;
  line-height: 2
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-article p {
    margin-bottom: 20px
  }
}
main.content.news .news-article-wrap .news-article p:last-child {
  margin-bottom: 0
}
main.content.news .news-article-wrap .news-article strong {
  font-weight: bold
}
main.content.news .news-article-wrap .news-article em {
  font-style: italic
}
main.content.news .news-article-wrap .news-article blockquote {
  display: block;
  margin: 1em 40px
}
main.content.news .news-article-wrap .news-article hr {
  display: block;
  clear: both;
  border: none;
  border-top: #9a9a9a 1px solid;
  border-bottom: #eee 1px solid
}
main.content.news .news-article-wrap .news-article a {
  text-decoration: underline;
  color: #0068b7
}
main.content.news .news-article-wrap .news-article pre {
  display: block;
  font-family: Consolas,Monaco,monospace
}
main.content.news .news-article-wrap .news-article figure {
  width: 30vw
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-article figure {
    width: 100%
  }
}
main.content.news .news-article-wrap .news-article figure img {
  width: 100%
}
main.content.news .news-article-wrap .news-article figure.fr {
  float: right;
  margin-bottom: 3vw;
  margin-left: 3vw
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-article figure.fr {
    float: none;
    margin-bottom: 20px;
    margin-left: 0
  }
}
main.content.news .news-article-wrap .news-article figure.fl {
  float: left;
  margin-right: 3vw;
  margin-bottom: 3vw
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-article figure.fl {
    float: none;
    margin-right: 0;
    margin-bottom: 20px
  }
}
main.content.news .news-article-wrap .news-article .mt-image-left {
  float: left;
  clear: both;
  width: 36vw;
  margin-right: 3vw;
  margin-bottom: 3vw
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-article .mt-image-left {
    display: block;
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px
  }
}
main.content.news .news-article-wrap .news-article .mt-image-right {
  float: right;
  clear: both;
  width: 36vw;
  margin-bottom: 3vw;
  margin-left: 3vw
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-article .mt-image-right {
    display: block;
    float: none;
    width: 100%;
    margin-bottom: 20px;
    margin-left: 0
  }
}
main.content.news .news-article-wrap .news-article .mt-image-center {
  clear: both;
  width: 40vw;
  margin-right: auto;
  margin-bottom: 3vw;
  margin-left: auto
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .news-article .mt-image-center {
    display: block;
    width: 100%;
    margin-bottom: 20px
  }
}
main.content.news .news-article-wrap .back-to-list {
  clear: both;
  padding-top: 80px;
  text-align: center
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .back-to-list {
    padding-top: 40px
  }
}
main.content.news .news-article-wrap .back-to-list a {
  display: inline-block;
  width: 300px;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw-l.svg);
  background-repeat: no-repeat;
  background-position: 7% center;
  background-size: 27px auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  main.content.news .news-article-wrap .back-to-list a {
    width: 50vw;
    height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
main.content.news .news-article-wrap .back-to-list a:hover {
  color: #0068b7;
  background-position: 5% center
}
main.content.policy .policy-wrap h3 {
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2rem;
  color: #304044
}
@media screen and (max-width: 768px) {
  main.content.policy .policy-wrap h3 {
    margin-bottom: 15px;
    font-size: 16px;
    font-size: 1.6rem
  }
}
main.content.policy .policy-wrap p {
  margin-bottom: 80px;
  line-height: 2
}
@media screen and (max-width: 768px) {
  main.content.policy .policy-wrap p {
    margin-bottom: 50px;
    font-size: 14px;
    font-size: 1.4rem
  }
}
main.content.contact .contact-wrap .lead {
  margin-bottom: 50px
}
@media screen and (max-width: 768px) {
  main.content.contact .contact-wrap .lead {
    margin-bottom: 30px
  }
}
main.content.contact .contact-wrap .note {
  margin-top: 50px;
  font-size: 12px;
  font-size: 1.2rem
}
@media screen and (max-width: 768px) {
  main.content.contact .contact-wrap .note {
    margin-top: 30px
  }
}
main.content.environment .lead {
  padding-bottom: 110px
}
@media screen and (max-width: 768px) {
  main.content.environment .lead {
    padding-bottom: 50px
  }
}
main.content.environment .lead p {
  margin-bottom: 50px
}
@media screen and (max-width: 768px) {
  main.content.environment .lead p {
    margin-bottom: 30px
  }
}
main.content.environment .lead figure img {
  width: 100%
}
main.content.environment .article-wrap {
  padding: 110px 0 120px 0
}
@media screen and (max-width: 768px) {
  main.content.environment .article-wrap {
    padding: 50px 0 50px 0
  }
}
main.content.environment .article-wrap.hc {
  background-color: #f5f6f7
}
main.content.environment .article-wrap h3 {
  margin-bottom: 30px;
  font-size: 24px;
  font-size: 2.4rem
}
@media screen and (max-width: 768px) {
  main.content.environment .article-wrap h3 {
    margin-bottom: 20px;
    font-size: 20px;
    font-size: 2rem
  }
}
main.content.environment .article-wrap h3 span {
  display: block;
  font-size: 16px;
  font-size: 1.6rem
}
@media screen and (max-width: 768px) {
  main.content.environment .article-wrap h3 span {
    font-size: 10px;
    font-size: 1rem
  }
}
main.content.environment .article-wrap .article {
  float: left;
  width: 58.6%
}
@media screen and (max-width: 768px) {
  main.content.environment .article-wrap .article {
    float: none;
    width: 100%
  }
}
main.content.environment .article-wrap .article p {
  line-height: 2
}
main.content.environment .article-wrap figure {
  float: right;
  width: 34.7%
}
@media screen and (max-width: 768px) {
  main.content.environment .article-wrap figure {
    float: none;
    width: 100%;
    margin-top: 25px
  }
}
main.content.environment .article-wrap.fl .article {
  float: right
}
@media screen and (max-width: 768px) {
  main.content.environment .article-wrap.fl .article {
    float: none
  }
}
main.content.environment .article-wrap.fl figure {
  float: left
}
@media screen and (max-width: 768px) {
  main.content.environment .article-wrap.fl figure {
    float: none
  }
}
main.content.environment .links ul:after {
  content: '';
  display: block;
  clear: both
}
main.content.environment .links ul li {
  float: left;
  width: 47.8%
}
@media screen and (max-width: 768px) {
  main.content.environment .links ul li {
    float: none;
    width: 100%
  }
}
main.content.environment .links ul li:last-child {
  float: right
}
@media screen and (max-width: 768px) {
  main.content.environment .links ul li:last-child {
    float: none;
    margin-top: 30px
  }
}
main.content.environment .links ul li a {
  position: relative;
  display: block;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}
main.content.environment .links ul li a:hover {
  -webkit-filter: brightness(110%);
  filter: brightness(110%)
}
main.content.environment .links ul li a .fig {
  position: relative;
  margin-bottom: 15px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
main.content.environment .links ul li a .fig .pic {
  position: relative;
  overflow: hidden
}
main.content.environment .links ul li a .fig .pic img {
  position: relative;
  z-index: 1
}
main.content.environment .links ul li a .fig:after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: -2.5vw;
  width: 5vw;
  height: 5vw;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40% auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  main.content.environment .links ul li a .fig:after {
    right: 10px;
    bottom: -6.65vw;
    width: 13.3vw;
    height: 13.3vw
  }
}
main.content.environment .links ul li a .tit {
  font-size: 24px;
  font-size: 2.4rem
}
@media screen and (max-width: 768px) {
  main.content.environment .links ul li a .tit {
    font-size: 15px;
    font-size: 1.5rem
  }
}
main.content.error h2 {
  padding: 100px 0 50px 0;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bolder;
  text-align: center;
  color: #000
}
@media screen and (max-width: 768px) {
  main.content.error h2 {
    font-size: 15px;
    font-size: 1.5rem
  }
}
main.content.error p {
  text-align: center
}
main.content.error p a {
  display: inline-block;
  width: 300px;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw-l.svg);
  background-repeat: no-repeat;
  background-position: 7% center;
  background-size: 27px auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  main.content.error p a {
    width: 50vw;
    height: 45px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
main.content.error p a:hover {
  color: #0068b7;
  background-position: 5% center
}
.recruit-menu {
  padding-top: 8.8vw
}
.recruit-menu ul {
  margin-bottom: 4.5vw
}
.recruit-menu ul:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  .recruit-menu ul {
    margin-bottom: 9vw
  }
}
.recruit-menu ul li {
  float: left;
  width: 47.8%
}
@media screen and (max-width: 768px) {
  .recruit-menu ul li {
    float: none;
    width: 100%
  }
}
.recruit-menu ul li:last-child {
  float: right
}
@media screen and (max-width: 768px) {
  .recruit-menu ul li:last-child {
    float: none;
    margin-top: 30px
  }
}
.recruit-menu ul li a {
  position: relative;
  display: block
}
.recruit-menu ul li a .fig {
  position: relative;
  margin-bottom: 15px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
.recruit-menu ul li a .fig .pic {
  position: relative;
  overflow: hidden
}
.recruit-menu ul li a .fig .pic img {
  position: relative;
  z-index: 1
}
.recruit-menu ul li a .fig:after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: -2.5vw;
  width: 5vw;
  height: 5vw;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40% auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  .recruit-menu ul li a .fig:after {
    right: 10px;
    bottom: -6.65vw;
    width: 13.3vw;
    height: 13.3vw
  }
}
.recruit-menu ul li a .tit {
  font-size: 24px;
  font-size: 2.4rem
}
@media screen and (max-width: 768px) {
  .recruit-menu ul li a .tit {
    font-size: 15px;
    font-size: 1.5rem
  }
}
.recruit-menu ul li a:hover .fig {
  -webkit-filter: brightness(110%);
  filter: brightness(110%)
}
.members-links {
  padding-top: 8.8vw;
  padding-bottom: 11.5vw
}
@media screen and (max-width: 768px) {
  .members-links {
    padding-top: 50px;
    padding-bottom: 50px
  }
}
.members-links.hc {
  background-color: #f5f6f7
}
.members-links.npt {
  padding-top: 0
}
.members-links h3 {
  margin-bottom: 4.5vw;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
  color: #0068b7
}
.members-links h3 span {
  display: block
}
@media screen and (max-width: 768px) {
  .members-links h3.interview {
    font-size: 12px;
    font-size: 1.2rem
  }
}
.members-links h3.interview img {
  width: 32.3vw
}
@media screen and (max-width: 768px) {
  .members-links h3.interview img {
    width: 40vw
  }
}
@media screen and (max-width: 768px) {
  .members-links h3.daily {
    font-size: 12px;
    font-size: 1.2rem
  }
}
.members-links h3.daily img {
  width: 31.2vw
}
@media screen and (max-width: 768px) {
  .members-links h3.daily img {
    width: 40vw;
    padding-bottom: 5px
  }
}
.members-links .members-wrap:after {
  content: '';
  display: block;
  clear: both
}
.members-links .members-wrap .member {
  float: left;
  width: 47.8%;
  margin-bottom: 4.5vw
}
@media screen and (max-width: 768px) {
  .members-links .members-wrap .member {
    float: none;
    width: 100%;
    margin-bottom: 30px
  }
}
.members-links .members-wrap .member:nth-child(odd) {
  clear: both;
  margin-right: 4.4%
}
@media screen and (max-width: 768px) {
  .members-links .members-wrap .member:nth-child(odd) {
    margin-right: 0
  }
}
.members-links .members-wrap .member a {
  display: block
}
.members-links .members-wrap .member a .fig {
  position: relative;
  margin-bottom: 15px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
.members-links .members-wrap .member a .fig .pic {
  position: relative;
  overflow: hidden
}
.members-links .members-wrap .member a .fig .pic img {
  position: relative;
  z-index: 1
}
.members-links .members-wrap .member a .fig:after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: -2.5vw;
  width: 5vw;
  height: 5vw;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40% auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  .members-links .members-wrap .member a .fig:after {
    right: 10px;
    bottom: -6.65vw;
    width: 13.3vw;
    height: 13.3vw
  }
}
.members-links .members-wrap .member a .copy {
  margin-bottom: 15px;
  font-size: 1.8vw
}
@media screen and (max-width: 768px) {
  .members-links .members-wrap .member a .copy {
    margin-bottom: 10px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.members-links .members-wrap .member a .copy span {
  display: block;
  font-size: 14px;
  font-size: 1.4rem
}
@media screen and (max-width: 768px) {
  .members-links .members-wrap .member a .copy span {
    font-size: 12px;
    font-size: 1.2rem
  }
}
.members-links .members-wrap .member a .name {
  font-size: 18px;
  font-size: 1.8rem
}
@media screen and (max-width: 768px) {
  .members-links .members-wrap .member a .name {
    font-size: 14px;
    font-size: 1.4rem
  }
}
.members-links .members-wrap .member a .name span {
  display: block;
  font-size: 14px;
  font-size: 1.4rem
}
@media screen and (max-width: 768px) {
  .members-links .members-wrap .member a .name span {
    font-size: 10px;
    font-size: 1rem
  }
}
.members-links .members-wrap .member a:hover .fig {
  -webkit-filter: brightness(110%);
  filter: brightness(110%)
}
.application-list {
  padding-top: 8.8vw;
  padding-bottom: 11.5vw;
  background-color: #f5f6f7
}
@media screen and (max-width: 768px) {
  .application-list {
    padding-top: 50px;
    padding-bottom: 50px
  }
}
.application-list h3 {
  margin-bottom: 4.5vw;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
  color: #0068b7
}
@media screen and (max-width: 768px) {
  .application-list h3 {
    font-size: 12px;
    font-size: 1.2rem
  }
}
.application-list h3 span {
  display: block
}
.application-list h3 img {
  width: 19.1vw
}
@media screen and (max-width: 768px) {
  .application-list h3 img {
    width: 30vw
  }
}
.application-list .desc {
  margin-bottom: 50px
}
@media screen and (max-width: 768px) {
  .application-list .desc {
    margin-bottom: 30px;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: left
  }
}
.application-list h4 {
  margin-bottom: 60px;
  font-size: 24px;
  font-size: 2.4rem;
  color: #0068b7
}
@media screen and (max-width: 768px) {
  .application-list h4 {
    margin-bottom: 30px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.application-list table {
  width: 100%;
  line-height: 2;
  border-collapse: collapse;
  border-top: solid 1px #e5e5e5
}
@media screen and (max-width: 768px) {
  .application-list table {
    display: block
  }
}
@media screen and (max-width: 768px) {
  .application-list table tbody {
    display: block
  }
}
.application-list table tr {
  border-bottom: solid 1px #e5e5e5
}
@media screen and (max-width: 768px) {
  .application-list table tr {
    display: block;
    width: 100%
  }
}
.application-list table tr th {
  width: 25%;
  padding: 40px 20px 40px 0;
  font-weight: normal;
  text-align: left;
  vertical-align: top
}
@media screen and (max-width: 768px) {
  .application-list table tr th {
    display: block;
    width: 100%;
    padding: 15px 0 0 0;
    font-weight: bold
  }
}
.application-list table tr th a {
  -webkit-transition: all .3s linear;
  transition: all .3s linear
}
.application-list table tr th a:hover {
  color: #0068b7
}
.application-list table tr td {
  width: 75%;
  padding: 40px 0;
  vertical-align: top
}
@media screen and (max-width: 768px) {
  .application-list table tr td {
    display: block;
    width: 100%;
    padding: 0 0 15px 0
  }
}
.application-list .business {
  padding-bottom: 9vw;
  background-color: #f5f6f7
}
@media screen and (max-width: 768px) {
  .application-list .business {
    padding-bottom: 50px
  }
}
.application-list .business .project {
  margin-bottom: 50px
}
.application-list .business .project:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  .application-list .business .project {
    margin-bottom: 40px
  }
}
.application-list .business .project:last-child {
  margin-bottom: 0
}
.application-list .business .project .project-desc {
  float: left;
  width: 65.9%
}
@media screen and (max-width: 768px) {
  .application-list .business .project .project-desc {
    float: none;
    width: 100%;
    margin-bottom: 20px
  }
}
.application-list .business .project .project-desc h5 {
  margin-bottom: 30px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1
}
@media screen and (max-width: 768px) {
  .application-list .business .project .project-desc h5 {
    margin-bottom: 20px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1
  }
}
.application-list .business .project .project-desc h5 span {
  display: inline-block;
  margin-right: 30px;
  padding-right: 30px;
  font-size: 24px;
  font-size: 2.4rem;
  vertical-align: middle;
  color: #000;
  border-right: solid 1px #ddd
}
@media screen and (max-width: 768px) {
  .application-list .business .project .project-desc h5 span {
    display: block;
    margin-right: 0;
    margin-bottom: 0.5em;
    padding-right: 0;
    font-size: 16px;
    font-size: 1.6rem;
    border-right: none
  }
}
.application-list .business .project .project-pic {
  float: right;
  width: 26%
}
@media screen and (max-width: 768px) {
  .application-list .business .project .project-pic {
    float: none;
    width: 100%
  }
}
.application-link {
  padding: 80px 0;
  text-align: center;
  background-color: #0068b7
}
@media screen and (max-width: 768px) {
  .application-link {
    width: 90vw;
    margin-right: auto;
    margin-bottom: 100px;
    margin-left: auto
  }
}
.application-link a {
  display: inline-block;
  width: 300px;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: 93% center;
  background-size: 27px auto;
  -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1)
}
@media screen and (max-width: 768px) {
  .application-link a {
    width: 50vw;
    height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
.application-link a:hover {
  color: #0068b7;
  background-position: 95% center
}
.interview-header .base {
  position: relative;
  z-index: 1;
  top: 0
}
.interview-header .base img {
  width: 100%
}
.interview-header .inner {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 7.9vw;
  width: 84.1vw
}
.interview-header .inner .cat-image {
  padding-top: 10.3vw
}
.interview-header .inner .cat-image.interview img {
  width: 16.2vw
}
.interview-header .inner .copy {
  padding-left: 3.3vw;
  font-size: 3vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #0068b7
}
.interview-header .inner h2 {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 5.4vw;
  padding-left: 3.3vw;
  font-size: 1.5vw;
  color: #000
}
.interview-header .inner h2 span {
  display: block
}
.interview-header .inner h2 span.dept {
  font-size: 60%;
  letter-spacing: 1px
}
.interview-header .inner h2 span.joined {
  font-size: 60%;
  letter-spacing: 1px
}
.interview-article {
  padding: 70px 0
}
@media screen and (max-width: 768px) {
  .interview-article {
    padding: 30px 0
  }
}
.interview-article .section {
  padding: 70px 0
}
.interview-article .section:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  .interview-article .section {
    padding: 30px 0
  }
}
.interview-article .section .fig {
  float: right;
  width: 42%
}
@media screen and (max-width: 768px) {
  .interview-article .section .fig {
    width: 100%;
    margin-bottom: 20px
  }
}
.interview-article .section .fig img {
  width: 100%
}
.interview-article .section .word {
  float: left;
  width: 53.7%
}
@media screen and (max-width: 768px) {
  .interview-article .section .word {
    float: none;
    width: 100%;
    margin-bottom: 30px
  }
}
.interview-article .section .word h3 {
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2rem;
  color: #0068b7
}
@media screen and (max-width: 768px) {
  .interview-article .section .word h3 {
    margin-bottom: 25px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.interview-article .section .word h4 {
  margin-bottom: 20px;
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: bold
}
@media screen and (max-width: 768px) {
  .interview-article .section .word h4 {
    font-size: 22px;
    font-size: 2.2rem
  }
}
.interview-article .section .word p {
  margin-bottom: 1em;
  line-height: 2
}
.interview-article .section .word p:last-child {
  margin-bottom: 0
}
.interview-article .section .word p .note {
  display: inline-block;
  margin-top: 1em;
  font-size: 80%;
  line-height: 1.8
}
.interview-article .section:nth-child(even) .fig {
  float: left
}
.interview-article .section:nth-child(even) .word {
  float: right
}
.interview-article .section:last-child .fig {
  float: none;
  width: 100%
}
.interview-article .section:last-child .word {
  float: none;
  width: 100%;
  margin-bottom: 50px
}
@media screen and (max-width: 768px) {
  .interview-article .section:last-child .word {
    margin-bottom: 30px
  }
}
.daily-header .base {
  position: relative;
  z-index: 1;
  top: 0
}
.daily-header .base img {
  width: 100%
}
.daily-header .inner {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 7.9vw;
  width: 84.1vw
}
.daily-header .inner .cat-image {
  padding-top: 10.3vw
}
.daily-header .inner .cat-image.interview img {
  width: 16.2vw
}
.daily-header .inner .copy {
  padding-left: 3.3vw;
  font-size: 3vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #0068b7
}
.daily-header .inner h2 {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 5.4vw;
  padding-left: 3.3vw;
  font-size: 1.5vw;
  color: #000
}
.daily-header .inner h2 span {
  display: block
}
.daily-header .inner h2 span.dept {
  font-size: 60%;
  letter-spacing: 1px
}
.daily-header .inner h2 span.joined {
  font-size: 60%;
  letter-spacing: 1px
}
.daily-article {
  padding: 0 0 70px 0
}
@media screen and (max-width: 768px) {
  .daily-article {
    padding: 30px 0 0 0
  }
}
.daily-article .profile {
  padding: 110px 0 120px 0;
  line-height: 2
}
@media screen and (max-width: 768px) {
  .daily-article .profile {
    padding: 10px 0 50px 0;
    font-size: 12px;
    font-size: 1.2rem
  }
}
.daily-article .timeline {
  padding: 0 0 90px 0;
  background-image: url(/_assets/images/daily-line.png);
  background-repeat: repeat-y;
  background-position: 40px top;
  background-size: 1px auto
}
.daily-article .timeline:after {
  content: '';
  display: block;
  clear: both
}
@media screen and (max-width: 768px) {
  .daily-article .timeline {
    padding: 0 0 30px 0;
    background-position: 7.5vw top
  }
}
.daily-article .timeline:last-child {
  background-image: none
}
.daily-article .timeline h3 {
  position: relative;
  margin-bottom: 20px;
  padding-left: 100px;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1;
  color: #0068b7
}
@media screen and (max-width: 768px) {
  .daily-article .timeline h3 {
    margin-bottom: 10px;
    padding-left: 18vw;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.daily-article .timeline h3 span.time {
  position: absolute;
  top: -15px;
  left: 0;
  display: block;
  width: 80px;
  height: 80px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 80px;
  text-align: center;
  border: solid 1px #0068b7;
  border-radius: 40px;
  background-color: #fff
}
@media screen and (max-width: 768px) {
  .daily-article .timeline h3 span.time {
    top: -3vw;
    left: 0;
    width: 15vw;
    height: 15vw;
    font-size: 3vw;
    line-height: 15vw;
    border-radius: 7.5vw
  }
}
.daily-article .timeline h3 span.mode {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
  font-size: 1.4rem
}
@media screen and (max-width: 768px) {
  .daily-article .timeline h3 span.mode {
    font-size: 10px;
    font-size: 1rem
  }
}
.daily-article .timeline .fig {
  float: right;
  width: 34%
}
@media screen and (max-width: 768px) {
  .daily-article .timeline .fig {
    float: none;
    width: 100%;
    margin-bottom: 20px;
    padding-top: 20px;
    padding-left: 18vw
  }
}
.daily-article .timeline .desc {
  float: left;
  width: 61%
}
@media screen and (max-width: 768px) {
  .daily-article .timeline .desc {
    float: none;
    width: 100%
  }
}
.daily-article .timeline .desc p {
  padding-left: 105px;
  line-height: 2
}
@media screen and (max-width: 768px) {
  .daily-article .timeline .desc p {
    padding-left: 18vw;
    font-size: 12px;
    font-size: 1.2rem
  }
}
_:-ms-lang(x)::-ms-backdrop,
.daily-article .timeline {
  background-size: 2px auto
}
#sv-sl-c1 {
  -webkit-transition: opacity .5s linear 2s;
  transition: opacity .5s linear 2s;
  opacity: 0
}
#sv-sl-c2 {
  -webkit-transition: opacity .5s linear 2.5s;
  transition: opacity .5s linear 2.5s;
  opacity: 0
}
#sv-sl-c3 {
  -webkit-transition: opacity .5s linear 3s;
  transition: opacity .5s linear 3s;
  opacity: 0
}
#sv-sl-en {
  -webkit-transition: opacity .5s linear 3.8s;
  transition: opacity .5s linear 3.8s;
  opacity: 0
}
#sv-sl-center {
  -webkit-transition: opacity .5s linear 4.8s;
  transition: opacity .5s linear 4.8s;
  opacity: 0
}
.is-show #sv-sl-c1 {
  opacity: 1
}
.is-show #sv-sl-c2 {
  opacity: 1
}
.is-show #sv-sl-c3 {
  opacity: 1
}
.is-show #sv-sl-en {
  opacity: 1
}
.is-show #sv-sl-center {
  opacity: 1
}
#sv-sl2-c1 {
  -webkit-transition: opacity .5s linear 2s;
  transition: opacity .5s linear 2s;
  opacity: 0
}
#sv-sl2-c2 {
  -webkit-transition: opacity .5s linear 2.4s;
  transition: opacity .5s linear 2.4s;
  opacity: 0
}
#sv-sl2-c3 {
  -webkit-transition: opacity .5s linear 2.8s;
  transition: opacity .5s linear 2.8s;
  opacity: 0
}
#sv-sl2-c4 {
  -webkit-transition: opacity .5s linear 3.2s;
  transition: opacity .5s linear 3.2s;
  opacity: 0
}
#sv-sl2-c5 {
  -webkit-transition: opacity .5s linear 3.6s;
  transition: opacity .5s linear 3.6s;
  opacity: 0
}
#sv-sl2-c6 {
  -webkit-transition: opacity .5s linear 4s;
  transition: opacity .5s linear 4s;
  opacity: 0
}
#sv-sl2-center {
  -webkit-transition: opacity .5s linear 4.4s;
  transition: opacity .5s linear 4.4s;
  opacity: 0
}
.is-show #sv-sl2-c1 {
  opacity: 1
}
.is-show #sv-sl2-c2 {
  opacity: 1
}
.is-show #sv-sl2-c3 {
  opacity: 1
}
.is-show #sv-sl2-c4 {
  opacity: 1
}
.is-show #sv-sl2-c5 {
  opacity: 1
}
.is-show #sv-sl2-c6 {
  opacity: 1
}
.is-show #sv-sl2-center {
  opacity: 1
}
#sv-sl3-c1 {
  -webkit-transition: opacity .5s linear 2s;
  transition: opacity .5s linear 2s;
  opacity: 0
}
#sv-sl3-c2 {
  -webkit-transition: opacity .5s linear 3s;
  transition: opacity .5s linear 3s;
  opacity: 0
}
#sv-sl3-c3 {
  -webkit-transition: opacity .5s linear 4s;
  transition: opacity .5s linear 4s;
  opacity: 0
}
.is-show #sv-sl3-c1 {
  opacity: 1
}
.is-show #sv-sl3-c2 {
  opacity: 1
}
.is-show #sv-sl3-c3 {
  opacity: 1
}
footer {
  position: relative
}
footer .contact-links {
  position: relative;
  border-top: solid 1px rgba(255, 255, 255, 0);
  background-color: #304044
}
footer .contact-links .contact-wrap {
  position: relative;
  margin-top: -120px;
  margin-right: 130px;
  margin-left: 130px;
  padding: 90px 0 80px 0;
  text-align: center;
  color: #fff;
  background-color: #0068b7
}
@media screen and (max-width: 1200px) {
  footer .contact-links .contact-wrap {
    margin-right: 100px;
    margin-left: 100px
  }
}
@media screen and (max-width: 1100px) {
  footer .contact-links .contact-wrap {
    width: 960px;
    margin-right: auto;
    margin-left: auto
  }
}
@media screen and (max-width: 768px) {
  footer .contact-links .contact-wrap {
    width: 90vw;
    margin-top: -50px;
    padding: 50px 0 50px 0
  }
}
footer .contact-links .contact-wrap h2 {
  margin-bottom: 60px;
  font-size: 30px;
  font-size: 3rem
}
@media screen and (max-width: 768px) {
  footer .contact-links .contact-wrap h2 {
    margin-bottom: 20px;
    font-size: 20px;
    font-size: 2rem
  }
}
footer .contact-links .contact-wrap .desc {
  margin-bottom: 30px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2
}
@media screen and (max-width: 768px) {
  footer .contact-links .contact-wrap .desc {
    margin-bottom: 20px;
    font-size: 12px;
    font-size: 1.2rem
  }
}
footer .contact-links .contact-wrap .link {
  margin-bottom: 30px
}
@media screen and (max-width: 768px) {
  footer .contact-links .contact-wrap .link {
    margin-bottom: 15px
  }
}
footer .contact-links .contact-wrap .link a {
  position: relative;
  display: block;
  width: 300px;
  height: 70px;
  margin: 0 auto;
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 70px;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
  letter-spacing: 1px;
  color: #304044;
  background-color: #fff;
  background-image: url(/_assets/images/ico-button-aw.svg);
  background-repeat: no-repeat;
  background-position: 93% center;
  background-size: 27px auto
}
@media screen and (max-width: 768px) {
  footer .contact-links .contact-wrap .link a {
    width: 50vw;
    height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 45px;
    background-size: 4vw auto
  }
}
footer .contact-links .contact-wrap .link a:hover {
  color: #0068b7;
  background-position: 95% center
}
@media screen and (max-width: 768px) {
  footer .contact-links .contact-wrap .tel {
    font-size: 10px;
    font-size: 1rem
  }
}
footer .contact-links .contact-wrap .tel span {
  font-family: "Montserrat",sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold
}
@media screen and (max-width: 768px) {
  footer .contact-links .contact-wrap .tel span {
    font-size: 12px;
    font-size: 1.2rem
  }
}
footer .contact-links .contact-wrap .tel a {
  color: #fff
}
footer .contact-links .links-wrap .container .links {
  float: left
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .links {
    float: none;
    padding-top: 45px;
    padding-bottom: 45px
  }
}
footer .contact-links .links-wrap .container .links li {
  display: inline-block;
  margin-right: 50px;
  font-family: "Montserrat",sans-serif;
  line-height: 180px;
  letter-spacing: 1px
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .links li {
    display: block;
    margin-right: 0;
    margin-bottom: 20px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1;
    text-align: center
  }
}
footer .contact-links .links-wrap .container .links li:last-child {
  margin-right: 0
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .links li:last-child {
    margin-bottom: 0
  }
}
footer .contact-links .links-wrap .container .links li a {
  position: relative;
  display: block;
  color: #fff
}
footer .contact-links .links-wrap .container .links li a:after {
  content: "";
  position: absolute;
  bottom: 43%;
  left: 50%;
  display: block;
  width: 0%;
  height: 1px;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  background-color: #fff
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .links li a:after {
    display: none
  }
}
footer .contact-links .links-wrap .container .links li a:hover:after {
  left: 0%;
  width: 100%
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .links li a:hover:after {
    display: none
  }
}
footer .contact-links .links-wrap .container .sns-links {
  float: right;
  text-align: right
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .sns-links {
    float: none;
    text-align: center
  }
}
footer .contact-links .links-wrap .container .sns-links li {
  display: inline-block;
  margin-right: 40px;
  line-height: 180px
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .sns-links li {
    margin-top: 40px;
    margin-right: 10px;
    margin-bottom: 30px;
    margin-left: 10px;
    line-height: 1
  }
}
footer .contact-links .links-wrap .container .sns-links li img {
  vertical-align: middle
}
footer .contact-links .links-wrap .container .sns-links li img.fb {
  width: 15px
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .sns-links li img.fb {
    width: 10px
  }
}
footer .contact-links .links-wrap .container .sns-links li img.tw {
  width: 28px
}
@media screen and (max-width: 768px) {
  footer .contact-links .links-wrap .container .sns-links li img.tw {
    width: 20px
  }
}
footer .contact-links .links-wrap .container .sns-links li a {
  display: block;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  opacity: 0.7
}
footer .contact-links .links-wrap .container .sns-links li a:hover {
  opacity: 1
}
footer .copyright {
  line-height: 200px
}
@media screen and (max-width: 768px) {
  footer .copyright {
    padding-top: 40px;
    padding-bottom: 45px;
    line-height: 1;
    text-align: center
  }
}
footer .copyright .link {
  float: right
}
@media screen and (max-width: 768px) {
  footer .copyright .link {
    float: none;
    margin-bottom: 30px
  }
}
footer .copyright .link img {
  width: 106px;
  vertical-align: middle
}
@media screen and (max-width: 768px) {
  footer .copyright .link img {
    width: 20%
  }
}
footer .copyright .copy {
  float: left;
  font-family: "Montserrat",sans-serif;
  letter-spacing: 1px
}
@media screen and (max-width: 768px) {
  footer .copyright .copy {
    float: none;
    font-size: 10px;
    font-size: 1rem
  }
}
.top-mv {
  position: relative;
  z-index: 1;
  height: 60.4vw;
  margin-top: -2.5vw
}
@media screen and (max-width: 768px) {
  .top-mv {
    height: 112vw;
    margin-top: 0
  }
}
.top-mv .container {
  position: relative;
  z-index: 3
}
.top-mv .tag-line {
  margin-bottom: 2.5vw;
  padding-top: 22.4vw;
  -webkit-transition: opacity .5s ease-in 2s;
  transition: opacity .5s ease-in 2s;
  opacity: 0
}
@media screen and (max-width: 768px) {
  .top-mv .tag-line {
    margin-bottom: 6vw;
    padding-top: 48vw
  }
}
.top-mv .tag-line img {
  display: block;
  width: 43.7vw
}
@media screen and (max-width: 768px) {
  .top-mv .tag-line img {
    width: 72vw
  }
}
.top-mv .desc {
  font-size: 2vw;
  -webkit-transition: opacity .5s ease-in 2.5s;
  transition: opacity .5s ease-in 2.5s;
  text-indent: -0.5em;
  opacity: 0
}
@media screen and (max-width: 768px) {
  .top-mv .desc {
    font-size: 3vw
  }
}
.top-mv #kvcontainer {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 60.4vw;
  background-color: transparent
}
@media screen and (max-width: 768px) {
  .top-mv #kvcontainer {
    height: 112vw
  }
}
.top-mv .webgl-base {
  position: absolute;
  z-index: 1;
  top: 2.5vw;
  left: 0;
  width: 100%;
  height: 55.4vw;
  background-color: #f5f6f7
}
@media screen and (max-width: 768px) {
  .top-mv .webgl-base {
    top: 0;
    height: 112vw
  }
}
.top-mv.is-show .tag-line {
  opacity: 1
}
.top-mv.is-show .desc {
  opacity: 1
}
/*# sourceMappingURL=../sourcemaps/style.css.map */
