@charset "utf-8";

/* common */
#kyoisen article{ color:#333; }
#kyoisen article .marker { background:linear-gradient(transparent 30%, #f9f8c8 0%); }
.bg-pk{ background:#f5eaed; }
.bg-bg{ background:#f4efe4; }
.gf-damion{ font-family: 'Damion', cursive; }
.gf-zen{ font-family: 'Zen Kaku Gothic New', sans-serif; }
.de-ttl{ margin-bottom:1em; font-size:1.3em; font-weight:500; text-align:center; }
.de-ttl .con{ display: inline-block; position:relative; padding:1em 1em 0.7em; }
.de-ttl .con::before, .de-ttl .con::after{ position:absolute; content:""; z-index:1; }
.de-ttl .con::before{ width:6em; height:3em; top:-2em; left:50%; transform:translateX(-50%); 
  background:url(/special/img/kyoisen/deco-ttl.svg) no-repeat center / 100%; }
.de-ttl .con::after{ width:100%; height:2px; left:0; bottom:0; background:#333; }
.link-round{ display:inline-block; padding:0.4em 3.5em 0.4em 3em; text-align:center; text-decoration:none; 
  font-size:1.1em; letter-spacing:0.08em; color:#FFF; background:#8a6f5f; border-radius:50px; }
.link-round:hover{ color:#FFF; background:#c37895; }
.ico-pdf{ position:relative; }
.ico-pdf::before{ position:absolute; content:""; width:1.3em; height:1.3em; top:0.5em; right:1em; 
  background:url(/special/img/kyoisen/ico-pdf.svg) no-repeat center / 100%; }
.ico-ttl{ margin-bottom:1.2em; padding-top:2.1em; text-align:center; font-size:1.3em; font-weight:500; line-height: 1.6; }
.ico-ttl .marker{ font-size:1.05em; margin:0 0.2em; }
.ico-ttl .con{ display: inline-block; position:relative; padding:0.7em 1.2em; }
.ico-ttl .con::before, .ico-ttl .con::after{ position:absolute; content:""; width:100%; height:2px; background:#333; }
.ico-ttl .con::before{ top:0; left:0; }
.ico-ttl .con::after{ bottom:0; left:0; }
.ico-ttl .en{ display:block; position:absolute; top:-3.3em; left:50%; transform:translateX(-50%); padding-top:1.5em; font-size: 0.9em; white-space: nowrap; }
.ico-ttl .en::before{ position:absolute; content:""; width:2em; height:2em; top:0; left:50%; transform:translateX(-50%);
  background:url(/special/img/kyoisen/ico-message.svg) no-repeat center / 100%; }
.sub-ttl{ margin:1em auto 1.1em; text-align:center; font-size:1.2em; color:#863152; }
.col-ttl{ margin-bottom:1em; padding:0.2em 1.5em; text-align:center; letter-spacing:0.08em; color:#FFF; background:#a25e78; }
.col-ttl.in-ttl{ background:none; padding:0; }
.col-ttl.in-ttl .con{ display:inline-block; padding:0.2em 1.5em; background:#ff5f83; }
.d-list{ display:-webkit-box; display:flex; flex-wrap:wrap; font-size:0.9em; }
.d-list dt, .d-list dd{ padding:0.5em 1em; border-bottom:1px solid #8a6f5f; }
.d-list dt:last-of-type, .d-list dd:last-of-type{ border:0; }
.d-list dt{ width:25%; }
.d-list dd{ width:75%; }
.d-list + .col-ttl{ margin-top:2em; }
.t-data{ width:100%; background:#FFF; border:1px solid #8a6f5f; }
.t-data td, .t-data th{ padding:.7em 0.3em; line-height: 1.5; border:1px solid #8a6f5f; }
.t-data th{ background:#ede7da; }
.list-dot { padding:0 1em; text-align:left; }
.list-dot li { padding-left: 1em; position: relative; }
.list-dot li:not(last-child) { margin-bottom:0.3em; }
.list-dot li::before { content:""; position:absolute; top:.7em; left:0; width:6px; height:6px; 
  background:#8a6f5f; border-radius:50%; }
#kyoisen article .button{ border-radius:0; }
#kyoisen article [class^="btn_"] a::before{ border-top: 10px solid #ba718d; border-right: 10px solid #ba718d; }

/* mv */
#mv { position:relative; text-align:center;
  background: -webkit-repeating-linear-gradient(-45deg,#c1dbdc 0,#c1dbdc 100px,#e0efef 100px,#e0efef 200px); }
#mv .mv-title{ position:relative; z-index:1; margin:0 auto; }
  
#mv .mv-pic1, #mv .mv-pic2{ position:absolute; }
#mv .points li{ position:absolute; z-index:2; }
#mv .points .de-safe{ top: 40%; left:5%; }
#mv .points .de-meals{ top: 3%; right: 15%; }
#mv .points .de-furniture{ bottom: 5%; left: 5%; }
#mv .points .de-relax{ bottom: 48%; right: 3%; }

/* support */
.kyoisen-support{ position:relative; margin:3.5em auto 2em; padding:1em 1.5em 1.2em; text-align:center;
  background:#ecc7d0; }
.support-deadline{ position:absolute; top:-4em; left:-1.5em; margin:0; }
.kyoisen-support .link-round{ margin:1em auto 0; }
.support-list{ margin:1.5em auto 0; }

/* messsage */
#message{ padding-bottom:1.5em; }
#message .txt{ width:90%; margin:0 auto; }

/* Strong points */
#points{ padding-bottom:2em; }
#points .ico-ttl .en::before{ background-image:url(/special/img/kyoisen/ico-point.svg); }
#points .ico-ttl .marker{ font-size:1.15em; }
.strong-list li{ position:relative; margin-top:5em; padding:0 1.5em 1em; border:2px solid #333; }
.strong-list li::before{ position:absolute; content:""; width:6em; height:6.8em; left:0.5em; top:-3.5em;
  background:url(/special/img/kyoisen/deco-meals.svg) no-repeat center / 100%; }
.strong-list li.safe::before{ width:7em; height:7em; background-image:url(/special/img/kyoisen/deco-safe.svg); }
.strong-list li.furniture::before{ background-image:url(/special/img/kyoisen/deco-furniture.svg); }
.strong-list li.relax::before{ width:7em; height:7em; background-image:url(/special/img/kyoisen/deco-relax.svg); }
.strong-list li .pic{ text-align:center; }
.strong-ttl{ position:relative; margin-bottom:1.4em; padding-top: 0.3em; font-size:1.4em; text-align: center; letter-spacing: 0.08em; }
.strong-ttl::before{ position:absolute; content:""; z-index:-1; width:5em; height:2.5em; left:50%; top:0; transform:translateX(-50%);
  background:url(/special/img/kyoisen/en-half.svg) no-repeat center / 100%; }
.strong-ttl .en{ display:block; position:absolute; left:50%; top:-1.25em; font-size: 1.5em; line-height: 1; transform:translateX(-50%); }
.strong-ttl .en::before{ position:absolute; content:""; width:3em; height:1.5em; top:-1em; left:50%; transform:translateX(-50%); 
  background:url(/special/img/kyoisen/deco-ttl.svg) no-repeat center / 100%; }

/* Map */
#map{ padding-bottom:2em; }
#map .ico-ttl .en::before{ background-image:url(/special/img/kyoisen/ico-map.svg); }
#map .pic{ padding:0.5em; background:#FFF; }

.bnr_topics_member { margin-block: min(8vw,80px); }

/* Bukken */
#bukken{ padding-bottom:2em; }
#bukken .ico-ttl .en::before{ width: 2.4em; height: 2.4em; top:-0.7em; background-image:url(/special/img/kyoisen/ico-bukken.svg); }
#momoyamagoryo .col-ttl.in-ttl .con{ background:#ffa749; }
.bukken-list{ margin-bottom:3em; padding:0 1em 1.5em; }
.bukken-list .de-ttl .con::after{ content:none; }
.bukken-list .de-ttl .con::before{ width: 4em; height: 2em; top: -1em; }
.fukidashi{ text-align:center; }
.fukidashi .con{ display:inline-block; position:relative; padding:0 2.5em; }
.fukidashi .con::before, .fukidashi .con::after{ position:absolute; content:""; width:2em; height:2em; bottom:0;
  background:url(/special/img/kyoisen/ico-fukidashi.svg) no-repeat center bottom / 100%; }
.fukidashi .con::before{ left:0; transform: rotate(300deg); }
.fukidashi .con::after{ right:0; }
#bukken .de-ttl{ margin-bottom:0; }
#bukken .slide{ margin:2em auto; }
#bukken .slider, #bukken .thumbnail_slider{ width:95%; max-width:700px; margin:0 auto; }
#bukken .slick-slide img { margin:0 auto; }
#bukken .slick-arrow{ position:absolute; content:""; z-index:1; top:50%; transform:translateY(-50%); text-indent: -9999px; background: none; }
#bukken .slick-prev{ left:-1.7em; }
#bukken .slick-next{ right:-1.7em; }
#bukken .slick-prev::before, #bukken .slick-next::before{ position: absolute; content: ""; top:0; right:0; width:2em; height:2em;
  background: url(/special/img/kyoisen/ico-arrow.svg) no-repeat center / 100%; }
#bukken .slick-prev::before{ left:0; right:auto; background: url(/special/img/kyoisen/ico-arrow.svg) no-repeat center / 100%;
  transform: rotate(180deg); }
.route-access{ margin:2em auto; text-align:center; }
#bukken .d-down{ margin-bottom:1em; padding:0.5em 0; text-align:center; background:#eddfe4; border:2px solid #a25e78; }
#bukken .d-down dt{ position:relative; color:#863152; cursor:pointer; }
#bukken .d-down dt:before, #bukken .d-down dt:after { content: ""; position: absolute; z-index:1; top: 0; right:1em; bottom: 0; 
  width:1.2em; height:2px; margin: auto; background: #863152; }
#bukken .d-down dt:after { -webkit-transform:rotate(90deg); transform:rotate(90deg);
  -webkit-transition:all .5s; transition:all .5s; }
#bukken .d-down dt.active:after { -webkit-transform:rotate(-180deg); transform:rotate(-180deg); }
#bukken .d-down dd{ padding:1em; }
#bukken .t-data{ font-size:0.9em; }
.detail-data{ margin-bottom:2em; }
.btn-area li{ margin-bottom:1em; }
#kyoisen article [class^="btn_"] a.calc{ color:#FFF; background: #4f8f97; border-color:#4f8f97; }
#kyoisen article [class^="btn_"] a.calc::before{ border-top: 10px solid #ffe785; border-right: 10px solid #ffe785; }
a.calc span::before { content: ""; position: absolute; top: 13px; left: 0; width: 20px; height: 20px;
  background: url(../../img/icon_calculator.svg) center / cover no-repeat; }

/* ================================================================
  レスポンシブ
=================================================================== */

/* 600以上(PC・タブレット) */
@media screen and (min-width: 600px) {
  .de-ttl{ font-size:2.2em; }
  .ico-ttl{ font-size:1.6em; }

  /* support */
  .support-list{ margin-top:2em; }

  /* message */
  #message{ padding-bottom: 5em; }

  /* Strong points */
  #points{ padding-bottom:4em; }
  .strong-list{ display:-webkit-box; display:flex; flex-wrap:wrap; -webkit-box-pack:justify; justify-content:space-between; }
  .strong-list li{ width:47%; }

  /* Map */
  #map .pic{ padding:1.2em; }

  /* Bukken */
  .bukken-list{ padding:0 2.5em 2em; }
  .bukken-list .de-ttl{ font-size: 1.9em; }
  .d-list dt{ width:15%; }
  .d-list dd{ width:85%; }
  #bukken .detail-data .col-ttl{ font-size:1.1em; }
  .btn-area{ display:-webkit-flex; display:flex; flex-wrap:wrap; -webkit-box-pack:center; justify-content:center; }
  .btn-area li{ margin-right:2%; margin-left:2%; }
}

/* 960px以上(PC) */
@media screen and (min-width: 960px) {
  .ico-ttl{ font-size:1.9em; }
  .ico-ttl .en{ font-size: 0.8em; }
  
  /* mv */
  #mv { padding:8% 5%; background: -webkit-repeating-linear-gradient(-45deg,#c1dbdc 0,#c1dbdc 250px,#e0efef 250px,#e0efef 500px); }
  #mv .mv-pic1{ right:3%; bottom:6%; }
  #mv .mv-pic2{ left:3%; top:6%; }
  #mv .points .de-safe{ top:10%; }
  #mv .points .de-meals{ top:15%; right:25%; }
  #mv .points .de-furniture{ bottom:24%; left:24%; }
  #mv .points .de-relax{ bottom:15%; right:2%; }

  /* Support */
  .support-list{ display:-webkit-box; display:flex; flex-wrap:wrap; -webkit-box-pack:justify; justify-content:space-between; }
  .support-deadline{ top:-3em; left:-3.5em; }
  .kyoisen-support{ margin-bottom:5em; padding-right:4.2em; padding-left:4.2em; }
  
  /* messsage */
  #message .txt{ width:55%; }

  /* Strong points */
  .strong-list li::before{ width:7em; height:7.8em; top: -3em; }
  .strong-ttl{ padding-top: 0.5em; font-size:1.5em; }
  .strong-ttl::before{ width:6.4em; height:3.2em; }

  /* Bukken */
  #bukken .slide{ margin-top:3em; }
  .route-access{ margin-top:3em; margin-bottom:3em; }
  #bukken .slick-prev{ left:-5em; }
  #bukken .slick-next{ right:-5em; }
  #bukken .slick-prev::before, #bukken .slick-next::before{ width:3.5em; height:3.5em; }
  .bukken-list{ margin-bottom:6em; padding:0 5.5em 4em; }
  .btn-detail .button{ min-width:400px; }

}


/* ================================================================
  タブレット
=================================================================== */
/* 1024以下 (タブレット横以下) */
@media screen and (max-width: 1024px) {
  /* mv */
}

/* 959以下 (タブレット以下) */
@media screen and (max-width: 959px) {
  /* mv */
  #mv{ padding:20% 2%; }
  #mv .mv-title{width:70%; }
  #mv .mv-pic1, #mv .mv-pic2{ width:35%; }
  #mv .mv-pic1{ right:0; bottom:0; }
  #mv .mv-pic2{ left:0; top:0; }
  #mv .points li{ width:8em; }

  /* support */
  .support-deadline{ width:10em; }
  .support-list li + li{ margin-top:1.5em; }
}

/* ================================================================
  スマホ
=================================================================== */
@media screen and (max-width: 599px){
  /* mv */
  #mv .points li{ width:5em; }

  /* support */
  .support-deadline{ width:8em; }
  .support-list{ width:80%; }

  /* Bukken */
  #kyoisen #bukken .button{ display:block; padding-right:0; padding-left:0; }
  #bukken .d-list dt, #bukken .d-list dd{ width:100%; border-bottom:0; }
  #bukken .d-list dt{ background:#dbd1bb; }
}

@media screen and (max-width: 320px){
}