@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common2.css
 Style : common
================================================================= */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: 400;
  /*-Normal-*/
  src: url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff") format("woff"), url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2") format("woff2"); }
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: 500;
  /*-Medium-*/
  src: url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff") format("woff"), url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2") format("woff2"); }
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: 700;
  /*-Bold-*/
  src: url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff") format("woff"), url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2") format("woff2"); }
.disnone {
  display: none !important; }
  @media only screen and (max-width: 640px) {
    .disnone {
      display: block !important; } }

@media only screen and (max-width: 640px) {
  .spdisnone {
    display: none !important; } }

.tdpd10 td {
  padding: 10px !important; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body {
  counter-reset: number 0;
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #333;
  font-family: "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-wrap: break-word;
  font-size: 13px;
  overflow: hidden; }

.inner2 {
  margin: 0 auto;
  max-width: 1200px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .inner2 {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media only screen and (max-width: 640px) {
    .inner2 {
      padding-left: 10px !important;
      padding-right: 10px !important; } }

.inner {
  margin: 0 auto;
  max-width: 1000px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .inner {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media only screen and (max-width: 640px) {
    .inner {
      padding-left: 10px !important;
      padding-right: 10px !important; } }

#contents_wrap {
  width: 100%;
  min-width: 100%;
  margin-bottom: 100px; }
  @media only screen and (max-width: 768px) {
    #contents_wrap {
      margin-bottom: 50px;
      padding: 0 10px; } }

#contents {
  width: 100%;
  max-width: 1000px; }

#main {
  width: 100%; }

#main #col_main {
  width: 100%; }

#side {
  width: 18.75000%; }

.map {
  margin: 56px 20px 0; }

.map li {
  border-left: 5px solid #CCCCCC;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left; }

@media only screen and (max-width: 640px) {
  .modaal-content-container {
    height: 400px;
    overflow: auto; } }

.modaal-close {
  position: absolute !important;
  right: -20px !important;
  top: -20px !important;
  background: rgba(0, 0, 0, 0.7) !important; }

.modaal-content-container h2 {
  border-bottom: 2px solid #BBBBBB;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 0 0 5px; }

.modaal-content-container p {
  margin: 0 0 20px; }

.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
  background: #fff !important; }

table td img {
  height: auto !important; }

.pdtd10 td {
  padding: 10px !important; }

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line; }

b, strong {
  font-weight: bold; }

u {
  text-decoration: line-through; }

img {
  max-width: 100%;
  height: auto !important; }

small {
  font-size: 80%; }

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3; }

span {
  font-weight: inherit; }

u {
  text-decoration: underline; }

b {
  font-weight: 500; }

input[type="button"] {
  cursor: pointer;
  padding: 5px 10px; }

a {
  text-decoration: none; }

a:hover {
  opacity: 0.6; }

@media screen and (min-width: 469px) and (max-width: 768px) {
  .imgR, .imgL {
    max-width: 30% !important; } }
@media only screen and (max-width: 640px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center; } }

.mincho {
  font-family: "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.gothic {
  font-family: "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

@media only screen and (max-width: 640px) {
  .fltL {
    float: none;
    width: 100% !important; }

  .fltR {
    float: none;
    width: 100% !important; }

  .sptal {
    text-align: left !important; }

  .sptar {
    text-align: right !important; }

  .sptac {
    text-align: center !important; }

  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px; } }
header#global_header {
  max-width: 100%;
  width: 100%;
  min-width: 100%;
  height: auto; }

@-webkit-keyframes zoom {
  50% {
    -webkit-transform: scale(1.1); } }
@keyframes zoom {
  50% {
    transform: scale(1.1); } }
