* {
  transition: .3s;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body,p,h1,h2,h3,h4,a,li,ul,dd,img,hr,strong,span,section,div,header,footer {
  margin: 0;
  padding: 0;
}

body {
  font-family:"Noto Sans Japanese",メイリオ,Meiryo,游ゴシック体,YuGothic,游ゴシック,Yu Gothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,Arial,verdana,sans-serif;
  font-size: .8rem;
  /* background: url(./img/bg.jpg); */
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: #fff;
}

.wrapper {
  width: 100%;
  margin: 0 auto;
}


ul {
  list-style: none;
}

#show {
  position: absolute;
  font-size: 30px;
  right: 40px;
  top: 30px;
  display: none;
}

.header-nav {
  /* display: flex; */
  position: fixed;
  justify-content: space-between;
  align-items: center;
  background: rgba(116, 73, 36, .9);
  /* background: rgba(44, 7, 7, .8); */
  width: 100%;
  z-index: 100;
  transition: .3s;
}

.nav-list a::after {
  content: attr(data-subtitle);
  display: block;
  font-size: 10px;
  margin-top: 4px;
  color: #fff;
  /* text-shadow: 2px 2px 2px #333; */
  text-align: center;
  /* margin-top: 3px; */
}

.open-list a::after {
  content: attr(data-subtitle);
  display: inline;
  font-size: 12px;
  color: #fff;
  /* text-shadow: 2px 2px 2px #333; */
  text-align: center;
  margin-left: 20px;
}

.logo {
  float: left;
  display: block;
  line-height: 40px;
  padding: 15px 10px 0 10px;
}

.logo a img {
  width: 180px;
  height: 60px;
}

.menu-open {
  display: none;
  user-select: none;
  position: fixed;
  /* right: -600px; */
  right: 0px;
  top: 88px;
  width: 50%;
  height: 100%;
  font-size: 20px;
  background: rgba(116, 73, 36, .9);
  /* background: rgba(44, 7, 7, .8); */
  z-index: 100001;
}

.hide {
  display: none;
}

.menu-open li:first-child {
  margin-left: 0px;
}

.menu-open li:not(:last-child) {
  margin-right: 0px;
}

.menu-open .nav-list {
  text-align: left;
  border-bottom: 1px solid #fff;
  padding: 10px 0 10px 20px;
}

.menu-open .nav-list:nth-child(7) {
  border-bottom: 2.5px solid #fff;
}

.menu-open li a  {
  color: #fff;
  padding: 5px 0;
  font-size: 14px;
}

.menu-open li a:hover {
  opacity: .5;
}

.header-nav-list {
  display: flex;
  margin-left: 250px;
  padding: 20px 0;
  align-items: center;
}

.header-nav-list li {
  line-height: 1;
  font-weight: bold;
  font-size: 14px;
}

.header-nav-list li:first-child {
  /* margin-left: -10px; */
}

.header-nav-list li:not(:last-child) {
  margin-right: 20px;
}

.header-nav-list li a {
  position: relative;
  display: inline-block;
  color: #fff;
  margin: 10px 10px 0 10px;
  padding-bottom: 10px;
  letter-spacing: 1.5px;
  font-size: 16px;
}

.header-nav-list li a:hover {
  opacity: .5;
}

.nav-contact {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 350px;
  position: absolute;
  right: 0;
  top: 0;
  text-align: center;
}

