@charset "utf-8";
@import url("swiper-bundle.min.css");
/*index_common*/
.lead_txt {
  width: 85vw;
  max-width: 900px;
  margin: 0.5em auto 1.5em auto;
  font-size: 0.95em;
  line-height: 1.6;
  text-align: left;
  letter-spacing: 0
}
h2 {
  font-weight: bold
}
h2 span {
  font-family: 'arial2';
  color: #151515;
  font-weight: lighter
}
.wrap {
  padding: 1.5em 0
}
.bg_gray {
    background-color: #F3EFEF;
}
.wrap h2 {
  font-size: 1.3em;
  text-align: center
}
.wrap h2 span {
  display: block;
  font-size: 0.6em
}
.wrap h2 span::after {
  content: " ―"
}
.mb {
  margin-bottom: -2em
}
.org_cont {}
.org_cont a {
  width: 280px;
  max-width: 75%;
  height: 100%;
  margin: 1em auto 0 auto;
  padding: 0.8em 1.3em;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #E72A63;
  font-size: 1em;
  line-height: 1.4;
  text-align: left;
  font-weight: bold;
  background-color: #fff;
  cursor: pointer;
  border-radius: 30px;
  box-shadow: 5px 5px 8px #ccc;
}
.org_cont a:hover {
  opacity: 0.6;
}
.arrow_r_b {
  margin-left: 10px;
  padding-left: 20px;
  position: relative;
  display: inline-block;
  color: #333;
  text-decoration: none
}
.arrow_r_b:before {
  width: 18px;
  height: 18px;
  margin-top: -9px;
  content: '';
  position: absolute;
  top: 50%;
  left: -5px;
  background: #FF9FA1;
  border-radius: 50%
}
.arrow_r_b:after {
  width: 6px;
  height: 6px;
  margin-top: -4px;
  content: '';
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: rotate(45deg)
}
@media print, screen and (min-width: 600px) {
  .lead_txt {
    text-align: center
  }
  .org_cont a {
    margin: 2em auto 0 auto;
    padding: 1em 1.5em;
    font-size: 1.1em
  }
}
@media print, screen and (min-width: 1025px) {
  .wrap {
    padding: 4em 0
  }
  .wrap h2 {
    font-size: 2em
  }
  .wrap h2 span {
    font-size: 0.5em
  }
  .lead_txt {
    font-size: 1.2em;
    letter-spacing: 0.1em
  }
}
/*concept*/
.concept {
  width: 85vw;
  max-width: 1200px;
  margin: 2.5em auto 0 auto;
  padding-bottom: 2em;
  display: block
}
.concept_ttl {
  width: 100%
}
.concept_ttl h2 {
  margin-bottom: 1em;
  font-size: 1.5em;
  line-height: 1.6
}
.concept_ttl h2 span {
  margin-bottom: 1em;
  display: block;
  font-size: 0.5em
}
.concept_ttl h2 span::after{
    content: " ―";
}
.concept_ttl::after {
  width: 90%;
  height: 0;
  padding-bottom: calc(90%*302/452);
  content: "";
  display: block;
  background: url("../images/index/concept.jpg") center / 100% no-repeat
}
.concept_cont {
  width: 100%;
  margin-top: 1.2em
}
.concept_cont p {
  margin-bottom: 1em;
  font-size: 0.95em;
  line-height: 2;
  letter-spacing: 0
}
@media print, screen and (min-width: 600px) {}
@media print, screen and (min-width: 1025px) {
  .concept {
    margin-top: 5em;
    padding-bottom: 6em;
    display: flex;
    justify-content: space-between
  }
  .concept_ttl {
    width: 45%;
  }
  .concept_ttl h2 {
    font-size: 2.4em;
    line-height: 1.8
  }
  .concept_ttl h2 span {
    font-size: 0.4em
  }
  .concept_cont {
    width: 50%;
    margin-top: 1em
  }
  .concept_cont p {
    margin-bottom: 1.2em;
    font-size: 1.25em;
    line-height: 2.2;
    letter-spacing: 0.03em
  }
}
/*event cal*/
/*.cal_wrap {
  width: 90vw;
  max-width: 960px;
  min-width: 300px;
  margin: 0 auto
}
.googlecal {
    width: 100%;
  height: 550px;
  margin-bottom: 1.5em;
  padding-bottom: 100%;
  position: relative;
  overflow-x: scroll;
    overflow-y: hidden
}
.googlecal iframe {
  width: 140% !important;
  height: 550px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #E8F4F4
}*/
/* スクロールの幅の設定 
.googlecal::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}*/

