@charset "UTF-8";
@import url(https://use.fontawesome.com/releases/v5.13.0/css/all.css);

@font-face {
    font-family: 'noto-sans-jp';
    src: url(fonts/NotoSansJP-Regular.woff)format("woff");
    font-weight: 400;
    font-display: swap;
} 
@font-face {
    font-family: 'noto-sans-jp';
    src: url(fonts/NotoSansJP-Medium.woff)format("woff");
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'noto-sans-jp';
    src: url(fonts/NotoSansJP-Bold.woff)format("woff");
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'noto-sans-jp';
    src: url(fonts/NotoSansJP-Black.woff)format("woff");
    font-weight: 900;
    font-display: swap;
}

#contents{
    font-family: "noto-sans-jp", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    position: relative;
    color: #000000;
}
#contents *{
    text-align: center;
    line-height: 1.5;
}

#contents img{
    vertical-align: bottom;
}
#contents ul li {
    list-style: none;
}

#contents article{
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
}
#contents a:hover{
    opacity: 0.8;
}

#contents .sp-fixed {
    position: sticky;
    bottom: 0;
    left: 0;
    z-index: 10;
}

#contents .btn,
#contents a.btn,
#contents button.btn {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

#contents .btn-wrap-pc-sp{
    background: rgba(0,0,0,0.1);
    padding: 24px 0;
}
#contents .btn-wrap-pc-sp .btn-wrap--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 720px;
  margin: 0 auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#contents a.btn-pc-sp {
  line-height: 1.4;
  width: 45%;
  padding: 1.25rem 0;
  border-radius: 100vh;
  color: #ffff;
  filter: drop-shadow(0px 3px 0px rgba(0, 0, 0, 0.25));
}

#contents a.btn-pc-sp--contact {
  color: #fff;
  background: #e54f45;
}

#contents a.btn-pc-sp--tel {
  color: #fff;
  background: #0096b2;
}

#contents .fa-position-right {
  position: absolute;
  right: 1rem;
}

/* mv */
#contents .mv{
    padding-bottom: 120px;
    background: #ffffff;
    position: relative;
}
#contents .mv::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #ffffff;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .mv h1{
    margin-bottom: 60px;
}
#contents .mv h2{
    font-size: 32px;
    font-weight: 500;
    color: #0096b2;
    margin-bottom: 80px;
}
#contents .mv .area{
    margin-bottom: 80px;
}
#contents .mv .intro{
    width: 830px;
    margin-left: 60px;
    margin-bottom: 80px;
    display: flex;
    gap: 40px;
}
#contents .mv .intro h3{
    margin-bottom: 40px;
}


/* reason */
#contents .reason{
    padding-top: 140px;
    padding-bottom: 120px;
    background: #eaf5f8;
    position: relative;
}
#contents .reason::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #eaf5f8;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .reason h2{
    font-size: 32px;
    font-weight: 500;
    color: #0096b2;
    margin-bottom: 80px;
}
#contents .reason .arrow{
    margin-bottom: 80px;
}
#contents .reason .reason--item{
    width: 800px;
    margin: 0 auto 40px;
    padding-top: 80px;
    padding-bottom: 80px;
    background: #ffffff;
    border: 2px solid #0096b2;
    border-radius: 16px;
}

/* inquiry */
#contents .inquiry{
    padding-top: 140px;
    padding-bottom: 120px;
    background: #ffffff;
    position: relative;
}
#contents .inquiry::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #ffffff;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .inquiry h2{
    margin-bottom: 120px;
}
#contents .inquiry .inquiry--contents{
    width: 800px;
    margin: 0 auto 60px;
}
#contents .inquiry .inquiry--contents .inquiry--list{
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#contents .inquiry .inquiry--contents .caution{
    font-size: 12px;
    text-align: left;
}
#contents .inquiry .arrow{
    margin-bottom: 80px;
}
#contents .inquiry .textarea{
    font-size: 32px;
    font-weight: 500;
    color: #0096b2;
}

