@charset "UTF-8";
/*
	Filename: common
	Version: 1.0.1
*/
/*-----------------------------------------------------
	font
------------------------------------------------------*/
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
/*-----------------------------------------------------
  header
------------------------------------------------------*/
.header-container {
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
  background-color: transparent;
}

.header-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-image: url(../img/header-bg.png);
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  background-color: transparent;
  padding: 30px;
  padding: 4%;
}

.header-box_pc-nav {
  display: none;
}

.header-box_logo {
  width: 27%;
  width: 68%;
}

.sp-header-nav_box_ham {
  position: relative;
  z-index: 10;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
  display: block;
  width: 50px;
  height: 40px;
}

.sp-header-nav_box_ham_line {
  content: "";
  background-color: white;
  display: block;
  width: 30px;
  height: 2px;
  position: absolute;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}

.line-1 {
  top: 10px;
  right: 10px;
}

.line-2 {
  top: 20px;
  right: 10px;
}

.line-3 {
  top: 30px;
  right: 10px;
}

.clicked .line-1 {
  -webkit-transform: rotate(315deg);
          transform: rotate(315deg);
  top: 20px;
  background-color: white;
}

.clicked .line-2 {
  opacity: 0;
}

.clicked .line-3 {
  -webkit-transform: rotate(405deg);
          transform: rotate(405deg);
  top: 20px;
  background-color: white;
}

.sp-nav_nav-list {
  position: fixed;
  width: 100%;
  top: -2000px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  overflow: scroll;
  height: 100%;
  height: 100vh;
  background-color: #3C3C3C;
  padding: 6.3% 6.3%;
}

.sp-nav_nav-list_logo-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 20%;
  border-bottom: 1px  solid #999999;
}

.sp-nav_nav-list_logo-box_img {
  width: 70%;
}

.sp-nav_nav-list_logo-box_text {
  color: white;
  line-height: 1;
}

.sp-nav_nav-list_box {
  list-style: none;
  text-align: left;
  height: 100%;
}

.sp-nav_nav-list_box_list {
	position: relative;
  margin: 0 auto;
  width: 100%;
  color: white;
  border-bottom: 1px  solid #999999;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  cursor: pointer;
}