#header {
  width: 100%;
  margin: 20px 0; }
  @media only screen and (max-width: 768px) {
    #header {
      padding: 10px 0;
      position: fixed;
      z-index: 2;
      top: 0;
      margin: 0;
      background: #fff;
      border-bottom: 1px solid #ddd; } }
  #header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 768px) {
      #header .inner {
        justify-content: center; } }
    #header .inner .flxL {
      width: 28%;
      text-align: left; }
      @media only screen and (max-width: 768px) {
        #header .inner .flxL {
          width: 50%;
          text-align: center; } }
      #header .inner .flxL #siteID a {
        line-height: 1;
        display: block;
        opacity: 1; }
    #header .inner .flxR {
      width: 70%; }
      #header .inner .flxR .navwrap {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
      #header .inner .flxR #hed_info {
        order: 1;
        display: flex;
        align-items: center;
        justify-content: flex-end; }
        #header .inner .flxR #hed_info .tel2 {
          font-size: 15px;
          color: #333;
          margin-right: 20px; }
          #header .inner .flxR #hed_info .tel2 i {
            font-size: 13px;
            margin-right: 7px; }
        #header .inner .flxR #hed_info .cont {
          font-size: 13px;
          color: #333; }
          #header .inner .flxR #hed_info .cont:hover {
            color: #fff; }
          #header .inner .flxR #hed_info .cont i {
            margin-right: 7px; }
        #header .inner .flxR #hed_info a {
          padding: 10px 15px;
          border: 1px solid #333;
          display: block;
          color: #333;
          transition: 1s; }
          #header .inner .flxR #hed_info a:hover {
            background: #000;
            color: #fff; }

#nav_global {
  order: 2;
  margin-top: 20px;
  z-index: 2;
  position: relative; }
  #nav_global ul {
    display: flex;
    justify-content: flex-end;
    align-items: center; }
    #nav_global ul li {
      width: 20%;
      position: relative; }
      #nav_global ul li a {
        font-weight: 500;
        font-size: 13px;
        color: #333;
        display: block; }
        #nav_global ul li a:hover {
          opacity: 1;
          -webkit-animation: .3s;
          animation: zoom .3s; }
    @media only screen and (max-width: 768px) {
      #nav_global ul .casenav {
        display: none; } }
    #nav_global ul .casenav ul {
      width: 100%;
      position: absolute;
      display: block; }
      @media only screen and (max-width: 768px) {
        #nav_global ul .casenav ul {
          position: static; } }
      #nav_global ul .casenav ul li {
        width: 100%;
        background: rgba(255, 255, 255, 0.8); }
        #nav_global ul .casenav ul li a {
          padding: 10px; }

.subnav {
  display: none; }
  @media only screen and (max-width: 768px) {
    .subnav {
      display: block; } }

.global-menu-btn {
  display: none; }
  @media only screen and (max-width: 768px) {
    .global-menu-btn {
      z-index: 11;
      display: block;
      position: absolute;
      left: 15px;
      color: #999;
      font-size: 10px;
      line-height: 1; }
      .global-menu-btn::before {
        font-size: 2.4em;
        content: "\f0c9";
        line-height: 1;
        font-family: "Font Awesome 5 pro";
        font-weight: 400; }
      .global-menu-btn i {
        margin-top: 3px;
        display: block;
        line-height: 1; } }

.global-menu-close-btn {
  display: none; }
  @media only screen and (max-width: 768px) {
    .global-menu-close-btn {
      display: block;
      position: absolute;
      right: 10px;
      top: 10px;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: #fff;
      -webkit-transform: translateX(70px);
      -ms-transform: translateX(70px);
      transform: translateX(70px);
      cursor: pointer;
      -webkit-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
      transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s; }
      .global-menu-close-btn:before {
        content: "\f00d";
        line-height: 32px;
        font-family: "Font Awesome 5 pro";
        font-size: 1.3rem;
        font-weight: 300;
        display: block;
        width: 100%;
        height: 100%;
        text-align: center; }
      .global-menu-close-btn i {
        display: none; } }