.nav-contact li:nth-child(1) {
  height: 43px;
  width: 100%;
  float: right;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-contact li:nth-child(2) {
  float: left;
  width: 45%;
  margin-left: 27%;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-contact li:hover {
  opacity: .7;
}

.container {
  width: calc(100% - 200px);
  margin: 0 auto;
}

.section {
  padding: 100px 0;
  margin: 0 auto;
}

.section-title {
  text-align: center;
  font-size: 46px;
  padding: 30px 0;
  line-height: 1.5;
  color: #744924;
  text-shadow: 2px 2px 2px #333;
}

.section-title::after {
  content: attr(data-subtitle);
  display: block;
  font-size: 14px;
  color: #744924;
  text-shadow: 2px 2px 2px #333;
  text-align: center;
  margin-top: 3px;
}

.section-title-2::after {
  content: attr(data-subtitle);
  display: block;
  font-size: 14px;
  color: #744924;
  text-shadow: 2px 2px 2px #333;
  text-align: center;
  margin-top: 3px;
}

.flex {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.white {
  background: rgba(255, 255, 255, .5);
  background-position: top;
  background-size: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left: 0;
  z-index: 1;
}

.logo-2 {
  display: flex;
  align-items: center;
}

.alem {
  height: 50px;
}

header {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  /* background: url(./img/header-bg.jpg); */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  position: relative;
  /* color: #fff; */
  user-select: none;
}

/* .header-logo {
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
} */

/* .header-logo img {
  width: 60%;
} */

.header-info {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* transform: rotate(-5deg); */
  z-index: 2;
}

.header-info h1 {
  font-size: 60px;
  text-align: center;
  /* height: 500px; */
  /* border: 3px solid #744924; */
  border-radius: 20px;
  /* background: #333; */
  color: #fff;
}

.header-main-title {
  font-size: 100px;
}

.header-sub-title {
  font-size: 26px;
  color: #fff;
}

.header-sub-title-2 {
  font-size: 38px;
  color: #fff;
  font-weight: bold;
}

/* header h1 {
  text-shadow: 0 10px 6px #000;
  padding-bottom: 40px;
  z-index: 2;
  font-size: 40px;
  line-height: 2;
} */

/* filter */

/* header span {
  font-size: 60px;
} */

.sub {
  font-size: 30px;
}

.black {
  background: rgba(0, 0, 0, .5);
  /* background-position: center;
  background-size: cover; */
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left: 0;
  z-index: 1;
}

.contact {
  padding: 30px 0;
  display: flex;
  justify-content: space-between;
  text-align: center;
  background: #fff;
}

.contact img {
  width: 30%;
  transition: .3s;
  cursor: pointer;
}

.contact img:hover {
  opacity: .7;
}

#middle {
  /* background: url(./img/middle-bg.webp); */
  background: #fff;
  /* background-position: center;
  background-repeat: no-repeat;
  background-size: cover; */
  position: relative;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60px 0;
  margin-bottom: 50px;
}

/* #middle .container-2 {
z-index: 2;
} */

.middle-info {
  /* padding: 80px 0; */
  color: #744924;
  z-index: 3;
  font-size: 20px;
  line-height: 2;
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.midashi {
  font-size: 30px;
  font-weight: bold;
  line-height: 3;
}

#reasons {
  background: #eee;
  /* color: #fff; */
  color: #744924;
}

#reason {
  background: #eee;
  padding-top: 30px;
}

.reason-img {
  width: 40%;
  margin: 60px 0;
}

.reason-img .img {
  width: 100%;
}

.nakama {
  width: 44%;
  margin-left: 200px;
}

.reason-info {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  color: #744924;
  font-size: 18px;
  padding-bottom: 100px;
  margin: 60px 0;
}

.reason-info h1 {
  padding-bottom: 20px;
  font-size: 32px;
}

.reason-info-1 {
  position: relative;
}

.reason-info-2 {
  position: relative;
}

.reason-info-3 {
  position: relative;
}
/*
.reason-info-1:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(55% 0, 100% 0, 100% 100%, 45% 100%);
  width: 100%;
  height: 100%;
  background: #744924;
}


.reason-info-2:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 45% 0, 55% 99%, 0 100%);
  width: 100%;
  height: 100%;
  background: #744924;
}
.reason-info-3:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(55% 0, 100% 0, 100% 100%, 45% 100%);
  width: 100%;
  height: 100%;
  background: #744924;
} */

.reason-inner-info p {
  color: #fff;
  z-index: 3;
}

#office-type {
  background: #eee;
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  color: #744924;
}

#virtual {
  background: url(./img/bg-2.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  /* padding: 20px 0; */
  color: #744924;
  /* margin-bottom: 300px; */
}

.white-bg {
  background: rgba(255, 255, 255, .9);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 20px 0;
}

.office-img {
  height: 400px;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.main-img a img {
  width: 95%;
  height: 48vh;
}

.office-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  /* border: 1px solid #fff; */
  background: #744924;
  color: #fff;
}

.office-list li {
  padding: 30px;
  width: calc(100% / 2);
  border: 1px solid #fff;
}

.office-list li dl {
  display: flex;
  align-items: center;
}

.office-list li p {
  font-size: 14px;
}

.office-list li dl dt {
  margin-right: 15px;
}

.office-list li dl dt img {
  width: 50px;
  height: 50px;
  padding: 5px;
  background: rgb(183, 155, 60);
  border-radius: 9px;
}

.office-list li dl dd {
  font-size: 16.5px;
}

#rental {
  background: url(./img/bg-2.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  /* padding: 60px 0; */
  color: #744924;
}
/*
#rental > .section-title-2 {
  width: calc(100% - 200px);
  margin: 0 auto;
} */