/* access */
#contents .access{
    padding-top: 140px;
    padding-bottom: 120px;
    background: #eaf5f8;
    position: relative;
}
#contents .access::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #eaf5f8;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .access .access--heading{
    margin-bottom: 80px;
}
#contents .access .access--heading h2{
    font-size: 48px;
    font-weight: 900;
    color: #0096b2;
    margin-bottom: 40px;
}
#contents .access .access--heading p{
    font-size: 32px;
    font-weight: 500;
    color: #000000;
    letter-spacing: .1em
}
#contents .access .access--heading p span.blue{
    color: #0096b2;
}
#contents .access .arrow{
    margin-bottom: 80px;
}
#contents .access .access--map{
    position: relative;
}
#contents .access .access--links li{
    position: absolute;
}
#contents .access .access--links li.access--kyotokita {
    top: 0;
    left: 813px;
}
#contents .access .access--links li.access--kyotokatsura {
    top: 74px;
    left: 720px;
}
#contents .access .access--links li.access--senrichuo {
    top: 114px;
    left: 398px;
}
#contents .access .access--links li.access--toyonaka {
    top: 153px;
    left: 349px;
}
#contents .access .access--links li.access--kyoto {
    top: 144px;
    left: 766px;
}
#contents .access .access--links li.access--takatsuki {
    top: 184px;
    left: 564px;
}
#contents .access .access--links li.access--hirakata {
    top: 255px;
    left: 644px;
}
#contents .access .access--links li.access--nishinomiya {
    top: 285px;
    left: 233px;
}
#contents .access .access--links li.access--tsukaguchi {
    top: 285px;
    left: 300px;
}
#contents .access .access--links li.access--kobe {
    top: 348px;
    left: 100px;
}
#contents .access .access--links li.access--sumiyoshi {
    top: 337px;
    left: 168px;
}
#contents .access .access--links li.access--osakaumeda {
    top: 337px;
    left: 396px;
}
#contents .access .access--links li.access--nanba {
    top: 447px;
    left: 396px;
}
#contents .access .access--links li.access--abeno {
    top: 523px;
    left: 474px;
}
#contents .access .access--links li.access--yao {
    top: 505px;
    left: 751px;
}
#contents .access .access--links li.access--sakai {
    top: 593px;
    left: 430px;
}
#contents .access .access--links li.access--osakamansionplace {
    top: 381px;
    left: 225px;
}


/* voice */
#contents .voice{
    padding-top: 140px;
    padding-bottom: 120px;
    background: #eaf5f8;
    position: relative;
}
#contents .voice::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #eaf5f8;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .voice .voice--heading{
    margin-bottom: 80px;
}
#contents .voice .voice--heading h2{
    font-size: 48px;
    font-weight: 900;
    color: #0096b2;
    margin-bottom: 40px;
    line-height: 1;
}
#contents .voice .voice--heading h2 span.sub{
    font-size: 50%;
    font-weight: 500;
    background: none;
    color: #0096b2;
}
#contents .voice .voice--heading p{
    font-size: 32px;
    font-weight: 500;
    color: #000000;
    letter-spacing: .1em
}
#contents .voice .voice--heading p span.blue{
    color: #0096b2;
}
#contents .voice .arrow{
    margin-bottom: 80px;
}
#contents .voice .voice--list{
    width: 800px;
    margin: 0 auto;
}
#contents .voice .voice--list li.voice--item{
    margin-bottom: 60px;
    text-align: justify;
}
#contents .voice .voice--list li.last{
    margin-bottom: 0;
}
#contents .voice .voice--list .voice--item--inner{
    border-right: 8px solid #0096b2;
    display: flex;
    padding-right: 50px;
    justify-content: space-between;
}
#contents .voice .voice--list .voice--item--inner figure{
    padding-right: 50px;
}
#contents .voice .voice--list .voice--item--inner .textarea dt{
    font-size: 20px;
    font-weight: 900;
    color: #0096b2;
    text-align: justify;
}
#contents .voice .voice--list .voice--item--inner .textarea dd.name{
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 16px;
}
#contents .voice .voice--list .voice--item--inner .textarea dd.name span.sub{
    font-size: 50%;
}
#contents .voice .voice--list .voice--item--inner .textarea dd{
    font-size: 16px;
    text-align: justify;
}
#contents .voice .voice--list .reverse{
    border-left: 8px solid #0096b2;
    padding-left: 50px;
    flex-direction: row-reverse;
    border-right: 0;
    padding-right: 0;
}
#contents .voice .voice--list .reverse figure{
    padding-left: 50px;
    padding-right: 0;
}

/* flow */
#contents .flow{
    padding-top: 140px;
    padding-bottom: 120px;
    background: #e6e6e6;
    position: relative;
}
#contents .flow::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #e6e6e6;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .flow .flow--contents{
    width: 800px;
    margin: 0 auto 40px;
    padding-top: 40px;
    padding-bottom: 40px;
    background: #ffffff;
    filter: drop-shadow(0px 0px 6px rgba(0,150,178,0.3));
    border-radius: 16px;
}