@media only screen and (max-width: 768px) {
  #header .inner .flxR {
    visibility: hidden;
    cursor: pointer;
    opacity: 0;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
    background: rgba(0, 0, 0, 0.6) !important;
    display: block !important;
    position: fixed;
    width: 100% !important;
    height: 100%;
    z-index: -1;
    top: 0;
    left: 0; }
    #header .inner .flxR .navwrap {
      display: block !important;
      background: #fff;
      width: 75%;
      height: 100%;
      opacity: 0;
      -webkit-transform: translateX(-240%);
      -ms-transform: translateX(-240%);
      transform: translateX(-240%);
      -webkit-transition: all .2s ease-out;
      transition: all .2s ease-out; }
      #header .inner .flxR .navwrap #hed_info .tel2 {
        border-right: 1px solid #ddd; }
      #header .inner .flxR .navwrap #hed_info .hoverbtn {
        background: #fff;
        border-bottom: 1px solid #ddd;
        width: 50%;
        margin: 0 !important; }
        #header .inner .flxR .navwrap #hed_info .hoverbtn p {
          height: 80px; }
        #header .inner .flxR .navwrap #hed_info .hoverbtn a {
          font-weight: 300;
          font-size: 0.5rem !important;
          padding: 0 !important;
          border: 0 !important;
          color: #999999 !important;
          transition: 1s;
          display: -webkit-box !important;
          display: -webkit-flex !important;
          display: -ms-flexbox !important;
          display: flex !important;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          width: 100%;
          height: 100%; }
          #header .inner .flxR .navwrap #hed_info .hoverbtn a i {
            font-weight: 300;
            font-size: 1.5rem !important;
            margin: 0 0 5px 0 !important; }
      #header .inner .flxR .navwrap #nav_global {
        margin-top: 0 !important; }
        #header .inner .flxR .navwrap #nav_global ul {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column; }
          #header .inner .flxR .navwrap #nav_global ul li {
            width: 100%;
            height: 80px;
            border-bottom: solid 1px #ddd; }
            #header .inner .flxR .navwrap #nav_global ul li a {
              display: -webkit-box;
              display: -webkit-flex;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-align: center;
              -webkit-align-items: center;
              -ms-flex-align: center;
              align-items: center;
              -webkit-box-pack: start;
              -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
              justify-content: flex-start;
              -webkit-box-orient: horizontal;
              -webkit-box-direction: normal;
              -webkit-flex-direction: row;
              -ms-flex-direction: row;
              flex-direction: row;
              padding-left: 20px;
              color: #999;
              line-height: 1;
              height: 100%;
              font-weight: 300;
              font-size: 0.8rem !important; }
              #header .inner .flxR .navwrap #nav_global ul li a::before {
                display: block;
                position: relative;
                z-index: 1;
                -webkit-transform-origin: center bottom;
                -ms-transform-origin: center bottom;
                transform-origin: center bottom;
                font-family: channel-icons;
                font-size: 1.7rem;
                font-family: "Font Awesome 5 pro";
                margin-right: 20px; }
            #header .inner .flxR .navwrap #nav_global ul li:nth-child(1) a::before {
              content: "\f015"; }
            #header .inner .flxR .navwrap #nav_global ul li:nth-child(2) a::before {
              content: "\f085"; }
            #header .inner .flxR .navwrap #nav_global ul li:nth-child(3) a::before {
              content: "\f733"; }
            #header .inner .flxR .navwrap #nav_global ul li:nth-child(4) a::before {
              content: "\f09e"; }
            #header .inner .flxR .navwrap #nav_global ul li:nth-child(5) a::before {
              content: "\f5a0"; }
      #header .inner .flxR .navwrap .subnav {
        flex-wrap: wrap;
        display: flex;
        align-items: center;
        justify-content: flex-end; }
        #header .inner .flxR .navwrap .subnav li {
          background: #3389b6;
          list-style: none;
          border-bottom: 1px solid #ddd;
          width: 50%;
          margin: 0 !important;
          height: 80px; }
          #header .inner .flxR .navwrap .subnav li span::before {
            display: block;
            position: relative;
            z-index: 1;
            -webkit-transform-origin: center bottom;
            -ms-transform-origin: center bottom;
            transform-origin: center bottom;
            font-family: channel-icons;
            font-size: 1.7rem;
            font-family: "Font Awesome 5 pro"; }
          #header .inner .flxR .navwrap .subnav li a::before {
            display: block;
            position: relative;
            z-index: 1;
            -webkit-transform-origin: center bottom;
            -ms-transform-origin: center bottom;
            transform-origin: center bottom;
            font-family: channel-icons;
            font-size: 1.7rem;
            font-family: "Font Awesome 5 pro"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(odd) {
            border-right: 1px solid #ddd; }
          #header .inner .flxR .navwrap .subnav li:nth-child(1) span::before {
            content: "\f085"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(2) a::before {
            content: "1"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(3) a::before {
            content: "2"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(4) a::before {
            content: "3"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(5) a::before {
            content: "4"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(6) a::before {
            content: "5"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(7) a::before {
            content: "6"; }
          #header .inner .flxR .navwrap .subnav li:nth-child(8) a::before {
            content: "7"; }
          #header .inner .flxR .navwrap .subnav li span, #header .inner .flxR .navwrap .subnav li a {
            font-weight: 300;
            font-size: 0.5rem !important;
            padding: 0 !important;
            border: 0 !important;
            color: #fff !important;
            transition: 1s;
            display: -webkit-box !important;
            display: -webkit-flex !important;
            display: -ms-flexbox !important;
            display: flex !important;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            width: 100%;
            height: 100%; } }
.MenuOpened {
  z-index: 10 !important;
  position: relative; }
  .MenuOpened .global-menu-btn {
    z-index: 0; }
  .MenuOpened .inner .flxR {
    z-index: 10 !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.7) !important; }
    .MenuOpened .inner .flxR .navwrap {
      opacity: 1 !important;
      -webkit-transform: translateX(0) !important;
      -ms-transform: translateX(0) !important;
      transform: translateX(0) !important;
      overflow-y: auto;
      height: 100vh !important; }
    .MenuOpened .inner .flxR .global-menu-close-btn {
      opacity: 1;
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0); }

#mainArea {
  position: relative;
  margin-bottom: 100px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    #mainArea {
      margin-bottom: 50px;
      margin-top: 85px; } }
  @media only screen and (max-width: 640px) {
    #mainArea {
      margin-bottom: 30px;
      margin-top: 58px; } }
  #mainArea .h1wrap {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1;
    background: url(../images/common/maintxt.png) no-repeat center; }
    #mainArea .h1wrap .h1 {
      display: table;
      height: 100%;
      width: 100%; }
      #mainArea .h1wrap .h1 h1 {
        vertical-align: middle;
        display: table-cell;
        color: #333;
        font-weight: 700;
        line-height: 1.7em;
        font-size: 40px;
        font-size: 3.3333333333vw; }
        @media only screen and (min-width: 1200px) {
          #mainArea .h1wrap .h1 h1 {
            font-size: 40px; } }
        #mainArea .h1wrap .h1 h1 span {
          display: block;
          font-size: 50px;
          font-size: 4.1666666667vw; }
          @media only screen and (min-width: 1200px) {
            #mainArea .h1wrap .h1 h1 span {
              font-size: 50px; } }
  #mainArea .slick-slide {
    background: #000; }
    #mainArea .slick-slide img {
      opacity: 0.6; }
  #mainArea .slick-center img {
    opacity: 1; }