#rental .container {
  /* background: url(./img/virtual-bg.jpg); */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.office > .container {
  /* border: 2px solid #fff; */
  /* padding: 20px; */
  /* background: url(./img/rental.bg.jpg); */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: #744924;
}

.office-info {
  font-size: 24px;
  text-align: center;
}

.office-info-2 {
  font-size: 14px;
  text-align: left;
  display: none;
}

.office .black-bg {
  padding: 20px;
  /* background: rgba(44, 7, 7, 0.8); */
  box-shadow: 5px 5px 5px #333;
}

.office-inner {
  /* padding: 20px; */
  color: #744924;
  position: relative;
}

.price {
  margin: 30px auto;
  text-align: center;
  font-size: 30px;
}

#middle-bg {
  padding: 20vh 0;
  background: url(./img/middle-bg.jpg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

#pay {
  padding: 30px 0;
  color: #744924;
  background: #eee;
}

#pay .office-list li {
  width: calc(100% / 4);
}


.pay-inner {
  margin: 30px 0;
}

.pay-inner dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.pay-inner dl dt {
  margin: 0 30px;
}

.pay-inner dl dd {
  font-size: 30px;
  display: none;
}

.pay-inner dl dt img {
  width: 60px;
  height: 60px;
  padding: 5px;
  background: rgb(183, 155, 60);
  border-radius: 9px;
}

.pay-info {
  background: #744924;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 20px;
}

.reverse {
  flex-direction: row-reverse;
}

.pay-img {
  width: 55%;
}

.pay-img img {
  width: 100%;
}

.pay-info-inner {
  width: 40%;
}

.pay-inner-title {
  font-size: 28px;
  line-height: 2.5;
  text-align: center;
}

.pay-info-inner p {
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 2px;
}

#map {
  /* background: #fff; */
  color: #fff;
  padding-bottom: 30px;
}

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#question {
  background: #fff;
  color: #744924;
  padding: 40px 0;
  font-size: 18px;
}

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/* .cp_qa {
	border-top: 1px solid #1b2538;
} */
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	color: #1b2538;
  margin-bottom: 30px;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 2em 1em 1em;
	cursor: pointer;
	border-bottom: 1px solid #1b2538;
}
.cp_qa .cp_actab label:hover {
	color: #744924;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
  transition: max-height 0.5s ease;
	color: #fff;
	background: #744924;
}
.cp_qa .cp_actab .cp_actab-content p {
	margin: 1em;
}
/* 質問を開いた時の仕様 */
/* --アイコン */
.cp_qa .cp_actab input:checked ~ label {
	color:#744924;
}
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab label::after {
	line-height: 1.6;
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3em;
	margin-top: -12.5px;
	-webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
	text-align: center;
}
.cp_qa .cp_actab input[type=checkbox] + label::after {
	content: '◀︎';
}
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}


footer {
  font-size: 12px;
  text-align: center;
  background: #744924;
  display: flex;
  align-items: center;
  padding: 30px;
  justify-content: center;
}

/* パララックススタイル */
/* @media screen and (-webkit-min-device-pixel-ratio: 0) {} */
/* .sa {
  opacity: 0;
  transition: all .5s ease;
}

.sa.show {
  opacity: 1;
  transform: none;
}

.sa-up {
  transform: translate(0, 100px);
}

.sa-down {
  transform: translate(0, -100px);
}

.sa-lr {
  transform: translate(-100px, 0);
}

.sa-rl {
  transform: translate(100px, 0);
}

.sa-scaleUp {
  transform: scale(.5);
}

.sa-scaleDown {
  transform: scale(2);
}

.sa-rotateL {
  transform: rotate(180deg);
}

.sa-rotateR {
  transform: rotate(-180deg);
} */

@media (max-width:1340px) {
  #show {
    display: block;
    cursor: pointer;
  }

  #show:hover {
    opacity: .6;
  }

  .nav-contact {
    display: none;
  }

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

