@charset "UTF-8";
/* Scss Document */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

a {
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  a.hov {
    transition: .5s; }
    a.hov:hover {
      opacity: 0.7;
      transition: 0.5s; }

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

html, body {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff; }

body {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.75;
  color: #333;
  font-feature-settings: "palt";
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }
  @media screen and (max-width: 900px) {
    body {
      font-size: 1.3rem; } }
  body.add_overray {
    overflow: hidden; }

svg {
  fill: currentColor; }

.sp {
  display: none; }
  @media screen and (max-width: 900px) {
    .sp {
      display: block !important; } }

.pc {
  display: block; }
  @media screen and (max-width: 900px) {
    .pc {
      display: none !important; } }

.lg {
  display: block; }
  @media screen and (max-width: 1000px) {
    .lg {
      display: none !important; } }

.md {
  display: none; }
  @media screen and (max-width: 1000px) {
    .md {
      display: block !important; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.fadein {
  opacity: 0.2;
  transform: translate(0, 70px);
  transition: all 600ms; }
  @media screen and (max-width: 900px) {
    .fadein {
      transform: translate(0, 50px); } }

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

::selection {
  background: #cb000e;
  color: #fff; }

::-moz-selection {
  background: #cb000e;
  color: #fff; }

header nav.pc {
  position: fixed;
  top: 0;
  right: 0;
  background: #fff;
  width: 170px;
  z-index: 100000000;
  color: #4d4d4d;
  height: 100vh; }
  header nav.pc .logo {
    position: absolute;
    top: 40px;
    right: 30px;
    width: 65px;
    transition: .5s; }
    header nav.pc .logo:hover {
      opacity: .5;
      transition: .5s; }
  header nav.pc .rmal {
    position: absolute;
    bottom: 40px;
    right: 30px;
    width: 110px;
    transition: .5s; }
    header nav.pc .rmal:hover {
      opacity: .5;
      transition: .5s; }
  header nav.pc ul {
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 30px;
    top: 130px;
    text-align: right; }
    header nav.pc ul li {
      margin-bottom: 30px;
      font-size: 1.5rem;
      line-height: 1;
      transition: .5s; }
      header nav.pc ul li:hover {
        opacity: .5;
        transition: .5s; }
      header nav.pc ul li.con {
        margin-top: 120px; }
        header nav.pc ul li.con span {
          position: relative; }
          header nav.pc ul li.con span::after {
            position: absolute;
            width: calc(100% + 30px);
            bottom: -10px;
            right: -30px;
            height: 1px;
            background: #333;
            content: ""; }
header .sp .logo {
  position: relative;
  z-index: 9999999;
  width: 150px;
  padding: 25px 0;
  margin: 0 auto; }

nav#toggle {
  height: 12px;
  position: fixed;
  z-index: 100000000;
  top: 25px;
  right: 5%;
  width: 25px; }

#nav-toggle {
  position: fixed;
  top: 25px;
  right: 5%;
  height: 20px;
  cursor: pointer; }
  #nav-toggle > div {
    position: relative;
    width: 25px;
    display: block; }
  #nav-toggle span {
    width: 100%;
    height: 2px;
    left: 0;
    display: block;
    background: #333;
    position: absolute;
    transition: transform .6s ease-in-out, top .5s ease; }
    #nav-toggle span:nth-child(1) {
      top: 0; }
    #nav-toggle span:nth-child(2) {
      top: 10px; }
    #nav-toggle span:nth-child(3) {
      top: 20px; }
  #nav-toggle:hover span:nth-child(1) {
    top: 2px; }
    @media screen and (max-width: 900px) {
      #nav-toggle:hover span:nth-child(1) {
        top: 2px; } }
  #nav-toggle:hover span:nth-child(3) {
    top: 18px; }

.open #nav-toggle span:nth-child(1) {
  top: 7px;
  transform: rotate(45deg); }
.open #nav-toggle span:nth-child(2) {
  top: 7px;
  width: 0;
  left: 50%; }
.open #nav-toggle span:nth-child(3) {
  top: 7px;
  transform: rotate(-45deg); }

/* z-index */
#nav-toggle {
  z-index: 1000; }

#container {
  z-index: 900; }

#gloval-nav {
  background: rgba(255, 255, 255, 0.95);
  color: #333;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  width: 100%;
  text-align: center;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease; }

#gloval-nav a {
  display: block;
  transition: color .6s ease;
  font-size: 1.5rem;
  text-decoration: none; }
#gloval-nav ul {
  list-style: none;
  position: relative;
  top: 50px; }
  #gloval-nav ul li {
    opacity: 0;
    transform: translateX(200px);
    transition: transform .6s ease, opacity .2s ease;
    padding: 8px 0; }
    @media screen and (max-width: 330px) {
      #gloval-nav ul li {
        padding: 7px 0; } }
    #gloval-nav ul li.con {
      margin: 60px auto 40px; }
      #gloval-nav ul li.con span {
        padding-bottom: 5px;
        border-bottom: 1px solid #333; }
      @media screen and (max-height: 600px) {
        #gloval-nav ul li.con {
          margin: 0 auto 10px; } }
      @media screen and (max-width: 330px) {
        #gloval-nav ul li.con {
          margin: 0 auto 10px; } }
    #gloval-nav ul li .rmal {
      width: 100px; }

/* open */
.open #gloval-nav {
  visibility: visible;
  opacity: 1; }
.open #gloval-nav li {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease, opacity .9s ease; }

#footer {
  padding: 25px 0 35px;
  margin: 155px auto 0;
  border-top: 1px solid #333;
  width: 86.666666%; }
  @media screen and (max-width: 900px) {
    #footer {
      padding: 20px 0;
      margin-top: 55px;
      width: 83%; } }
  @media screen and (max-width: 900px) {
    #footer.ftop {
      padding: 20px 0;
      margin-top: 0;
      border: none;
      width: 83%; } }
  #footer figure {
    width: 150px;
    margin: 0 auto; }
    @media screen and (max-width: 900px) {
      #footer figure {
        width: 110px; } }

.uc_tit {
  margin: 180px auto 110px 14%;
  width: 86%; }
  @media screen and (max-width: 900px) {
    .uc_tit {
      margin: 50px auto 35px;
      width: 83%; } }
  .uc_tit .tit_txt {
    display: flex;
    align-items: baseline;
    line-height: 1; }
    @media screen and (max-width: 900px) {
      .uc_tit .tit_txt {
        display: block; } }
    .uc_tit .tit_txt h1 {
      font-size: 9rem;
      font-weight: 600;
      margin-right: 25px; }
      @media screen and (max-width: 900px) {
        .uc_tit .tit_txt h1 {
          font-size: 4rem;
          margin: 0 auto 15px; } }
    .uc_tit .tit_txt p {
      color: #808080;
      font-size: 1.6rem;
      position: relative;
      bottom: 15px; }
      @media screen and (max-width: 900px) {
        .uc_tit .tit_txt p {
          bottom: auto;
          font-size: 1.4rem; } }
  .uc_tit .intro {
    font-size: 1.7rem;
    color: #808080;
    margin-top: 30px; }
    @media screen and (max-width: 900px) {
      .uc_tit .intro {
        font-size: 1.4rem; } }