#local-keyvisual {
  position: relative; }
  #local-keyvisual h1 {
    letter-spacing: 0.1em;
    color: #fff;
    font-size: 3em;
    font-weight: 700;
    z-index: 1;
    position: relative;
    text-align: left;
    text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
    background: rgba(0, 0, 0, 0.3);
    text-align: center; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      #local-keyvisual h1 {
        font-size: 2.5em; } }
    @media only screen and (max-width: 640px) {
      #local-keyvisual h1 {
        font-size: 2em; } }
    #local-keyvisual h1 span {
      display: block;
      padding: 150px 0; }
      @media screen and (min-width: 469px) and (max-width: 768px) {
        #local-keyvisual h1 span {
          padding: 100px 0; } }
      @media only screen and (max-width: 640px) {
        #local-keyvisual h1 span {
          padding: 50px 0; } }
      #local-keyvisual h1 span:empty {
        display: none; }

#local-keyvisual #local-keyvisual-bg, #local-keyvisual .local-keyvisual-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-size: cover;
  background-position: center center; }

body.fixed {
  position: fixed;
  width: 100%; }

footer#global_footer {
  width: 100%;
  min-width: 100% !important;
  height: auto;
  margin-top: auto; }
  footer#global_footer #footer .contactwrap {
    background: url(../images/common/bg.jpg) no-repeat center;
    background-size: cover;
    padding: 50px 0; }
    footer#global_footer #footer .contactwrap .inner {
      background: rgba(0, 59, 128, 0.6);
      padding: 100px; }
      @media only screen and (max-width: 768px) {
        footer#global_footer #footer .contactwrap .inner {
          padding: 50px; } }
      footer#global_footer #footer .contactwrap .inner dl {
        margin-bottom: 50px; }
        footer#global_footer #footer .contactwrap .inner dl dt {
          color: #fff;
          font-weight: 700;
          line-height: 1;
          margin-bottom: 30px;
          font-size: 60px;
          font-size: 5vw; }
          @media only screen and (min-width: 1200px) {
            footer#global_footer #footer .contactwrap .inner dl dt {
              font-size: 60px; } }
        footer#global_footer #footer .contactwrap .inner dl dd {
          color: #fff; }
      footer#global_footer #footer .contactwrap .inner .contbnr {
        display: flex;
        justify-content: space-evenly;
        align-items: center; }
        @media only screen and (max-width: 768px) {
          footer#global_footer #footer .contactwrap .inner .contbnr {
            display: block; } }
        @media only screen and (max-width: 768px) {
          footer#global_footer #footer .contactwrap .inner .contbnr .tel {
            margin-bottom: 20px; } }
  footer#global_footer #copy {
    width: 100%;
    display: block; }
    footer#global_footer #copy a {
      color: #000;
      text-decoration: none; }
      footer#global_footer #copy a:hover {
        opacity: 0.6; }