@media (max-width:1209px) {
  .flex {
    flex-direction: column;
    flex-wrap: wrap;
  }

  .reason-img {
    display: none;
  }

  .reason-info {
    width: 100%;
  }

  .reason-info-1 {
    text-align: center;
    margin-bottom: 0;
  }

  .reason-info h1 {
    border-bottom: 2px dashed #744924;
    padding-bottom: 0;
    margin-bottom: 20px;
  }
  .reason-info-2 h1 {
    border-bottom: 2px dashed #744924;
    padding-bottom: 0;
    margin-bottom: 20px;
  }
  .reason-info-3 h1 {
    border-bottom: 2px dashed #744924;
    padding-bottom: 0;
    margin-bottom: 20px;
  }

  /* .reason-info-1 {
    font-size: 14px;
    padding-bottom: 30px;
  }

  .reason-info-1 h1 {
    font-size: 24px;
  } */

  #pay .office-list li {
    width: calc(100% / 2);
  }

  .pay-inner dl {
    /* text-align: center; */
    justify-content: center;
  }

  .pay-inner dl dd {
    display: block;
  }

  .pay-inner-title {
    display: none;
  }

  .pay-info {
    display: block;
  }

  .pay-img {
    width: 100%;
  }

  .pay-info-inner {
    width: 100%;
    text-align: center;
  }
}

@media (max-width:899px) {
  .midashi {
    font-size: 24px;
  }

  .contact {
    padding: 30px 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }

  .contact img {
    width: 70%;
    transition: .3s;
    cursor: pointer;
  }

  .price {
    font-size: 34px;
  }

  #virtial > .section-title-2  {
    display: none;
  }
}

@media (max-width:1100px) {
  .main-img a img {
    height: 40vw;
  }

@media (max-width:800px) {
  .main-img a img {
    height: 50vw;
  }
}

@media (max-width:414px) {
  .container {
    width: calc(100% - 20px);
  }

  .logo a img  {
    height: 60px;
    width: 90px;
  }

  .menu-open {
    font-size: 10px;
    font-weight: bold;
  }


  .open-list a::after {
    content: attr(data-subtitle);
    display: none;
  }

  .nav-contact {
    display: none;
  }


  header {
    height: 300px;
  }

  .header-info h1 {
    font-size: 26px;
    margin-top: 50px;
  }

  .header-main-title {
    font-size: 44px;
  }

  .header-sub-title {
    font-size: 11px;
  }

  .header-sub-title-2 {
    font-size: 14px;
  }

  .contact {
    padding: 30px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    text-align: center;
    background: #fff;
  }

  .contact img {
    width: 30%;
    transition: .3s;
    cursor: pointer;
  }

  .contact img:hover {
    opacity: .7;
  }

  .midashi {
    font-size: 20px;
  }

  .middle-info p {
    font-size: 11px;
  }

  .section-title {
    font-size: 30px;
    padding: 20px 0;
  }


  .section-title::after {
    content: attr(data-subtitle);
    font-size: 10px;
  }

  .section-title-2 {
    font-size: 30px;
  }

  .section-title-2::after {
    content: attr(data-subtitle);
    font-size: 10px;
  }

  #middle {
    padding: 20px 0;
  }

  .reason-info {
    padding-bottom: 0;
    margin: 20px 0;
  }

  .reason-info h1 {
    font-size: 20px;
  }

  .reason-info p {
    font-size: 14px;
    text-align: left;
  }

  .reason-info-2 h1 {
    font-size: 20px;
  }

  .reason-info-2 p {
    font-size: 14px;
  }

  .reason-info-3 h1 {
    font-size: 20px;
  }

  .reason-info-3 p {
    font-size: 14px;
  }

  .office-img {
    height: 200px;
  }

  .price {
    font-size: 18px;
  }

  #middle-bg {
    background-size: contain;
    background-attachment: scroll;
    display: none;
  }

  #virtual {
    background: none;
    padding-bottom: 0;
  }

  #rental {
    background: none;
  }

  .office-info {
    display: none;
  }

  .office-info-2 {
    display: block;
  }

  .office-list li {
    padding: 4px;
  }

  .office-list li p {
    font-size: 7px;
  }

  .office-list li dl dt {
    margin-right: 5px;
  }

  .office-list li dl dt img {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    padding: 2px;
  }

  .office-list li dl dd {
    font-size: 8px;
  }

  .pay-inner dl dd {
    font-size: 22px;
  }

  .pay-inner dl dt img {
    width: 40px;
    height: 40px;
    padding: 5px;
    background: rgb(183, 155, 60);
    border-radius: 5px;
  }

  .pay-inner-title {
    font-size: 16px;
  }

  .pay-info-inner p {
    font-size: 12px;
    text-align: left;
  }

  .cp_qa .cp_actab label {
    font-size: 12px;
  }

  .cp_qa .cp_actab .cp_actab-content p {
    font-size: 12px;
  }

  footer {
    font-size: 5px;
  }
}