/* shopinfo */
#contents .shopinfo{
    padding-top: 140px;
    padding-bottom: 120px;
    background: #ffffff;
    position: relative;
}
#contents .shopinfo::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #ffffff;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .shopinfo .shopinfo--heading h2{
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .1em;
    line-height: 2;
    margin-bottom: 80px;
    background: #00809a;
    width: 100%;
}
#contents .shopinfo .shopinfo--list{
    width: 800px;
    margin: 0 auto;
}
#contents .shopinfo .shopinfo--list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#contents .shopinfo .shopinfo--list .shopinfo--item{
    width: 390px;
    margin-bottom: 20px;
    background: #fff;
    filter: drop-shadow(0px 0px 6px rgba(0,150,178,0.3));
    border-radius: 16px;
}
#contents .shopinfo .shopinfo--list .last{
    margin-bottom: 0;
}
#contents .shopinfo .shopinfo--list .shopinfo--item h3{
    width: 100%;
    background: #0096b2;
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
    color: #fff;
    border-radius: 16px 16px 0 0;
}
#contents .shopinfo .shopinfo--list .shopinfo--item .shopinfo--item--inner{
    padding: 10px;
}
#contents .shopinfo .shopinfo--list .shopinfo--item .shopinfo--item--inner .shopinfo--item--btn {
    max-width: 360px;
    margin: 20px auto 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#contents .shopinfo .shopinfo--list .shopinfo--item .shopinfo--item--inner a.btn-pc-sp {
    padding: .25rem 0;
    filter: none;
    font-size: 16px;
    font-weight: 500;
    width: 49%;
}
#contents .shopinfo .shopinfo--list .shopinfo--item .shopinfo--item--inner a.btn--baikyaku {
    color: #fff;
    background: #e54f45;
}
  
#contents .shopinfo .shopinfo--list .shopinfo--item .shopinfo--item--inner a.btn--kounyu {
    color: #fff;
    background: #e54f45;
}
#contents .shopinfo .shopinfo--list .shopinfo--item .shopinfo--item--inner .fa-position-right {
    right: .75rem;
  }

/* news */
#contents .news{
    padding-top: 140px;
    padding-bottom: 120px;
    background: #eaf5f8;
    position: relative;
}
#contents .news::before{
    content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #eaf5f8;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    z-index: 1;
}
#contents .news .news--heading{
    margin-bottom: 80px;
}
#contents .news .news--heading h2{
    font-size: 48px;
    font-weight: 900;
    color: #0096b2;
    margin-bottom: 40px;
}
#contents .news .news--heading p{
    font-size: 32px;
    font-weight: 500;
    color: #000000;
    letter-spacing: .1em
}
#contents .news .news--heading p span.blue{
    color: #0096b2;
}
#contents .news .arrow{
    margin-bottom: 80px;
}
#contents .news .news--contents{
    filter: drop-shadow(0px 0px 6px rgba(0,150,178,0.3));
    position: relative;
    width: 800px;
    margin: 0 auto 40px;
}
#contents .news .news--contents p.news-btn{
    position: absolute;
    left: 40px;
    bottom: 40px;
    filter: drop-shadow(0px 3px 0px rgba(0, 0, 0, 0.25));
}

/* shop */
#contents .shop{
    padding-top: 120px;
    padding-bottom: 120px;
}
#contents .shop .shop--heading{
    margin-bottom: 60px;
}
#contents .shop .shop--heading h2{
    font-size: 32px;
    font-weight: 500;
    color: #0096b2;
    margin-bottom: 20px;
}
#contents .shop .shop--heading p{
    font-size: 16px;
    font-weight: 500;
    color: #000000;
}
#contents .shop .details{
    padding-bottom: 40px;
}
#contents .shop .last{
    padding-bottom: 0;
}
#contents .shop .details .summary {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: .1em;
    line-height: 2;
    background: #00809a;
    margin-bottom: 20px;
}
#contents .shop .shop--list .shop--item--inner{
    background: #eaf5f8;
    display: flex;
    gap: 0px;
    width: 880px;
    margin: 0 auto 10px;
}
#contents .shop .shop--list .shop--item--inner dt a{
    display: flex;
    align-items: center;
    justify-content: center;
	text-decoration: none;
    background: #0096b2;
    font-size: 20px;
    color: #ffffff;
    letter-spacing: .1em;
    line-height: 2;
    width: 290px;
    height: 100%;
    border-radius: 10px;
}
#contents .shop .shop--list .shop--item--inner .textarea{
    padding: 5px 20px;
}
#contents .shop .shop--list .shop--item--inner dd{
    font-size: 15px;
    text-align: left;
}

/* credit */
#contents .credit{
    padding: 40px 0 60px;
}
#contents .credit h2{
    font-size: 20px;
    font-weight: 500;
}
#contents .credit p{
    font-size: 16px;
}
#contents .credit .logo{
    width: 100%;
    margin: 40px auto 0;
    float: none;
}