.cont_1 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 100px; }
  @media only screen and (max-width: 768px) {
    .cont_1 {
      margin-bottom: 50px; } }
  @media only screen and (max-width: 640px) {
    .cont_1 {
      display: block; } }
  .cont_1 .flxL {
    width: 37%; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .cont_1 .flxL {
        width: 35%; } }
    @media only screen and (max-width: 640px) {
      .cont_1 .flxL {
        width: 100%;
        margin-bottom: 20px; } }
  .cont_1 .flxR {
    width: 63%; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .cont_1 .flxR {
        width: 63%; } }
    @media only screen and (max-width: 640px) {
      .cont_1 .flxR {
        width: 100%; } }

.btn a {
  min-width: 200px;
  display: inline-block;
  padding: 10px;
  border: 1px solid #333;
  color: #333;
  text-align: center;
  transition: 1s; }
  .btn a:hover {
    background: #000;
    color: #fff; }

.cont_2 {
  padding-top: 100px;
  position: relative;
  margin-bottom: 100px; }
  @media only screen and (max-width: 768px) {
    .cont_2 {
      margin-bottom: 50px;
      padding-top: 50px; } }
  .cont_2 .flx {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 30px; }
    @media only screen and (max-width: 768px) {
      .cont_2 .flx {
        margin-bottom: 20px; } }
    @media only screen and (max-width: 640px) {
      .cont_2 .flx {
        display: block; } }
    .cont_2 .flx .flxL {
      width: 33%; }
      @media only screen and (max-width: 640px) {
        .cont_2 .flx .flxL {
          width: 100%; } }
    .cont_2 .flx .flxR {
      width: 65%; }
      @media only screen and (max-width: 640px) {
        .cont_2 .flx .flxR {
          width: 100%; } }
  @media only screen and (max-width: 640px) {
    .cont_2 .inner2 {
      display: block !important; } }
  .cont_2 .inner2 .box {
    width: 50%; }
    @media only screen and (max-width: 640px) {
      .cont_2 .inner2 .box {
        width: 100%;
        margin-bottom: 20px; } }
    .cont_2 .inner2 .box > div {
      position: relative;
      overflow: hidden;
      height: 18vw; }
      @media only screen and (max-width: 640px) {
        .cont_2 .inner2 .box > div {
          height: 40vw; } }
      .cont_2 .inner2 .box > div .img1 {
        background: url(../images/common/img_9.jpg) center;
        background-size: cover;
        height: 100%;
        transition: -webkit-transform 700ms;
        transition: transform 700ms;
        transition: transform 700ms, -webkit-transform 700ms; }
        .cont_2 .inner2 .box > div .img1:hover {
          -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }
        .cont_2 .inner2 .box > div .img1 a {
          display: block;
          height: 100%;
          width: 100%;
          opacity: 1; }
          .cont_2 .inner2 .box > div .img1 a span {
            text-align: center;
            width: 100%;
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            color: #fff;
            font-weight: 700;
            pointer-events: none;
            font-size: 40px;
            font-size: 3.3333333333vw; }
            @media only screen and (min-width: 1200px) {
              .cont_2 .inner2 .box > div .img1 a span {
                font-size: 40px; } }
            .cont_2 .inner2 .box > div .img1 a span::after {
              content: "";
              background: #fff;
              height: 5px;
              display: block;
              margin: 20px 40% 0; }
              @media only screen and (max-width: 640px) {
                .cont_2 .inner2 .box > div .img1 a span::after {
                  margin: 0 40%; } }
      .cont_2 .inner2 .box > div .img2 {
        background: url(../images/common/img_10.jpg) center;
        background-size: cover;
        height: 100%;
        transition: -webkit-transform 700ms;
        transition: transform 700ms;
        transition: transform 700ms, -webkit-transform 700ms; }
        .cont_2 .inner2 .box > div .img2:hover {
          -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }
        .cont_2 .inner2 .box > div .img2 a {
          display: block;
          height: 100%;
          width: 100%;
          opacity: 1; }
          .cont_2 .inner2 .box > div .img2 a span {
            text-align: center;
            width: 100%;
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            color: #fff;
            font-weight: 700;
            pointer-events: none;
            font-size: 40px;
            font-size: 3.3333333333vw; }
            @media only screen and (min-width: 1200px) {
              .cont_2 .inner2 .box > div .img2 a span {
                font-size: 40px; } }
            .cont_2 .inner2 .box > div .img2 a span::after {
              content: "";
              background: #fff;
              height: 5px;
              display: block;
              margin: 20px 40% 0; }
              @media only screen and (max-width: 640px) {
                .cont_2 .inner2 .box > div .img2 a span::after {
                  margin: 0 40%; } }
  .cont_2 #part {
    background-color: #e4e4ea;
    z-index: -1;
    top: 0;
    left: 0;
    position: absolute;
    width: 50%;
    height: 90%;
    overflow: hidden; }
    @media only screen and (max-width: 640px) {
      .cont_2 #part {
        width: 90%; } }