.uc_tit_jp {
  margin: 180px auto 30px 14%;
  width: 86%; }
  @media screen and (max-width: 900px) {
    .uc_tit_jp {
      margin: 50px auto 15px;
      width: 83%; } }
  .uc_tit_jp .tit_txt {
    display: flex;
    align-items: baseline;
    line-height: 1; }
    @media screen and (max-width: 900px) {
      .uc_tit_jp .tit_txt {
        display: block; } }
    .uc_tit_jp .tit_txt h1 {
      font-size: 2.2rem;
      font-weight: 600; }
      @media screen and (max-width: 900px) {
        .uc_tit_jp .tit_txt h1 {
          font-size: 2rem; } }
    .uc_tit_jp .tit_txt p {
      color: #808080;
      font-size: 1.6rem;
      position: relative;
      bottom: 15px; }
      @media screen and (max-width: 900px) {
        .uc_tit_jp .tit_txt p {
          bottom: auto;
          font-size: 1.4rem; } }
  .uc_tit_jp .intro {
    font-size: 1.7rem;
    color: #808080;
    margin-top: 30px; }
    @media screen and (max-width: 900px) {
      .uc_tit_jp .intro {
        font-size: 1.4rem; } }

#page_top {
  width: 65px;
  height: 65px;
  position: fixed;
  right: 170px;
  bottom: 125px;
  z-index: 9999999999999999; }
  @media screen and (max-width: 900px) {
    #page_top {
      width: 32px;
      height: 32px;
      right: 8.5%;
      bottom: 16px; } }
  #page_top a {
    display: block; }

/*TOP*/
#btnnav {
  width: 40px;
  position: fixed;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  height: 100vh; }
  #btnnav li {
    width: 9px;
    height: 9px;
    background: #b6b6b6;
    border-radius: 100%;
    margin: 3px auto; }
    #btnnav li.active {
      background: #333333; }
    #btnnav li a {
      display: block;
      width: 100%;
      height: 100%; }

#top_txt {
  width: 470px;
  position: fixed;
  top: 0;
  right: 170px; }
  @media screen and (max-width: 900px) {
    #top_txt {
      width: 100%;
      position: static;
      top: auto;
      right: auto; } }
  #top_txt .content {
    background: #fff;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 60px; }
    @media screen and (max-width: 900px) {
      #top_txt .content {
        height: auto;
        display: block;
        padding: 0 0 50px;
        text-align: center; } }
    #top_txt .content h1 {
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      font-size: 1.9rem;
      letter-spacing: 1.6rem;
      margin: 0 auto 35px 0; }
      @media screen and (max-width: 900px) {
        #top_txt .content h1 {
          margin-bottom: 20px; } }
      #top_txt .content h1 span {
        position: relative;
        left: 2px; }
        @media screen and (max-width: 900px) {
          #top_txt .content h1 span {
            left: auto; } }
    #top_txt .content h2 {
      font-size: 7.5rem;
      font-weight: 600;
      line-height: 1;
      margin-bottom: 60px; }
      @media screen and (max-width: 900px) {
        #top_txt .content h2 {
          font-size: 5rem;
          margin-bottom: 30px; } }
      #top_txt .content h2 span {
        position: relative;
        left: -60px;
        font-weight: 600; }
        @media screen and (max-width: 900px) {
          #top_txt .content h2 span {
            position: static;
            left: auto; } }
    #top_txt .content p {
      font-size: 1.4rem;
      line-height: 2.5;
      letter-spacing: .1rem; }
      @media screen and (max-width: 900px) {
        #top_txt .content p {
          font-size: 1.3rem;
          line-height: 2; } }

.spnav {
  width: 90%;
  margin: 0 auto;
  overflow: hidden; }

.slide {
  width: 100%;
  margin: 0 auto; }
  .slide #top_main_sp {
    position: relative;
    height: calc(100vh - 345px);
    background: url("../img/top/img_sec01.jpg") center no-repeat;
    position: relative;
    background-size: cover; }
    .slide #top_main_sp .logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 200px; }

#sp_another .content section {
  display: block;
  min-width: 100%;
  scroll-snap-align: center;
  position: relative; }
#sp_another .content #top_policy_sp, #sp_another .content #top_works_sp, #sp_another .content #top_about_sp {
  position: relative; }
  #sp_another .content #top_policy_sp .bg, #sp_another .content #top_works_sp .bg, #sp_another .content #top_about_sp .bg {
    width: 100%; }
  #sp_another .content #top_policy_sp a, #sp_another .content #top_works_sp a, #sp_another .content #top_about_sp a {
    position: absolute;
    top: calc(50%);
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff; }
    #sp_another .content #top_policy_sp a h2, #sp_another .content #top_works_sp a h2, #sp_another .content #top_about_sp a h2 {
      font-size: 3.6rem;
      line-height: 1.5;
      margin-bottom: 10px; }
    #sp_another .content #top_policy_sp a p, #sp_another .content #top_works_sp a p, #sp_another .content #top_about_sp a p {
      width: 130px;
      height: 40px;
      font-size: 1.4rem;
      line-height: 37px;
      display: inline-block;
      border: 1px solid #fff; }
#sp_another .content #top_talk_sp {
  position: relative;
  margin-top: -1px; }
  #sp_another .content #top_talk_sp .bg {
    width: 100%; }
  #sp_another .content #top_talk_sp a {
    position: absolute;
    top: calc(50%);
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff; }
    #sp_another .content #top_talk_sp a h2 {
      font-size: 2.2rem;
      line-height: 1.5;
      margin-bottom: 10px;
      font-weight: 600;
      letter-spacing: .3rem; }
    #sp_another .content #top_talk_sp a dl {
      width: 130px;
      height: 40px;
      border: 1px solid #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin: 0 auto; }
      #sp_another .content #top_talk_sp a dl dt {
        font-size: 1rem;
        line-height: 1;
        margin-bottom: 5px; }
      #sp_another .content #top_talk_sp a dl dd {
        font-size: 1.3rem;
        line-height: 1; }
#sp_another .content #top_moc_sp {
  position: relative; }
  #sp_another .content #top_moc_sp .bg {
    width: 100%; }
  #sp_another .content #top_moc_sp .content {
    position: absolute;
    top: 45%;
    left: 5%;
    width: 90%;
    transform: translateY(-50%);
    color: #fff;
    text-align: center; }
    #sp_another .content #top_moc_sp .content h2 {
      font-size: 2.2rem;
      line-height: 1.5;
      margin-bottom: 5px;
      font-weight: 600;
      letter-spacing: .3rem; }
    #sp_another .content #top_moc_sp .content p {
      font-size: 1.2rem;
      text-shadow: 0 0 2px #000; }