/* スクロールの背景の設定
.googlecal::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
/* スクロールのつまみ部分の設定 
.googlecal::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #5f5560
}
.cal_wrap button{
    
}
@media print, screen and (min-width: 600px) {
  .googlecal {
    overflow: hidden;
    height: 650px;
    padding-bottom: 1em
  }
  .googlecal iframe {
    width: 100% !important;
    height: 650px
  }
}
/*service*/
.serv {}
.serv ul {
  width: 85vw;
  max-width: 1200px;
  margin: 1em auto 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.serv ul li {
  width: 100%;
  margin-bottom: 1.5em
}
.serv img {
  width: 100%;
  height: auto
}
.serv h3 {
  margin: 0.3em 0;
  font-size: 1.1em;
  line-height: 1.4
}
.serv_txt {
  font-size: 0.95em;
  line-height: 1.6em;
  letter-spacing: 0
}
@media print, screen and (min-width: 600px) {
  .serv_left {
    text-align: left
  }
  .serv ul li {
    width: 48%;
    margin-bottom: 2em
  }
}
@media print, screen and (min-width: 1025px) {
  .serv ul {
    margin-top: 2em
  }
  .serv ul li {
    width: 30.5%
  }
  .serv h3 {
    margin: 0.8em 0;
    font-size: 1.3em
  }
  .serv_txt {
    font-size: 1.1em;
    line-height: 1.8em
  }
}
/*---service 追加---*/
.serv_link {
	color: #E72A63;
}
.serv_link:hover {
	color: #47BABA;
	opacity: 0.7;
}
/*equipment*/
.equip {}
.equip h2 {
  letter-spacing: 0.4em
}
.equip h2 span {
  letter-spacing: 0.1em
}
.equip ul {
  width: 85vw;
  max-width: 1200px;
  margin: 0 auto -1em auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.equip ul li {
  width: 47%;
  margin-bottom: 1.5em
}
.equip img {
  width: 100%;
  height: auto
}
.equip h3 {
  font-size: 0.8em;
  line-height: 1.4;
  font-weight: 500;
  text-align: left;
  letter-spacing: 0
}
.equip_space {
  display: none
}
.room{
    max-width: 800px;
    width: 85%;
    margin:1em auto 0 auto;
    display: block
}
.room img{
    width: 100%;
    height: auto;
}
@media print, screen and (min-width: 600px) {
  .equip ul li {
    width: 30%
  }
  .equip_space {
    display: block
  }
    .room{
    margin:4em auto 1em auto;
}
}
@media print, screen and (min-width: 1025px) {
  .equip ul {
    margin: 0 auto -2em auto
  }
  .equip ul li {
    width: 22%;
    margin-bottom: 2.5em
  }
  .equip h3 {
    margin-top: 0.15em;
    font-size: 1em;
    line-height: 1.3;
    letter-spacing: 0.1em
  }
  .equip_space {
    display: none
  }
}
/*map*/
.map {
  max-width: 1200px;
  width: 85vw;
  margin: 0 auto
}
.map iframe {
  width: 100%;
  height: 300px;
  margin: 1em 0 2em 0;
  display: block;
  border-radius: 20px
}
.map_txt {
  font-size: 1em;
  line-height: 1.6
}
.map h4 {
  margin: 0.7em 0 0.3em 0
}
@media print, screen and (min-width: 1025px) {
  .map_txt {
    font-size: 1.2em
  }
  .map iframe {
    height: 600px
  }
}
/*flow*/
.flow {
  background-color: #EFEFEF
}
.flow ul {
  width: 85vw;
  max-width: 1200px;
  margin: 2em auto -3em auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.flow ul li {
  width: 100%;
  margin-bottom: 2.5em;
  padding: 1.5em;
  position: relative;
  background-color: #fff;
  box-shadow: 3px 3px 5px #D2D2D2
}
.flow ul li:last-child {
  margin-bottom: -1.5em
}
.flow ul li span {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -20px;
  left: 44%;
  color: #fff;
  font-family: 'arial2';
  font-size: 1.4em;
  font-weight: bold;
  background-color: #3E3D3D;
  border-radius: 50%
}
.flow h3 {
  padding-top: 0.3em;
  padding-bottom: 0em;
  display: block;
  font-size: 1.2em;
  text-align: center;
  border-bottom: 1px solid #707070
}
.flow_space {
  display: block;
  opacity: 0
}
.flow_img {
  width: 60%;
  height: auto;
  margin: 2em auto 1.5em auto;
  display: block
}
.flow h4 {
  width: 100%;
  margin: 0 auto;
  font-size: 1em;
  line-height: 1.6
}
.flow ul li a {
  color: #0252DF;
  text-decoration: underline
}
.flow_cent {
  text-align: center
}
@media print, screen and (min-width: 600px) {
  .flow ul li {
    width: 47%;
    margin-bottom: 4em;
    padding: 1.5em
  }
}
@media print, screen and (min-width: 1025px) {
  .flow ul {
    margin-top: 4em
  }
  .flow ul li {
    width: 30%;
    margin-bottom: 4em;
    padding: 1.5em
  }
  .flow ul li span {
    width: 45px;
    height: 45px;
    top: -25px;
    font-size: 1.6em
  }
  .flow h3 {
    padding: 0.7em 0 0.3em 0;
    font-size: 1.4em
  }
  .flow h4 {
    width: 90%;
    font-size: 1.1em;
    line-height: 1.6
	}
}