/* box */
.works1 {
  text-align: center;
  margin-left: -3.2258064516%; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .works1 {
      margin-left: -3.2258064516%; } }
  @media only screen and (max-width: 640px) {
    .works1 {
      margin-left: -2.439024390243902% !important; } }
  .works1 .box {
    width: 21.7741935484%;
    margin-left: 3.2258064516%;
    margin-bottom: 3.2258064516%; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .works1 .box {
        width: 21.7741935484%;
        margin-left: 3.2258064516%;
        display: block; } }
    @media only screen and (max-width: 640px) {
      .works1 .box {
        width: 47.5609756097561% !important;
        margin-left: 2.439024390243902% !important; } }
    .works1 .box img {
      width: 100% !important; }
    .works1 .box a {
      background: #ccc;
      padding: 15px;
      display: block;
      color: #fff; }

/* box */
.works2 {
  text-align: center;
  margin-left: -3.1476997579%; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .works2 {
      margin-left: -3.1476997579%; } }
  @media only screen and (max-width: 640px) {
    .works2 {
      margin-left: 0 !important; } }
  .works2 .box {
    width: 30.1856335755%;
    margin-left: 3.1476997579%;
    margin-bottom: 3.1476997579%; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .works2 .box {
        width: 30.1856335755%;
        margin-left: 3.1476997579%;
        display: block; } }
    @media only screen and (max-width: 640px) {
      .works2 .box {
        width: 100% !important;
        margin-left: 0 !important; } }
    .works2 .box img {
      width: 100% !important; }

.cont_3 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 100px; }
  @media only screen and (max-width: 768px) {
    .cont_3 {
      margin-bottom: 50px;
      display: block; } }
  .cont_3 .flxL {
    width: 20%; }
    @media only screen and (max-width: 768px) {
      .cont_3 .flxL {
        width: 100%;
        margin-bottom: 30px; } }
  .cont_3 .flxR {
    width: 70%; }
    @media only screen and (max-width: 768px) {
      .cont_3 .flxR {
        width: 100%; } }