#sp_another .content #top_map_sp .content {
  position: relative;
  background: #cb000e;
  width: 100%;
  height: 0;
  padding-bottom: 61%; }
  #sp_another .content #top_map_sp .content .map_txt {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    color: #fff;
    text-align: center; }
    #sp_another .content #top_map_sp .content .map_txt p {
      font-size: 1.3rem; }
    #sp_another .content #top_map_sp .content .map_txt h2 {
      font-size: 3.6rem;
      font-weight: 600;
      color: #fff;
      margin-bottom: 20px;
      line-height: 1; }
    #sp_another .content #top_map_sp .content .map_txt a {
      margin-top: 10px;
      width: 130px;
      height: 40px;
      font-size: 1.4rem;
      line-height: 37px;
      display: inline-block;
      border: 1px solid #fff; }
#sp_another .content #top_map_sp .gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 61%;
  position: relative; }
  #sp_another .content #top_map_sp .gmap iframe, #sp_another .content #top_map_sp .gmap object, #sp_another .content #top_map_sp .gmap embed {
    -webkit-filter: grayscale(100%) brightness(50%);
    -moz-filter: grayscale(100%) brightness(50%);
    -ms-filter: grayscale(100%) brightness(50%);
    -o-filter: grayscale(100%) brightness(50%);
    filter: grayscale(100%) brightness(50%); }
#sp_another .content #top_map_sp .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%; }

.top {
  width: calc(100% - 170px - 40px - 470px);
  position: relative;
  left: 40px;
  top: 40px; }
  .top::after {
    position: fixed;
    width: 100%;
    height: 40px;
    content: "";
    background: #fff;
    bottom: 0;
    left: 0;
    z-index: 2; }
  .top::before {
    position: fixed;
    width: 100%;
    height: 40px;
    content: "";
    background: #fff;
    top: 0;
    left: 0;
    z-index: 2; }
  .top #top_main {
    height: calc(100vh - 80px);
    background: url("../img/top/img_sec01.jpg") center no-repeat;
    position: relative;
    background-size: cover; }
    .top #top_main figure {
      position: absolute;
      bottom: 100px;
      left: 20px;
      width: 190px; }
  .top #top_policy {
    height: calc(100vh - 80px);
    background: url("../img/top/img_sec02.jpg") center no-repeat;
    background-size: cover; }
    .top #top_policy a {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      transition: 1s; }
      .top #top_policy a:hover {
        background: rgba(0, 0, 0, 0.3);
        transition: 1s; }
        .top #top_policy a:hover p {
          background: #fff;
          color: #333; }
    .top #top_policy .content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      .top #top_policy .content h2 {
        font-size: 5.5rem;
        font-weight: 600;
        margin-bottom: 20px; }
      .top #top_policy .content p {
        border: 1px solid #fff;
        width: 85px;
        height: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 1.5rem; }
  .top #top_talk {
    height: calc(100vh - 80px);
    background: url("../img/top/img_sec03.jpg") center no-repeat;
    background-size: cover; }
    .top #top_talk a {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      transition: 1s; }
      .top #top_talk a:hover {
        background: rgba(0, 0, 0, 0.3);
        transition: 1s; }
        .top #top_talk a:hover dl {
          background: #fff;
          color: #333; }
    .top #top_talk .content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      .top #top_talk .content h2 {
        font-size: 3.5rem;
        font-weight: 600;
        letter-spacing: 1rem;
        margin-bottom: 40px;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl; }
      .top #top_talk .content dl {
        border: 1px solid #fff;
        width: 140px;
        height: 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center; }
        .top #top_talk .content dl dt {
          line-height: 1;
          margin-bottom: 5px;
          font-size: 1.1rem; }
        .top #top_talk .content dl dd {
          line-height: 1;
          font-size: 1.5rem; }
  .top #top_moc {
    height: calc(100vh - 80px);
    background: url("../img/top/img_sec04.jpg") center no-repeat;
    background-size: cover; }
    .top #top_moc .content {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      transition: 1s; }
      .top #top_moc .content:hover {
        background: rgba(0, 0, 0, 0.3);
        transition: 1s; }
    .top #top_moc .content {
      position: relative;
      color: #fff;
      width: 100%;
      height: 100%; }
      .top #top_moc .content h2 {
        position: absolute;
        font-size: 3.5rem;
        font-weight: 600;
        letter-spacing: 1rem;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        top: 8%;
        left: 10%; }
      .top #top_moc .content p {
        position: absolute;
        font-size: 1.4rem;
        line-height: 2.5;
        left: 30%;
        top: 14%; }
  .top #top_works {
    height: calc(100vh - 80px);
    background: url("../img/top/img_sec05.jpg") center no-repeat;
    background-size: cover; }
    .top #top_works a {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      transition: 1s; }
      .top #top_works a:hover {
        background: rgba(0, 0, 0, 0.3);
        transition: 1s; }
        .top #top_works a:hover p {
          background: #fff;
          color: #333; }
    .top #top_works .content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      .top #top_works .content h2 {
        font-size: 5.5rem;
        font-weight: 600;
        margin-bottom: 20px; }
      .top #top_works .content p {
        border: 1px solid #fff;
        width: 85px;
        height: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 1.5rem; }
  .top #top_about {
    height: calc(100vh - 80px);
    background: url("../img/top/img_sec06.jpg") center no-repeat;
    background-size: cover; }
    .top #top_about a {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      transition: 1s; }
      .top #top_about a:hover {
        background: rgba(0, 0, 0, 0.3);
        transition: 1s; }
        .top #top_about a:hover p {
          background: #fff;
          color: #333; }
    .top #top_about .content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      .top #top_about .content h2 {
        font-size: 5.5rem;
        font-weight: 600;
        margin-bottom: 20px; }
      .top #top_about .content p {
        border: 1px solid #fff;
        width: 85px;
        height: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 1.5rem; }
  .top #top_map .content {
    width: 100%;
    height: 100%;
    position: relative;
    background: #cb000e; }
    .top #top_map .content h2 {
      position: absolute;
      transform: translate(-50%, -50%);
      font-size: 5.5rem;
      font-weight: 600;
      top: 48%;
      left: 50%;
      color: #fff; }
    .top #top_map .content .map_txt {
      position: absolute;
      bottom: 150px;
      left: 0;
      font-size: 1.5rem;
      width: 100%;
      color: #fff;
      text-align: center;
      line-height: 2; }
      .top #top_map .content .map_txt a {
        border: 1px solid #fff;
        width: 135px;
        height: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 1.5rem;
        color: #fff;
        margin: 40px auto 0;
        transition: 1s; }
        .top #top_map .content .map_txt a:hover {
          background: #fff;
          transition: 1s;
          background: #fff;
          color: #333; }
  .top #top_map .gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: calc(100vh - 120px);
    position: relative;
    top: 40px; }
    .top #top_map .gmap iframe, .top #top_map .gmap object, .top #top_map .gmap embed {
      -webkit-filter: grayscale(100%) brightness(80%);
      -moz-filter: grayscale(100%) brightness(80%);
      -ms-filter: grayscale(100%) brightness(80%);
      -o-filter: grayscale(100%) brightness(80%);
      filter: grayscale(100%) brightness(80%); }
  .top #top_map .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }

.uc_policy {
  padding: 80px 200px 0 0; }
  @media screen and (max-width: 900px) {
    .uc_policy {
      padding: 0; } }
  .uc_policy .policy_box {
    margin-bottom: 100px; }
    @media screen and (max-width: 900px) {
      .uc_policy .policy_box {
        margin-bottom: 50px; } }
    .uc_policy .policy_box:last-child {
      margin-bottom: 0; }
    .uc_policy .policy_box .content .img_box {
      position: relative;
      margin-bottom: 110px; }
      @media screen and (max-width: 900px) {
        .uc_policy .policy_box .content .img_box {
          margin-bottom: 50px; } }
      .uc_policy .policy_box .content .img_box h1 {
        font-size: 6rem;
        position: absolute;
        line-height: 1;
        width: 100%;
        text-align: center;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        letter-spacing: .8rem;
        color: #fff;
        font-weight: 600; }
        @media screen and (max-width: 900px) {
          .uc_policy .policy_box .content .img_box h1 {
            font-size: 2.6rem;
            line-height: 1.5; } }
      .uc_policy .policy_box .content .img_box h2 {
        position: absolute;
        line-height: 1;
        width: 100%;
        text-align: center;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        letter-spacing: .8rem;
        color: #fff; }
        .uc_policy .policy_box .content .img_box h2.head_sec2 {
          font-size: 5rem;
          font-weight: 600; }
          @media screen and (max-width: 900px) {
            .uc_policy .policy_box .content .img_box h2.head_sec2 {
              font-size: 2.6rem;
              line-height: 1.5; } }
        .uc_policy .policy_box .content .img_box h2.head_sec3 {
          font-size: 6rem;
          font-weight: 600; }
          @media screen and (max-width: 900px) {
            .uc_policy .policy_box .content .img_box h2.head_sec3 {
              font-size: 2.6rem;
              line-height: 1.5; } }
    .uc_policy .policy_box .content p {
      font-size: 1.5rem;
      line-height: 2.5;
      width: 80%;
      margin: 0 7.6% 0 12.4%; }
      @media screen and (max-width: 900px) {
        .uc_policy .policy_box .content p {
          width: 83%;
          margin: 0 auto; } }

.uc_talk {
  padding: 80px 200px 0 0; }
  @media screen and (max-width: 900px) {
    .uc_talk {
      padding: 0; } }
  .uc_talk #talk_intro .intro_txt {
    width: 92%;
    margin-left: 8%;
    margin-bottom: 115px; }
    @media screen and (max-width: 900px) {
      .uc_talk #talk_intro .intro_txt {
        width: 83%;
        margin: 0 auto 50px;
        padding-bottom: 50px;
        border-bottom: 1px solid #333; } }
    .uc_talk #talk_intro .intro_txt h1 {
      font-size: 7.5rem;
      line-height: 1;
      font-weight: 600;
      margin: 120px auto 60px;
      position: relative;
      letter-spacing: 1.5rem; }
      @media screen and (max-width: 900px) {
        .uc_talk #talk_intro .intro_txt h1 {
          font-size: 4rem;
          margin: 50px auto 30px;
          letter-spacing: .5rem; } }
      .uc_talk #talk_intro .intro_txt h1::before {
        width: 100%;
        height: 1px;
        top: 50%;
        content: "";
        background: #333;
        position: absolute; }
        @media screen and (max-width: 900px) {
          .uc_talk #talk_intro .intro_txt h1::before {
            content: none; } }
      .uc_talk #talk_intro .intro_txt h1 b {
        background: #fff;
        padding-right: 50px;
        position: relative;
        font-weight: 600; }
        @media screen and (max-width: 900px) {
          .uc_talk #talk_intro .intro_txt h1 b {
            padding: 0; } }
      .uc_talk #talk_intro .intro_txt h1 span {
        font-size: 85%;
        font-weight: 600; }
    .uc_talk #talk_intro .intro_txt p {
      font-size: 1.6rem;
      line-height: 2.5; }
      @media screen and (max-width: 900px) {
        .uc_talk #talk_intro .intro_txt p {
          font-size: 1.5rem; } }
  .uc_talk #talk_intro .intro_prof {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse; }
    @media screen and (max-width: 900px) {
      .uc_talk #talk_intro .intro_prof {
        display: block; } }
    .uc_talk #talk_intro .intro_prof figure {
      width: 50%; }
      @media screen and (max-width: 900px) {
        .uc_talk #talk_intro .intro_prof figure {
          width: 83%;
          margin: 50px auto 0; } }
    .uc_talk #talk_intro .intro_prof .prof_txt {
      padding: 0 30px 0 0;
      width: 43%; }
      @media screen and (max-width: 900px) {
        .uc_talk #talk_intro .intro_prof .prof_txt {
          padding: 0;
          width: 83%;
          margin: 0 auto; } }
      .uc_talk #talk_intro .intro_prof .prof_txt h2 {
        font-size: 3.6rem;
        line-height: 1;
        margin-bottom: 25px;
        font-weight: 600;
        letter-spacing: .3rem; }
        @media screen and (max-width: 900px) {
          .uc_talk #talk_intro .intro_prof .prof_txt h2 {
            letter-spacing: normal; } }
        .uc_talk #talk_intro .intro_prof .prof_txt h2::first-letter {
          font-size: 160%; }
      .uc_talk #talk_intro .intro_prof .prof_txt dl dt {
        font-size: 1.6rem;
        line-height: 2;
        margin-bottom: 10px; }
      .uc_talk #talk_intro .intro_prof .prof_txt dl dd {
        font-size: 1.4rem;
        line-height: 2.2; }
  .uc_talk .talk_inimg {
    margin-top: 120px; }
    @media screen and (max-width: 900px) {
      .uc_talk .talk_inimg {
        margin-top: 50px; } }
    .uc_talk .talk_inimg .content {
      position: relative;
      width: 91.6%;
      margin-left: 8.4%; }
      @media screen and (max-width: 900px) {
        .uc_talk .talk_inimg .content {
          width: 100%;
          margin: 0 auto; } }
      .uc_talk .talk_inimg .content .txt_box {
        position: absolute;
        width: 89%;
        left: 5.5%;
        bottom: 45px;
        color: #fff; }
        @media screen and (max-width: 900px) {
          .uc_talk .talk_inimg .content .txt_box {
            position: static;
            width: 83%;
            margin: 50px auto 0;
            left: auto;
            bottom: auto;
            color: #333; } }
        .uc_talk .talk_inimg .content .txt_box h2 {
          font-size: 3.6rem;
          line-height: 1;
          margin-bottom: 15px;
          font-weight: 600;
          letter-spacing: .3rem; }
          @media screen and (max-width: 900px) {
            .uc_talk .talk_inimg .content .txt_box h2 {
              letter-spacing: normal;
              margin-bottom: 20px;
              font-size: 3.2rem;
              line-height: 1.3; } }
          .uc_talk .talk_inimg .content .txt_box h2::first-letter {
            font-size: 160%; }
        .uc_talk .talk_inimg .content .txt_box p {
          line-height: 2.5;
          font-size: 1.4rem; }
          .uc_talk .talk_inimg .content .txt_box p span {
            font-size: 1.5rem;
            font-weight: 600;
            font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
    .uc_talk .talk_inimg.fwidth .content {
      position: relative;
      width: 100%;
      margin: 0 auto; }
  .uc_talk .talk_leftimg {
    margin-top: 120px; }
    @media screen and (max-width: 900px) {
      .uc_talk .talk_leftimg {
        margin-top: 50px; } }
    .uc_talk .talk_leftimg .content {
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
      align-items: center;
      width: 91.6%;
      margin-left: 8.4%; }
      @media screen and (max-width: 900px) {
        .uc_talk .talk_leftimg .content {
          width: 100%;
          margin: 0 auto;
          display: block; } }
      .uc_talk .talk_leftimg .content figure {
        width: 44%; }
        @media screen and (max-width: 900px) {
          .uc_talk .talk_leftimg .content figure {
            width: 91.4%;
            margin-left: 8.6%; } }
      .uc_talk .talk_leftimg .content .txt_box {
        width: 48%; }
        @media screen and (max-width: 900px) {
          .uc_talk .talk_leftimg .content .txt_box {
            width: 83%;
            margin: 50px auto 0; } }
        .uc_talk .talk_leftimg .content .txt_box h3 {
          font-size: 3.4rem;
          font-weight: 600;
          letter-spacing: .3rem;
          margin-bottom: 40px; }
          @media screen and (max-width: 900px) {
            .uc_talk .talk_leftimg .content .txt_box h3 {
              font-size: 2rem;
              margin-bottom: 20px; } }
        .uc_talk .talk_leftimg .content .txt_box p {
          line-height: 2.5;
          font-size: 1.4rem; }
          .uc_talk .talk_leftimg .content .txt_box p span {
            font-size: 1.5rem;
            font-weight: 600;
            font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
  .uc_talk .talk_midimg {
    margin-top: 120px; }
    @media screen and (max-width: 900px) {
      .uc_talk .talk_midimg {
        margin-top: 50px; } }
    .uc_talk .talk_midimg .content {
      width: 91.6%;
      margin-left: 8.4%; }
      @media screen and (max-width: 900px) {
        .uc_talk .talk_midimg .content {
          width: 100%;
          margin: 0 auto; } }
      .uc_talk .talk_midimg .content figure {
        width: 100%; }
      .uc_talk .talk_midimg .content .txt_box {
        width: 100%;
        margin-top: 60px; }
        @media screen and (max-width: 900px) {
          .uc_talk .talk_midimg .content .txt_box {
            width: 83%;
            margin: 50px auto 0; } }
        .uc_talk .talk_midimg .content .txt_box p {
          line-height: 2.5;
          font-size: 1.4rem; }
          .uc_talk .talk_midimg .content .txt_box p span {
            font-size: 1.5rem;
            font-weight: 600;
            font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
  .uc_talk .talk_rightimg {
    margin-top: 120px; }
    @media screen and (max-width: 900px) {
      .uc_talk .talk_rightimg {
        margin-top: 50px; } }
    .uc_talk .talk_rightimg .content {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media screen and (max-width: 900px) {
        .uc_talk .talk_rightimg .content {
          width: 100%;
          margin: 0 auto;
          display: block; } }
      .uc_talk .talk_rightimg .content figure {
        width: 52%; }
        @media screen and (max-width: 900px) {
          .uc_talk .talk_rightimg .content figure {
            width: 91.4%;
            margin-right: 8.6%; } }
      .uc_talk .talk_rightimg .content .txt_box {
        width: 40%; }
        @media screen and (max-width: 900px) {
          .uc_talk .talk_rightimg .content .txt_box {
            width: 83%;
            margin: 50px auto 0; } }
        .uc_talk .talk_rightimg .content .txt_box p {
          line-height: 2.5;
          font-size: 1.4rem; }
          .uc_talk .talk_rightimg .content .txt_box p span {
            font-size: 1.5rem;
            font-weight: 600;
            font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.uc_works {
  padding-right: 200px; }
  @media screen and (max-width: 900px) {
    .uc_works {
      padding: 0; } }
  .uc_works .uc_tit {
    margin-bottom: 50px; }
  .uc_works .work_leftimg {
    width: 100%;
    position: relative; }
    .uc_works .work_leftimg::before {
      position: absolute;
      z-index: 1;
      width: 86%;
      height: 100%;
      top: 0;
      left: 14%;
      background: #e7e7e7;
      content: ""; }
      @media screen and (max-width: 900px) {
        .uc_works .work_leftimg::before {
          width: 92%;
          left: 8%; } }
    .uc_works .work_leftimg .content {
      display: flex;
      justify-content: space-between;
      width: 92%;
      position: relative;
      z-index: 2;
      padding: 115px 0; }
      @media screen and (max-width: 900px) {
        .uc_works .work_leftimg .content {
          width: 100%;
          padding: 50px 0;
          display: block; } }
      .uc_works .work_leftimg .content .work_img {
        width: 64%; }
        @media screen and (max-width: 900px) {
          .uc_works .work_leftimg .content .work_img {
            width: 92%; } }
        .uc_works .work_leftimg .content .work_img .work_img2box {
          display: flex;
          justify-content: space-between; }
          .uc_works .work_leftimg .content .work_img .work_img2box figure {
            width: 49.5%;
            margin-top: 1%; }
      .uc_works .work_leftimg .content .work_txt {
        width: 36%; }
        @media screen and (max-width: 900px) {
          .uc_works .work_leftimg .content .work_txt {
            width: 92%;
            margin-left: 8%; } }
        .uc_works .work_leftimg .content .work_txt dl {
          margin-top: 130px;
          border-bottom: 1px solid #333;
          margin-bottom: 25px;
          padding-left: 10%; }
          @media screen and (max-width: 900px) {
            .uc_works .work_leftimg .content .work_txt dl {
              margin-top: 40px;
              margin-bottom: 20px;
              padding: 0 10%; } }
          .uc_works .work_leftimg .content .work_txt dl dt {
            font-size: 1.7rem;
            color: #808080;
            margin-bottom: 15px; }
            @media screen and (max-width: 900px) {
              .uc_works .work_leftimg .content .work_txt dl dt {
                margin-bottom: 8px; } }
          .uc_works .work_leftimg .content .work_txt dl dd {
            margin-bottom: 20px;
            font-size: 2.8rem;
            font-weight: 600; }
            @media screen and (max-width: 900px) {
              .uc_works .work_leftimg .content .work_txt dl dd {
                font-size: 2.4rem;
                margin-bottom: 15px; } }
        .uc_works .work_leftimg .content .work_txt p {
          font-size: 1.6rem;
          padding-left: 10%; }
          @media screen and (max-width: 900px) {
            .uc_works .work_leftimg .content .work_txt p {
              padding: 0 10%; } }
  .uc_works .work_rightimg {
    width: 100%;
    position: relative; }
    .uc_works .work_rightimg::before {
      position: absolute;
      z-index: 1;
      width: 86%;
      height: 100%;
      top: 0;
      right: 14%;
      background: #e7e7e7;
      content: ""; }
      @media screen and (max-width: 900px) {
        .uc_works .work_rightimg::before {
          width: 92%;
          right: 8%; } }
    .uc_works .work_rightimg .content {
      display: flex;
      justify-content: space-between;
      flex-direction: row-reverse;
      width: 92%;
      position: relative;
      z-index: 2;
      padding: 115px 0;
      margin-left: 8%;
      margin-top: 145px; }
      @media screen and (max-width: 900px) {
        .uc_works .work_rightimg .content {
          width: 100%;
          padding: 50px 0;
          display: block;
          margin: 50px auto 0; } }
      .uc_works .work_rightimg .content .work_img {
        width: 64%; }
        @media screen and (max-width: 900px) {
          .uc_works .work_rightimg .content .work_img {
            width: 92%;
            margin-left: 8%; } }
        .uc_works .work_rightimg .content .work_img .work_img2box {
          display: flex;
          justify-content: space-between;
          margin-bottom: 1%; }
          .uc_works .work_rightimg .content .work_img .work_img2box figure {
            width: 49.5%;
            margin-top: 1%; }
      .uc_works .work_rightimg .content .work_txt {
        width: 36%; }
        @media screen and (max-width: 900px) {
          .uc_works .work_rightimg .content .work_txt {
            width: 92%; } }
        .uc_works .work_rightimg .content .work_txt dl {
          margin-top: 130px;
          border-bottom: 1px solid #333;
          margin-bottom: 25px;
          padding: 0 10%; }
          @media screen and (max-width: 900px) {
            .uc_works .work_rightimg .content .work_txt dl {
              margin-top: 40px;
              margin-bottom: 20px;
              padding: 0 10%; } }
          .uc_works .work_rightimg .content .work_txt dl dt {
            font-size: 1.7rem;
            color: #808080;
            margin-bottom: 15px; }
            @media screen and (max-width: 900px) {
              .uc_works .work_rightimg .content .work_txt dl dt {
                margin-bottom: 8px; } }
          .uc_works .work_rightimg .content .work_txt dl dd {
            margin-bottom: 20px;
            font-size: 2.8rem;
            font-weight: 600; }
            @media screen and (max-width: 900px) {
              .uc_works .work_rightimg .content .work_txt dl dd {
                font-size: 2.4rem;
                margin-bottom: 15px; } }
        .uc_works .work_rightimg .content .work_txt p {
          font-size: 1.6rem;
          padding: 0 10%; }
          @media screen and (max-width: 900px) {
            .uc_works .work_rightimg .content .work_txt p {
              padding: 0 10%; } }

.uc_about {
  padding: 0 200px 0 0; }
  @media screen and (max-width: 900px) {
    .uc_about {
      padding: 0; } }
  .uc_about .about_box .content {
    width: 77%;
    margin: 0 9% 70px 14%;
    padding-bottom: 70px;
    border-bottom: 1px solid #333; }
    @media screen and (max-width: 900px) {
      .uc_about .about_box .content {
        margin: 0 auto 50px;
        padding-bottom: 50px;
        width: 83%; } }
    .uc_about .about_box .content aside {
      font-size: 1.8rem;
      color: #808080;
      line-height: 1;
      margin-bottom: 5px; }
      @media screen and (max-width: 900px) {
        .uc_about .about_box .content aside {
          font-size: 1.6rem; } }
    .uc_about .about_box .content h2 {
      font-size: 5rem;
      margin-bottom: 25px;
      line-height: 1.3;
      font-weight: 600; }
      @media screen and (max-width: 900px) {
        .uc_about .about_box .content h2 {
          font-size: 2.8rem;
          margin-bottom: 10px; } }
    .uc_about .about_box .content p {
      font-size: 1.5rem;
      line-height: 2.8; }
      @media screen and (max-width: 900px) {
        .uc_about .about_box .content p {
          font-size: 1.4rem;
          line-height: 2.2; } }
  .uc_about .comp_box .content {
    width: 77%;
    margin: 0 9% 0 14%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    @media screen and (max-width: 900px) {
      .uc_about .comp_box .content {
        display: block;
        margin: 0 auto;
        width: 83%; } }
    .uc_about .comp_box .content aside {
      font-size: 1.8rem;
      color: #808080;
      line-height: 1;
      margin-bottom: 5px; }
      @media screen and (max-width: 900px) {
        .uc_about .comp_box .content aside {
          font-size: 1.6rem; } }
    .uc_about .comp_box .content h2 {
      font-size: 5rem;
      margin-bottom: 25px;
      line-height: 1.3;
      font-weight: 600; }
      @media screen and (max-width: 900px) {
        .uc_about .comp_box .content h2 {
          font-size: 2.8rem;
          margin-bottom: 10px; } }
    .uc_about .comp_box .content .comp_img {
      width: 49%; }
      @media screen and (max-width: 900px) {
        .uc_about .comp_box .content .comp_img {
          width: 100%;
          margin-top: 50px; } }
    .uc_about .comp_box .content .comp_txt {
      width: 49%; }
      @media screen and (max-width: 900px) {
        .uc_about .comp_box .content .comp_txt {
          width: 100%; } }
      .uc_about .comp_box .content .comp_txt dl {
        display: flex;
        justify-content: space-between;
        font-size: 1.6rem;
        margin-bottom: 15px; }
        @media screen and (max-width: 900px) {
          .uc_about .comp_box .content .comp_txt dl {
            font-size: 1.3rem; } }
        .uc_about .comp_box .content .comp_txt dl:last-child {
          margin-bottom: 0; }
        .uc_about .comp_box .content .comp_txt dl dt {
          width: 130px;
          margin-right: 30px;
          text-align: justify;
          text-align-last: justify; }
          @media screen and (max-width: 900px) {
            .uc_about .comp_box .content .comp_txt dl dt {
              width: 110px;
              margin-right: 20px; } }
        .uc_about .comp_box .content .comp_txt dl dd {
          width: calc(100% - 160px); }
          @media screen and (max-width: 900px) {
            .uc_about .comp_box .content .comp_txt dl dd {
              width: calc(100% - 130px); } }

.uc_contact {
  padding: 0 200px 0 0; }
  @media screen and (max-width: 900px) {
    .uc_contact {
      padding: 0; } }
  .uc_contact #intro .content {
    width: 77%;
    margin: 0 9% 70px 14%;
    padding-bottom: 70px;
    border-bottom: 1px solid #333; }
    @media screen and (max-width: 900px) {
      .uc_contact #intro .content {
        margin: 0 auto 50px;
        padding-bottom: 50px;
        width: 83%; } }
    .uc_contact #intro .content p {
      font-size: 1.6rem;
      line-height: 2.5; }
      @media screen and (max-width: 900px) {
        .uc_contact #intro .content p {
          line-height: 2.2; } }
  .uc_contact #turn .content {
    width: 77%;
    margin: 0 9% 0 14%;
    padding-bottom: 70px; }
    @media screen and (max-width: 900px) {
      .uc_contact #turn .content {
        margin: 0 auto;
        padding-bottom: 50px;
        width: 83%; } }
    .uc_contact #turn .content p {
      font-size: 1.6rem;
      line-height: 2.5; }
      @media screen and (max-width: 900px) {
        .uc_contact #turn .content p {
          line-height: 2.2; } }
    .uc_contact #turn .content a {
      margin-top: 30px;
      background: #4d4d4d;
      text-align: center;
      font-size: 1.7rem;
      color: #fff;
      width: 240px;
      height: 60px;
      line-height: 60px;
      border-radius: 3px;
      transition: .5s;
      display: block; }
      .uc_contact #turn .content a:hover {
        background: #cb000e; }
  .uc_contact input,
  .uc_contact button,
  .uc_contact select,
  .uc_contact textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none; }
  .uc_contact textarea {
    resize: vertical; }
  .uc_contact input[type='checkbox'],
  .uc_contact input[type='radio'] {
    display: none; }
  .uc_contact input[type='submit'],
  .uc_contact input[type='button'],
  .uc_contact label,
  .uc_contact button,
  .uc_contact select {
    cursor: pointer; }
  .uc_contact select::-ms-expand {
    display: none; }
  .uc_contact input[type="text"]:focus, .uc_contact textarea:focus {
    border: 1px solid #cb000e;
    outline: 0; }
  .uc_contact #form .content {
    width: 77%;
    margin: 0 9% 0 14%; }
    @media screen and (max-width: 900px) {
      .uc_contact #form .content {
        margin: 0 auto;
        width: 83%; } }
    .uc_contact #form .content .txt {
      display: flex;
      flex-direction: row-reverse;
      margin-bottom: 50px;
      align-items: center; }
      @media screen and (max-width: 900px) {
        .uc_contact #form .content .txt {
          display: block;
          margin-bottom: 25px; } }
      .uc_contact #form .content .txt span {
        display: block;
        width: 230px;
        padding-left: 30px;
        line-height: 1.2;
        font-size: 1.5rem; }
        @media screen and (max-width: 900px) {
          .uc_contact #form .content .txt span {
            width: 100%;
            margin: 0 auto 5px;
            padding: 0; } }
        .uc_contact #form .content .txt span b {
          font-size: 50%;
          position: relative;
          top: -5px;
          left: 2px;
          color: #cb000e; }
      .uc_contact #form .content .txt input {
        width: calc(100% - 230px);
        background: #dcdcdc;
        padding: 0 10px;
        border-radius: 3px;
        border: none;
        height: 50px;
        line-height: 50px; }
        @media screen and (max-width: 900px) {
          .uc_contact #form .content .txt input {
            width: 100%;
            height: 40px;
            line-height: 40px; } }
    .uc_contact #form .content .txt_half {
      display: flex;
      flex-direction: row-reverse;
      margin-bottom: 50px;
      align-items: center;
      justify-content: flex-end; }
      @media screen and (max-width: 900px) {
        .uc_contact #form .content .txt_half {
          display: block;
          margin-bottom: 25px; } }
      .uc_contact #form .content .txt_half span {
        display: block;
        width: 230px;
        padding-left: 30px;
        line-height: 1.2;
        font-size: 1.5rem; }
        @media screen and (max-width: 900px) {
          .uc_contact #form .content .txt_half span {
            width: 100%;
            margin: 0 auto 5px;
            padding: 0; } }
        .uc_contact #form .content .txt_half span b {
          font-size: 50%;
          position: relative;
          top: -5px;
          left: 2px;
          color: #cb000e; }
      .uc_contact #form .content .txt_half input {
        width: calc(70% - 230px);
        background: #dcdcdc;
        padding: 0 10px;
        border-radius: 3px;
        border: none;
        height: 50px;
        line-height: 50px; }
        @media screen and (max-width: 900px) {
          .uc_contact #form .content .txt_half input {
            width: 100%;
            height: 40px;
            line-height: 40px; } }
    .uc_contact #form .content .txt_box {
      display: flex;
      margin-bottom: 50px;
      align-items: flex-start;
      flex-direction: row-reverse; }
      @media screen and (max-width: 900px) {
        .uc_contact #form .content .txt_box {
          display: block;
          margin-bottom: 25px; } }
      .uc_contact #form .content .txt_box span {
        display: block;
        width: 230px;
        padding-left: 30px;
        line-height: 1.2;
        font-size: 1.5rem;
        margin-top: 15px; }
        @media screen and (max-width: 900px) {
          .uc_contact #form .content .txt_box span {
            width: 100%;
            margin: 0 auto 5px;
            padding: 0; } }
        .uc_contact #form .content .txt_box span b {
          font-size: 50%;
          position: relative;
          top: -5px;
          left: 2px;
          color: #cb000e; }
      .uc_contact #form .content .txt_box textarea {
        width: calc(100% - 230px);
        background: #dcdcdc;
        padding: 10px;
        border-radius: 3px;
        border: none;
        height: 300px;
        line-height: 1.5; }
        @media screen and (max-width: 900px) {
          .uc_contact #form .content .txt_box textarea {
            width: 100%;
            height: 220px; } }
    .uc_contact #form .content .getbtn {
      display: flex;
      align-items: flex-end; }
      @media screen and (max-width: 900px) {
        .uc_contact #form .content .getbtn {
          display: block; } }
      .uc_contact #form .content .getbtn a {
        margin-left: 20px;
        text-decoration: underline;
        font-size: 1.4rem; }
        @media screen and (max-width: 900px) {
          .uc_contact #form .content .getbtn a {
            margin: 0; } }
    .uc_contact #form .content .submit {
      background: #4d4d4d;
      text-align: center;
      font-size: 1.7rem;
      color: #fff;
      width: 240px;
      height: 60px;
      line-height: 60px;
      border-radius: 3px;
      position: relative;
      cursor: pointer;
      transition: .5s; }
      .uc_contact #form .content .submit:hover {
        background: #cb000e;
        transition: .5s; }
      @media screen and (max-width: 900px) {
        .uc_contact #form .content .submit {
          margin-top: 50px;
          margin-bottom: 20px; } }
      .uc_contact #form .content .submit input {
        color: #fff;
        position: relative;
        width: 240px;
        height: 60px;
        z-index: 999;
        transition: .5s;
        border: none;
        top: 0;
        left: 0;
        padding: 0; }
  .uc_contact #formre .content {
    width: 77%;
    margin: 30px 9% 0 14%;
    border-collapse: collapse; }
    @media screen and (max-width: 900px) {
      .uc_contact #formre .content {
        width: 83%;
        margin: 30px auto 0; } }
  .uc_contact #formre .submit {
    background: #4d4d4d;
    text-align: center;
    font-size: 1.7rem;
    color: #fff;
    width: 240px;
    height: 60px;
    line-height: 60px;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
    transition: .5s;
    margin: 30px auto; }
    .uc_contact #formre .submit:hover {
      background: #cb000e;
      transition: .5s; }
    @media screen and (max-width: 900px) {
      .uc_contact #formre .submit {
        margin-top: 50px;
        margin-bottom: 20px; } }
    .uc_contact #formre .submit input {
      color: #fff;
      position: relative;
      width: 240px;
      height: 60px;
      z-index: 999;
      transition: .5s;
      border: none;
      top: 0;
      left: 0;
      padding: 0; }
  .uc_contact #formre .return {
    background: #fff;
    border: 1px solid #4d4d4d;
    text-align: center;
    font-size: 1.7rem;
    color: #333;
    width: 240px;
    height: 60px;
    line-height: 60px;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
    transition: .5s;
    margin: 30px auto; }
    .uc_contact #formre .return:hover {
      background: #4d4d4d;
      transition: .5s;
      color: #fff; }
    @media screen and (max-width: 900px) {
      .uc_contact #formre .return {
        margin-top: 50px;
        margin-bottom: 20px; } }
    .uc_contact #formre .return input {
      color: #333;
      position: relative;
      width: 240px;
      height: 60px;
      z-index: 999;
      transition: .5s;
      border: none;
      top: 0;
      left: 0;
      padding: 0; }
      .uc_contact #formre .return input:hover {
        color: #fff; }
  .uc_contact table.formTable {
    border-collapse: collapse;
    width: 100%; }
  .uc_contact table.formTable td, .uc_contact table.formTable th {
    border: 1px solid #ccc;
    padding: 10px 20px;
    font-size: 1.4rem; }
  .uc_contact table.formTable th {
    width: 30%;
    font-weight: normal;
    background: #efefef;
    text-align: left; }
  .uc_contact p.error_messe {
    margin: 5px 0;
    color: red; }