.sp-nav_nav-list_box_list:hover {
  background-color: #999999;
  opacity: 0.7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.sp-nav_nav-list_box_list:nth-of-type(1), .sp-nav_nav-list_box_list:nth-of-type(2){
  padding-top: 0%;
  padding-bottom: 0%;
  border-bottom: 0;
}

.sp-nav_nav-list_box_list a {
  padding: 4% 0;
  display: block;
}

.sp-nav_nav-list_box_list_text {
	position: relative;
  padding-bottom: 4%;
  border-bottom: 1px  solid #999999;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sp-nav_nav-list_box_list span {
  position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.sp-nav_nav-list_box_list_taggle-menu_list {
	position: relative;
  padding: 0% 2%;
  border-bottom: 1px  solid #999999;
  width: 100%;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.sp-nav_nav-list_box_list_taggle-menu_list a {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sp-nav_nav-list_box_list_taggle-menu_list:hover {

  background-color: #999999;
  opacity: 0.7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.sp-nav_nav-list_box_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
}

.sp-nav_nav-list_link-box {
  text-align: center;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  border: white solid 1px;
  background-color: #333333;
  margin-top: 5%;
}

.sp-nav_nav-list_link-box_text {
  color: white;
  padding: 4.5% 0;
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

.sp-nav_nav-list_link-box:hover {
  background-color: #999999;
  opacity: 0.7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.hover-on {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  padding-top: 3.5%;
}

.hover-on:hover {
  background-color: #999999;
  opacity: 0.7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.hover-none:hover {
  background-color: transparent !important;
  opacity: 1 !important;
}

.nav-opned {
  top: 68px;
  top: 0;
  left: 0;
}

.white {
  color: white;
}

.bg-color {
  background-color: rgba(28, 26, 25, 0.8);
  background-color: none;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

@media (min-width: 767px) {
  .header-box {
    padding: 15px 15px 0 15px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .header-box_logo {
    width: 20%;
    width: 40%;
    max-width: 288px;
  }
  .header-box_logo img {
    width: 100%;
  }
  .header-box_pc-nav {
    display: block;
    width: 80%;
    width: 100%;
  }
  .header-box_pc-nav_list-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .header-box_pc-nav_list-box a {
    color: white;
  }
  .header-box_pc-nav_list-box_list {
    width: 16%;
    position: relative;
    text-align: center;
    padding-right: 2%;
    padding: 0;
    line-height: 1;
    white-space: nowrap;
  }
  .header-box_pc-nav_list-box_list:nth-last-of-type(1) {
    padding-right: 0;
  }
  .header-box_pc-nav_list-box_list a {
    display: block;
  }
  .header-box_pc-nav_list-box_list_text {
    font-size: 14px;
    padding: 30px 10px;
  }
  .sp-nav_nav-list {
    display: none;
  }
  .sp-header-nav_box_ham {
    display: none;
  }
}

@media (min-width: 1199px) {
  .header-box {
    padding: 0px 20px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header-box_logo {
    overflow: visible;
    width: 288px;
    margin-bottom: 0;
    max-width: 100%;
  }
  .header-box_pc-nav {
    width: 75%;
    max-width: 1100px;
  }
  .header-box_pc-nav_list-box {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .header-box_pc-nav_list-box_list {
    width: auto;
    padding: 0;
  }
  .header-box_pc-nav_list-box_list_text {
    font-size: 16px;
    padding: 40px 10px 20px 10px;
  }
}

.header-box {
  background-image: url(../img/header-bg.png);
}

.js-wh-header {
  background-image: none;
  background-color: white;
  opacity: 0;
  -webkit-animation-name: fadein-bottom;
          animation-name: fadein-bottom;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadein-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadein-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.js-header-color {
  color: #141414 !important;
}

.js-header-color::before {
  background-color: #141414 !important;
}

.ham-line-color {
  background-color: #141414;
}

body.noscroll {
  overflow: hidden;
}

@media (min-width: 767px) {
  .hover-bg {
    position: relative;
  }
  .hover-bg:hover {
    background-color: rgba(0, 0, 0, 0.6);
  }
  .hover-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    width: 200px;
    display: block;
    padding: 30px;
    text-align: left;
    display: none;
  }
  .hover-menu_list {
    margin-bottom: 20px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .hover-menu_list:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  .hover-menu_list:hover {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  .hover-menu_list_text {
    font-size: 14px;
  }
}

@media (min-width: 1199px) {
  .hover-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    width: 200px;
    padding: 30px;
    text-align: left;
  }
	#openmenu2.hover-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    width: 300px;
    padding: 30px;
    text-align: left;
  }
  .hover-menu_list {
    margin-bottom: 20px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .hover-menu_list:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  .hover-menu_list:hover {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
}

.menu-visible {
  display: block;
}

#mouseaction .js-header-color:hover, #mouseaction2 .js-header-color:hover{
  color: white !important;
}

#openmenu .js-hover-white, #openmenu2 .js-hover-white {
  color: white !important;
}

.js-header-white {
  color: white !important;
}
body.noscroll {
  overflow: hidden;
}

/*-----------------------------------------------------
  footer
------------------------------------------------------*/
.footer-sp-box {
	position: relative;
  background-color: #3C3C3C;
	font-size: 14px;
  text-align: center;
  color: white;
	z-index: +1;
}
.footer-sp-box .sp-nav_nav-list {
  position: relative;
  width: 100%;
	height: auto;
  background-color: #3C3C3C;
  padding: 6.3% 6.3%;
	overflow: auto;
}

.footer-sp-box .sp-nav_nav-list_logo-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 10%;
  border-bottom: 1px  solid #999999;
}

.footer-sp-box .sp-nav_nav-list_logo-box_img {
  width: 70%;
}

.footer-sp-box .sp-nav_nav-list_logo-box_text {
  color: white;
  line-height: 1;
}

.footer-sp-box .sp-nav_nav-list_box {
  list-style: none;
  text-align: left;
  height: 100%;
}

.footer-sp-box .sp-nav_nav-list_box_list {
	position: relative;
  margin: 0 auto;
  width: 100%;
  color: white;
  border-bottom: 1px  solid #999999;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  cursor: pointer;
}

.footer-sp-box .sp-nav_nav-list_box_list:hover {
  background-color: #999999;
  opacity: 0.7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.footer-sp-box .sp-nav_nav-list_box_list:nth-of-type(1), .footer-sp-box .sp-nav_nav-list_box_list:nth-of-type(2){
  padding-top: 0%;
  padding-bottom: 0%;
  border-bottom: 1px  solid #999999;
}
.bordernone {
	border-bottom: 0 !important;
}
.footer-sp-box .sp-nav_nav-list_box_list a {
  padding: 4% 0;
  display: block;
}
.pd {
	padding: 0 !important;
}
.footer-sp-box .sp-nav_nav-list_box_list_text {
	position: relative;
  padding-bottom: 4%;
  border-bottom: 1px  solid #999999;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-sp-box .sp-nav_nav-list_box_list span {
  position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.footer-sp-box .sp-nav_nav-list_box_list_taggle-menu_list {
  padding: 0% 2%;
  border-bottom: 1px  solid #999999;
  width: 100%;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.footer-sp-box .sp-nav_nav-list_box_list_taggle-menu_list a {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-sp-box .sp-nav_nav-list_box_list_taggle-menu_list:hover {
  background-color: none !important;
  opacity: 1 !important;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.footer-sp-box .sp-nav_nav-list_box_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
}

.footer-sp-box .sp-nav_nav-list_link-box {
  text-align: center;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  border: white solid 1px;
  background-color: #333333;
  margin-top: 5%;
}

.footer-sp-box .sp-nav_nav-list_link-box_text {
  color: white;
  padding: 4.5% 0;
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

.footer-sp-box .sp-nav_nav-list_link-box:hover {
  background-color: none !important;
  opacity: 1 !important;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.footer-sp-box small {
  display: block;
	background: #000;
  padding: 20px 10px;
}

.footer-pc-box_outer {
  display: none;
}
.pagetop {
	width: 100%;
	text-align: center;
}
.pagetop img {
	width: 35px;
	margin: 0 auto;
	padding: 20px 0 10px;
}
@media (min-width: 767px) {
  footer {
    background-color: #4C4C4C;
    position: relative;
    z-index: 3;
  }
  .footer-sp-box {
    display: none;
  }
  .footer-pc-box_outer {
    display: block;
    padding: 6% 20px 8.75% 20px;
    color: white;
    max-width: 1220px;
    margin: 0 auto;
  }
  .footer-pc-box {
    max-width: 1220px;
    margin: 0 auto;
    color: white;
    margin-bottom: 1.5%;
  }
  .footer-pc-box_left-box {
    width: 56.7%;
  }
  .footer-pc-box_left-box_logo {
    margin-bottom: 4%;
  }
  .footer-pc-box_left-box_logo_img {
		max-width: 277px;
    margin-right: 20px;
  }
  .footer-pc-box_left-box_link-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    border-bottom: solid white 1px;
    padding-bottom: 5%;
    margin-bottom: 4%;
  }
  .footer-pc-box_left-box_link-box_list-box {
    margin-right: 10%;
  }
  .footer-pc-box_left-box_link-box_list-box:last-of-type {
    margin-right: 0;
  }
	.ml20 {
		margin-left: 20px;
	}
	.mb20 {
		margin-bottom: 36px !important;
	}
  .footer-pc-box_left-box_link-box_list-box a {
    color: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
		letter-spacing: -0.01em;
  }
  .footer-pc-box_left-box_link-box_list-box span {
    display: block;
    margin-right: 7px;
  }
  .footer-pc-box_left-box_link-box_list-box_list {
    letter-spacing: 0.08em;
		font-size: 16px;
    font-weight: 500;
    color: white;
    margin-bottom: 5px;
    white-space: nowrap;
  }
  .footer-pc-box_left-box_small-box {
    text-align: center;
    background-color: #000000;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 20px 0;
  }
  .footer-pc-box_right-box {
    width: 36%;
  }
  .footer-pc-box_right-box_text-box_list {
    font-family: 'Montserrat', sans-serif;
    color: white;
    margin-bottom: 7%;
  }
  .footer-pc-box_right-box_text-box_list:nth-last-of-type(1) {
    margin-bottom: 2%;
  }
  .footer-pc-box_right-box_text-box_list_name {
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.66;
  }
  .footer-pc-box_right-box_text-box_list_address {
    line-height: 2.1;
    letter-spacing: 0.1em;
  }
  .footer-pc-box_right-box_text-box_list_tel {
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1198px) {
  .footer-pc-box_outer {
    padding: 50px 20px;
    max-width: 100%;
  }
  .footer-pc-box {
    max-width: 100%;
    margin-bottom: 1.5%;
  }
  .footer-pc-box_left-box_logo_img {
		max-width: 23.122vw;
    margin-right: 1.669vw;
  }
  .footer-pc-box_left-box_link-box_list-box span {
    margin-right: 0.584vw;
  }
  .footer-pc-box_left-box_link-box_list-box_list {
		font-size: 1.336vw;
    margin-bottom: 0.417vw;
  }
  .footer-pc-box_left-box_small-box {
    padding: 1.669vw 0;
  }
}
@media screen and (max-width: 767px) {
	.footer-pc-box_right-box {
    width: 100%;
		padding: 20px 6.3% 50px;
		text-align: left;
  }
  .footer-pc-box_right-box_text-box_list {
    font-family: 'Montserrat', sans-serif;
    color: white;
    margin-bottom: 7%;
  }
	.footer-pc-box_right-box_text-box_list a {
    color: white;
  }
  .footer-pc-box_right-box_text-box_list:nth-last-of-type(1) {
    margin-bottom: 2%;
  }
  .footer-pc-box_right-box_text-box_list_name {
		font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.66;
  }
  .footer-pc-box_right-box_text-box_list_address {
		font-size: 12px;
    line-height: 2.1;
    letter-spacing: 0.1em;
  }
  .footer-pc-box_right-box_text-box_list_tel {
		font-size: 24px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.08em;
  }
	.footer-pc-box_right-box_text-box_list_tel span{
		font-size: 12px;
		letter-spacing: 0.01em;
  }
}
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------
	サブページ
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------------
  ヘッダー
------------------------------------------------------*/
.subpages .header-box {
  background-image: none; 
  background-color: #fff;
}
.subpages .sp-header-nav_box_ham_line {
  background-color: #000;
}
.subpages .clicked .line-1 {
  background-color: white;
}

.subpages .clicked .line-3 {
  background-color: white;
}

.subpages .js-color-black {
    color: #000;
}

.js-hover-text:hover {
    color: #fff;
}

.js-hover-text2:hover {
    color: #fff;
}

@media screen and (max-width: 767px) {
	.sub__nav {
		display: none;
	}
	.nav-open {
		padding: 15px;
		color: #fff;
		font-size: 20px;
		background: #2073c8;
		position: relative;
	}
	.link_tog {
		position: absolute;
		top: -5px;
		right: 0;
		background: none;
	}
	.link_tog::before {
		content: "+";
	}
	.active__link.link_tog::before {
		content: "ー";
	}
}

/*-----------------------------------------------------
  footer contact
------------------------------------------------------*/
.footer_contact {
  width: 100%;
  height: 350px;
  position: relative;
  margin-bottom: 10px;
  padding: 30px;
  background: url("../img/footer_contact.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.footer_contact a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  z-index: +1;
}
.footer_contact .inner {
  width: 100%;
  position: relative;
  padding: 118px 0 95px;
  border: 1px solid #fff;
  text-align: center;
}
.footer_contact .inner h2 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 40px;
  color: #fff;
  letter-spacing: 0.27em;
  line-height: 0.95;
}
.footer_contact .inner h2 span {
  font-family: noto-sans-cjk-jp, sans-serif !important;
  font-weight: 400 !important;
  font-size: 20px;
  letter-spacing: 0em;
}

/*-----------------------------------------------------
  Elements
------------------------------------------------------*/
.subpages #main p {
  font-weight: 500;
  line-height: 2.2;
}
.subpages #main ul li {
  font-weight: 500;
  line-height: 2.2;
}
.subpages #main table {
  border-collapse: collapse;
  border-spacing: 0;
}
/*-----------------------------------------------------
  color
------------------------------------------------------*/
.green {
  color: #32B4B4;
}
.blue {
  color: #2896BE;
}
.green_bg {
  background: #32B4B4;
}
.blue_bg {
  background: #2896BE;
}
.green_border {
  border: 2px solid #32B4B4;
}
.blue_border {
  border: 2px solid #2896BE;
}
/*-----------------------------------------------------
  レイアウト
------------------------------------------------------*/
body.subpages {
  margin-top: 0;
}
body.subpages #main {
  margin-bottom: 180px;
}
.sp {
  display: none;
}
.flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
}
.wrap {
  max-width: 1300px;
  margin: 0 auto;
}

/*-----------------------------------------------------
  ページタイトル
------------------------------------------------------*/
.page_title {
  width: 100%;
  height: 500px;
  position: relative;
  top: 78px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  text-align: center;
}
.page_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(60,60,60, .6);
  mix-blend-mode: hard-light;
}
.page_title h1 {
  width: 100%;
  position: absolute;
  top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 55px;
  color: #fff;
  letter-spacing: 0.27em;
  text-indent: 0.27em;
  line-height: 0.9;
}
.page_title h1 span {
  font-family: noto-sans-cjk-jp, sans-serif !important;
  font-size: 25px;
  font-weight: 400 !important;
  letter-spacing: 0em;
}
/*-----------------------------------------------------
  ページタイトル2
------------------------------------------------------*/
.page_title2 {
  width: 100%;
  height: 280px;
  position: relative;
  top: 91px;
  background-repeat: no-repeat;
  background-position: center center;
  text-align: center;
}
.page_title2 h1 {
  width: 100%;
  position: absolute;
  top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
  font-weight: 700;
  font-size: 25px;
  color: #fff;
  letter-spacing: -0.05em;
  text-indent: -0.05em;
  line-height: 1.7;
}
.page_title2 h1 span {
  font-size: 36px;
  font-style: normal;
}


/*-----------------------------------------------------
  事業領域共通
------------------------------------------------------*/
/*--サービスキーワード--*/
.service_key {
  width: 100%;
  margin-top: 80px;
  padding: 45px 50px;
  border: 1px solid #000;
  text-align: left;
}
.service_key h3 {
  margin-bottom: 15px;
  font-size: 20px;
}
.service_key ul li {
  position: relative;
  padding-left: 20px;
  font-size: 20px;
  color: #3c3c3c;
}
.service_key ul li::before {
  content: "▶";
  position: absolute;
  top: 0;
  left: 0;
}
.service_key .flex .left {
  width: 50%;
  border-right: 1px solid #B1B1B1;
}
.service_key .flex .right {
  width: 50%;
  padding-left: 55px;
}

/*-----------------------------------------------------
	ページネーション Works News
------------------------------------------------------*/
.pagination {
	width: 1000px;
  margin: 0 auto;
  text-align: right;
}
a.page-numbers,
.pagination .current {
  margin: 0 2px;
	padding: 10px;
	border: 2px solid #B1B1B1;
  font-size: 14px;
  font-weight: 700;
  color: #B1B1B1;
  letter-spacing: 0.05em;
  transition: .5s;
}
a:hover.page-numbers,
.pagination .current {
	border: 2px solid #3C3C3C;
  color: #3C3C3C;
  transition: .5s;
}
.pagination .current {
	border: 2px solid #3C3C3C;
	color: #3C3C3C;
}

.previous {
	width: 1000px;
  margin: 37px auto 0;
  padding-bottom: 20px;
}
.previous_link {
	width: 49%;
}
.previous span {
  width: 100%;
  display: block;
  padding: 23px;
  border: 1px solid #B1B1B1;
  font-size: 16px;
  color: #B1B1B1;
  text-align: center;
}
.previous a span {
  width: 100%;
  display: block;
  border: 1px solid #3C3C3C;
  color: #3C3C3C;
  text-align: center;
  transition: .5s;
}
.previous a:hover span {
  background: #3C3C3C;
  border: 1px solid #3C3C3C;
  color: #fff;
  transition: .5s;
}

.pagination .screen-reader-text,
.pagination .prev,
.pagination .next {
  display: none;
}

@media screen and (max-width: 1300px) {
	.wrap {
		max-width: 100%;
		margin: 0 auto;
		padding: 0 5%;
	}
}

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------
	768px~1198 vw1198
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1198px) {
  /*-----------------------------------------------------
    サブページ
  ------------------------------------------------------*/
  /*-----------------------------------------------------
    footer contact
  ------------------------------------------------------*/
  .footer_contact {
    height: 29.215vw;
    margin-bottom: 0.835vw;
    padding: 2.504vw;
  }
  .footer_contact .inner {
    padding: 9.85vw 0 7.93vw;
  }
  .footer_contact .inner h2 {
    font-size: 3.339vw;
  }
  .footer_contact .inner h2 span {
    font-size: 1.669vw;
  }
  /*-----------------------------------------------------
    レイアウト
  ------------------------------------------------------*/
  body.subpages #main {
    margin-bottom: 15.025vw;
  }
  .wrap {
    max-width: 100%;
  }
  /*-----------------------------------------------------
    ページタイトル
  ------------------------------------------------------*/
  .page_title {
    height: 41.736vw;
    top: 7.596vw;
  }
  .page_title h1 {
    font-size: 4.174vw;
  }
  .page_title h1 span {
    font-size: 1.669vw;
  }
  /*-----------------------------------------------------
    ページタイトル2
  ------------------------------------------------------*/
  .page_title2 {
    height: 23.372vw;
    top: 7.596vw;
    background-position: 70% center;
  }
  .page_title2 h1 {
    font-size: 2.087vw;
  }
  .page_title2 h1 span {
    font-size: 3.005vw;
  }


  /*-----------------------------------------------------
    事業領域共通
  ------------------------------------------------------*/
  /*--サービスキーワード--*/
  .service_key {
    margin-top: 6.678vw;
    padding: 3.756vw 4.174vw;
  }
  .service_key h3 {
    margin-bottom: 1.252vw;
    font-size: 1.669vw;
  }
  .service_key ul li {
    padding-left: 1.669vw;
    font-size: 1.336vw;
  }
  .service_key .flex .left {
    width: 50%;
  }
  .service_key .flex .right {
    width: 50%;
    padding-left: 4.591vw;
  }
  
  /*-----------------------------------------------------
    ページネーション Works News
  ------------------------------------------------------*/
  .pagination {
    width: 83.472vw;
  }
  a.page-numbers,
  .pagination .current {
    margin: 0 0.167vw;
    padding: 0.835vw;
    font-size: 1.169vw;
  }
  .previous {
    width: 83.472vw;
    margin: 3.088vw auto 0;
    padding-bottom: 1.669vw;
  }
  .previous span {
    padding: 1.92vw;
    font-size: 1.336vw;
  }

}

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------
	~767px vw767
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  /*-----------------------------------------------------
    サブページ
  ------------------------------------------------------*/
  /*-----------------------------------------------------
    footer contact
  ------------------------------------------------------*/
  .footer_contact {
    height: 45.632vw;
    margin-bottom: 1.304vw;
    padding: 3.911vw;
  }
  .footer_contact .inner {
    padding: 15.385vw 0 12.386vw;
  }
  .footer_contact .inner h2 {
    font-size: 5.215vw;
  }
  .footer_contact .inner h2 span {
    font-size: 2.608vw;
  }

  /*-----------------------------------------------------
    レイアウト
  ------------------------------------------------------*/
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  body.subpages #main {
    margin-bottom: 23.468vw;
  }
  .wrap {
    max-width: 100%;
    margin: 0;
    padding: 0 5%;
  }
  
  /*-----------------------------------------------------
    ページタイトル
  ------------------------------------------------------*/
  .page_title {
    height: 46.936vw;
    top: 9.257vw;
  }
  .page_title h1 {
    font-size: 7.823vw;
  }
  .page_title h1 span {
    font-size: 3.129vw;
  }
  /*-----------------------------------------------------
    ページタイトル2
  ------------------------------------------------------*/
  .page_title2 {
    height: 36.458vw;
    top: 19.698vw;
    background-position: 70% center;
  }
  .page_title2 h1 {
    font-size: 3.255vw;
  }
  .page_title2 h1 span {
    font-size: 4.688vw;
  }

  /*-----------------------------------------------------
    事業領域共通
  ------------------------------------------------------*/
  /*--サービスキーワード--*/
  .service_key {
    margin-top: 10.43vw;
    padding: 5.867vw 6.519vw;
  }
  .service_key h3 {
    margin-bottom: 1.956vw;
    font-size: 3.608vw;
  }
  .service_key ul li {
    padding-left: 3.608vw;
    font-size: 3.086vw;
  }
  .service_key .flex .left {
    width: 100%;
    border: none;
  }
  .service_key .flex .right {
    width: 100%;
    padding-left: 0;
  }
  
  /*-----------------------------------------------------
    ページネーション Works News
  ------------------------------------------------------*/
  .pagination {
    width: 100%;
    padding: 0 5%;
  }
  a.page-numbers,
  .pagination .current {
    margin: 0 0.261vw;
    padding: 1.304vw;
    font-size: 1.825vw;
  }
  .previous {
    width: 90%;
    margin: 4.824vw auto 0;
    padding-bottom: 2.608vw;
  }
  .previous_link {
    width: 100%;
    margin-bottom: 20px;
  }
  .previous span {
    padding: 2.999vw;
    font-size: 2.086vw;
  }
}

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------
	~375px vw375
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 375px) {
  .page_title {
    height: 46.933vw;
    top: 18.933vw;
  }
  .page_title h1 {
    font-size: 8vw;
  }
  .page_title h1 span {
    font-size: 3.2vw;
  }
}