/*blog*/
.blog2 .blog_photo, .blog2 .detail {
  display: none; }

.blog2 .blog_date {
  float: left;
  width: 15%;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  background: #2c2e30;
  padding: 5px 10px;
  color: #fff !important; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .blog2 .blog_date {
      width: 25%; } }
  @media only screen and (max-width: 640px) {
    .blog2 .blog_date {
      width: 100%;
      float: none; } }

.blog2 h3 {
  color: #000;
  float: right;
  width: 84%;
  margin-bottom: 0;
  margin-top: 5px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .blog2 h3 {
      width: 70%; } }
  @media only screen and (max-width: 640px) {
    .blog2 h3 {
      width: 100%;
      float: none;
      text-align: center; } }

.blog2 h3 a {
  font-size: 13px;
  color: #333;
  text-decoration: none; }

.blog2 h3 a:hover {
  color: #000;
  text-decoration: none;
  opacity: 1; }

.blog_list h3 span {
  font-weight: 500; }

.blog2 .blog_text {
  width: 100% !important;
  padding: 0 !important; }

.blog2 .blog_list {
  border: 0; }

.blog2 .blog_list > div {
  padding-bottom: 25px;
  margin-bottom: 25px; }

div.blog_list > div:last-child {
  margin-bottom: 0;
  padding-bottom: 0; }

.inst {
  margin: 0 auto;
  max-width: 1200px; }
  @media only screen and (max-width: 1200px) {
    .inst {
      padding: 0 10px; } }
  .inst .sns_list {
    border: 0 !important;
    text-align: center;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    margin-left: -3.3591731266%; }
    @media only screen and (max-width: 640px) {
      .inst .sns_list {
        flex-wrap: wrap;
        margin-left: 0;
        justify-content: space-between; } }
    .inst .sns_list > div {
      width: 30.1856335755%;
      margin-left: 3.1476997579%;
      margin-bottom: 3.1476997579%; }
      @media screen and (min-width: 469px) and (max-width: 768px) {
        .inst .sns_list > div {
          width: 30.1856335755%;
          margin-left: 3.1476997579%; } }
      @media only screen and (max-width: 640px) {
        .inst .sns_list > div {
          width: 49% !important;
          margin-left: 0 !important; } }
      .inst .sns_list > div img {
        width: 100% !important; }
      .inst .sns_list > div .sns_photo {
        width: 100% !important;
        padding: 0; }
      .inst .sns_list > div .sns_text {
        display: none; }

/* title */
.midashi h2 {
  color: #333;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  font-size: 60px;
  font-size: 5vw; }
  @media only screen and (min-width: 1200px) {
    .midashi h2 {
      font-size: 60px; } }

.midashi2 {
  margin-left: 20%; }
  @media only screen and (max-width: 640px) {
    .midashi2 {
      margin-left: 0; } }
  .midashi2 h2 {
    color: #333;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    display: inline-block;
    font-size: 60px;
    font-size: 5vw; }
    @media only screen and (min-width: 1200px) {
      .midashi2 h2 {
        font-size: 60px; } }
    .midashi2 h2::after {
      content: "";
      background: #333;
      height: 5px;
      width: 60%;
      display: block;
      margin-top: 20px; }
      @media only screen and (max-width: 640px) {
        .midashi2 h2::after {
          margin: 20px auto 30px; } }