.uc_pp {
  padding: 0 200px 0 0; }
  @media screen and (max-width: 900px) {
    .uc_pp {
      padding: 0; } }
  .uc_pp #intro .content {
    width: 77%;
    margin: 0 9% 70px 14%;
    padding-bottom: 70px;
    border-bottom: 1px solid #333; }
    @media screen and (max-width: 900px) {
      .uc_pp #intro .content {
        margin: 0 auto 50px;
        padding-bottom: 50px;
        width: 83%; } }
    .uc_pp #intro .content p {
      font-size: 1.6rem;
      line-height: 2.5; }
      @media screen and (max-width: 900px) {
        .uc_pp #intro .content p {
          line-height: 2.2; } }
  .uc_pp #pp_in .content {
    width: 77%;
    margin: 0 9% 70px 14%; }
    @media screen and (max-width: 900px) {
      .uc_pp #pp_in .content {
        margin: 0 auto;
        width: 83%; } }
    .uc_pp #pp_in .content .pp_box {
      margin-bottom: 30px;
      line-height: 2.5; }
      @media screen and (max-width: 900px) {
        .uc_pp #pp_in .content .pp_box {
          line-height: 2.2; } }
      .uc_pp #pp_in .content .pp_box:last-child {
        margin-bottom: 0; }
      .uc_pp #pp_in .content .pp_box h2 {
        font-size: 1.6rem;
        font-weight: 600; }
      .uc_pp #pp_in .content .pp_box p {
        font-size: 1.4rem;
        font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.uc_rma {
  padding: 80px 200px 0 0; }
  @media screen and (max-width: 900px) {
    .uc_rma {
      padding: 0; } }
  .uc_rma #rma_head {
    position: relative; }
    @media screen and (max-width: 900px) {
      .uc_rma #rma_head {
        height: calc(100vh - 200px);
        background: url("../img/rma/img_rma_main.jpg") center no-repeat;
        background-size: cover; } }
    .uc_rma #rma_head .logo {
      width: 494px;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      position: absolute; }
      @media screen and (max-width: 900px) {
        .uc_rma #rma_head .logo {
          width: 200px; } }
  .uc_rma #intro .content {
    padding: 100px 0;
    width: 88%;
    margin-left: 12%; }
    @media screen and (max-width: 900px) {
      .uc_rma #intro .content {
        width: 83%;
        margin: 0 auto;
        padding: 55px 0; } }
    .uc_rma #intro .content p {
      font-size: 1.5rem;
      line-height: 2.5; }
      @media screen and (max-width: 900px) {
        .uc_rma #intro .content p {
          line-height: 2.2; } }
  .uc_rma .rma_box {
    position: relative; }
    .uc_rma .rma_box .rma_txt {
      position: absolute;
      width: 90%;
      top: 50%;
      left: 5%;
      transform: translateY(-50%);
      color: #fff;
      text-align: center; }
      .uc_rma .rma_box .rma_txt h2 {
        font-size: 7rem;
        font-weight: 600;
        margin-bottom: 40px;
        line-height: 1;
        letter-spacing: 1.5rem; }
        .uc_rma .rma_box .rma_txt h2 span {
          font-size: 85%;
          font-weight: 600; }
        @media screen and (max-width: 900px) {
          .uc_rma .rma_box .rma_txt h2 {
            font-size: 3.4rem;
            margin-bottom: 20px;
            letter-spacing: .5rem; } }
      .uc_rma .rma_box .rma_txt p {
        font-size: 1.4rem;
        line-height: 2.5; }
        @media screen and (max-width: 900px) {
          .uc_rma .rma_box .rma_txt p {
            font-size: 1.3rem;
            line-height: 2.2; } }
    .uc_rma .rma_box.rma_ano .rma_txt {
      top: auto;
      bottom: 5%;
      transform: none; }
  .uc_rma .rma_img {
    margin-top: 90px;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 900px) {
      .uc_rma .rma_img {
        margin-top: 40px; } }
    .uc_rma .rma_img figure {
      width: 49.5%; }

/*# sourceMappingURL=style.css.map */