.midashi3 h2 {
  color: #333;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  font-size: 60px;
  font-size: 5vw; }
  @media only screen and (min-width: 1200px) {
    .midashi3 h2 {
      font-size: 60px; } }
  .midashi3 h2 span {
    font-size: 55px;
    font-size: 4.5833333333vw; }
    @media only screen and (min-width: 1200px) {
      .midashi3 h2 span {
        font-size: 55px; } }
  @media only screen and (max-width: 768px) {
    .midashi3 h2 br {
      display: none; } }

.midashi4 h2 {
  font-weight: 700;
  font-size: 20px;
  border-top: 2px solid #122b3f;
  border-bottom: 2px solid #122b3f;
  padding: 20px 0; }

.pan {
  margin-bottom: 30px; }
  @media only screen and (max-width: 640px) {
    .pan {
      display: none; } }

.center {
  text-align: center !important; }

/* box */
.case2 {
  text-align: center;
  margin-left: -3.1476997579%; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .case2 {
      margin-left: -3.1476997579%; } }
  @media only screen and (max-width: 640px) {
    .case2 {
      margin-left: 0 !important; } }
  .case2 .box {
    width: 30.1856335755%;
    margin-left: 3.1476997579%;
    margin-bottom: 3.1476997579%; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .case2 .box {
        width: 30.1856335755%;
        margin-left: 3.1476997579%;
        display: block; } }
    @media only screen and (max-width: 640px) {
      .case2 .box {
        width: 100% !important;
        margin-left: 0 !important; } }
    .case2 .box img {
      width: 100% !important; }

@media only screen and (max-width: 640px) {
  .form_wrap dl {
    text-align: center !important;
    display: block !important; }
    .form_wrap dl dt {
      display: block !important;
      border-right: 1px solid #ccc !important;
      width: 100% !important; }
    .form_wrap dl dd {
      width: 100% !important; } }
.step {
  display: flex !important;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap; }
  @media only screen and (max-width: 640px) {
    .step {
      display: block !important; } }
  .step dl {
    width: 48%;
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    display: block !important; }
    @media only screen and (max-width: 640px) {
      .step dl {
        width: 100%; } }
    .step dl dt {
      background: none !important;
      font-size: 16px;
      font-weight: 700;
      display: block !important;
      border: 0px !important;
      width: 100% !important; }
    .step dl dd {
      width: 100% !important;
      border: 0px !important; }

.qa dl {
  margin-bottom: 30px;
  color: #5d627b;
  display: block !important; }
  @media only screen and (max-width: 640px) {
    .qa dl {
      text-align: left !important; } }
  .qa dl dt {
    font-size: 16px;
    font-weight: 700;
    display: block !important;
    border: 0px !important;
    width: 100% !important; }
    .qa dl dt:before {
      content: "Q";
      font-size: 18px;
      margin-right: 7px; }
  .qa dl dd {
    width: 100% !important;
    border: 0px !important; }

.p-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  z-index: -1; }
  .p-modal.is-open {
    visibility: visible;
    opacity: 1;
    z-index: 100; }

@media screen and (min-width: 469px) and (max-width: 768px) {
  div.wrap {
    padding: 0 10px !important;
    width: 100%;
    margin: 0 auto; }
    div.wrap aside {
      padding: 0 !important;
      min-width: auto !important; }
    div.wrap #contents {
      width: 73%;
      min-width: auto !important; }
      div.wrap #contents article {
        padding: 0 !important; } }
@media only screen and (max-width: 640px) {
  div.wrap {
    padding: 0 10px !important;
    width: 100%;
    margin: 0 auto; }
    div.wrap aside {
      padding: 0 !important;
      min-width: auto !important; }
    div.wrap #contents {
      width: 100%;
      min-width: auto !important; }
      div.wrap #contents article {
        padding: 0 !important; } }

/*# sourceMappingURL=common2.css.map */
