@charset "utf-8";




/* CMS Template(CSS編集はCMS管理画面から)

/asset/css/contents.css

Update:  2025-07-01 AM 10:49

====================*/



/* ----------------------------------------------------
Media query All
---------------------------------------------------- */
/* common */
.wide {
  margin-left: calc(((100vw - 100%) / 2) * -1) !important;
  margin-right: calc(((100vw - 100%) / 2) * -1) !important;
}

/* カラム設定 */
.column,.column2 { display: flex; justify-content: space-between; flex-wrap: wrap;}
.column .text,.colum2 .text { text-align: left;}
.col-free { display: flex; flex-wrap: nowrap; margin: 0;}
.col-free > section, .col-free > div, .col-free > li { flex: 1; margin: 0 20px 40px 0; background: #E3E3E3; text-align: center;}
.col-free > section:last-child, .col-free > div:last-child, .col-free > li:last-child { flex: 1;margin: 0 0 40px 0;}
.col { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 calc(20px / 2 * -1);}
.col > section, .col > div, .col > li { margin: 0 calc(20px / 2) 40px; text-align: center;}
.col img{ margin-bottom: 12px;}
.col-2 > section, .col-2 > div, .col-2 > li { width: calc(100% / 2 - 20px);}
.col-3 > section, .col-3 > div, .col-3 > li { width: calc(100% / 3 - 20px);}
.col-4 > section, .col-4 > div, .col-4 > li { width: calc(100% / 4 - 20px);}
.col-5 > section, .col-5 > div, .col-5 > li { width: calc(100% / 5 - 20px);}
.col-6 > section, .col-6 > div, .col-6 > li { width: calc(100% / 6 - 20px);}
.col-7 > section, .col-7 > div, .col-7 > li { width: calc(100% / 7 - 20px);}
.col-8 > section, .col-8 > div, .col-8 > li { width: calc(100% / 8 - 20px);}
.col-free .fluid, .col .fluid { flex: 2}
/* テキスト */
main p{
  line-height: 2.0;
}
.txt-note {
  text-indent: -3em !important;
  padding-left: 3em !important;
  margin-bottom: 7px !important;
}
.sub-text{ font-size: 1.4rem;}
.txt-red{ color: #e81717 !important;}
.txt-pink,.txtPink{ color: #e8177e !important;}
/* 矢印 */
.arrow-s {
/* くの字 ミニ */
  position: relative;display: inline-block;padding-left: 20px;}
.arrow-s::after {content: '';width: 6px;height: 6px;border: 0px;border-top: solid 2px #5bc0de; border-right: solid 2px #5bc0de;transform: rotate(45deg); position: absolute; top: 50%; right: 12px; margin-top: -4px;}
.arrow-m {
/* くの字 標準 */
  position: relative;
  display: inline-block;
  padding-left: 20px;
}
.arrow-m::after {
  content: '';
  width: 9px;
  height: 9px;
  border: 0px;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}
.info-faq{display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto 25px auto;}
.info-faq li a{
  color: #000000;
  font-size: 1.5rem;
  position: relative;
  text-decoration: none;
  padding: 0 0 0 20px;
}
a.icon-arrow{
  font-size: 1.5rem;
  position: relative;
  text-decoration:underline;
  padding: 0 0 0 20px;
}
.info-faq li a::before,a.icon-arrow::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #000000;
  border-right: solid 2px #000000;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}
.info-faq li{
  margin-left: 20px;
}
/* ナビ */
.nav-local02{
  border-bottom: 1px solid #e9e9e9;
  border-left: 1px solid #e9e9e9;
}
.nav-local02 ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto 0 auto;
  border-left: 1px solid #e9e9e9;
}
.nav-local02 li {
  text-align: center;
  border-right: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
  font-size: 1.3rem;
  margin-bottom: -1px;
}
.nav-local02 li a {
  padding: 0 0 0 0;
  height: 54px;
  color: #000000;
  text-decoration: none;
  vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
  transition: all .3s;
}
.nav-local02 li a.active, .nav-local02 li a:hover,.nav-local02 ul.page-top li:first-child a { background: #f9f3f0;}
.nav-2 > li { width: calc(100% / 2);}
.nav-3 > li { width: calc(100% / 3);}
.nav-4 > li { width: calc(100% / 4);}
.nav-5 > li { width: calc(100% / 5);}
.nav-6 > li { width: calc(100% / 6);}
.nav-7 > li { width: calc(100% / 7);}
.nav-8 > li { width: calc(100% / 8);}
.nav-local03{
  border-bottom: 1px solid #e9e9e9;
}
.nav-local03 ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto 0 auto;
}
.nav-local03 li {
  text-align: center;
  font-size: 1.3rem;
}
.nav-local03 li a {
  padding: 0 0 0 0;
  height: 54px;
  color: #000000;
  text-decoration: none;
  vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
  transition: all .3s;
}
.nav-local03 li a.active, .nav-local03 li a:hover,.nav-local03 ul.page-top li:first-child a { background: #f9f3f0;}
/*ローカルナビ*/
.navi-local-top{
  max-width: 1200px;
  margin: 0 auto 40px;
  padding: 0 8px;
  padding-top: 35px;
}
.navi-local-top ul{
  display: flex;
  flex-wrap: wrap;
}
.navi-local-top li + li{
  margin-left: 25px;
}
.navi-local-top li a{
  width: 200px;
  height: 38px;
  line-height: 38px;
  display: block;
  font-size: 1.4rem;
  text-align: center;
  border: 1px solid #66b2c0;
  border-radius: 19px;
  background: rgba(255,255,255,0.75);
  color: #000;
  transition: .3s;
  text-decoration: none;
}
.navi-local-top li.active,.navi-local-top li a:hover{
  color: #FFFFFF;
  background: rgba(102,178,192,1.0);
  border-radius: 19px;
  transition: .3s;
}
.nav-main-list .nav-set{
  position: relative;
}
.nav-main-list .nav-set::after {
  content: '';
  display: block;
  height: 1px;
  width: 38px;
  background: #54b5c7;
  position: absolute;
  bottom: -8px;
  left: 35%;
  transform: translateX(-35%);
  transform: scale(0, 1);
  transition: .3s;
}
/* リスト */
.list-dot li {
  /* ドット */
  list-style-type: none !important;
  list-style-image: none !important;
  position: relative;
  padding-left: 14px;
}
.list-dot li::after {
  display: block;
  content: '';
  position: absolute;
  top: .7em;
  left: 0em;
  width: 3px;
  height: 3px;
  background-color: #333333;
  border-radius: 100%;
}
/* 表 */
.info-basic{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 60px auto;
  border-top: 1px solid #dddddd;
}
.info-basic p{ line-height: 2.0; color: #565656; margin-bottom: 15px;}
.info-basic.size-s p{ line-height: 1.6;}
.details main section .info-basic p:last-child{ margin-bottom: 0px;}
.info-basic tr{ border-bottom: 1px solid #dddddd;}
.info-basic th{
  background: #f6f4f0;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: bold;
  color: #565656;
  padding: 30px 18px 30px 18px;
  vertical-align: top;
}
.info-basic.size-s th{ padding: 10px 12px 10px 12px;font-size: 1.4rem;}
.info-basic td{
  font-size: 1.6rem;
  line-height: 1.6;
  color: #565656;
  padding: 30px 10px 30px 18px;
  text-align: left;
}
.info-basic.size-s td{ padding: 10px 10px 10px 18px;text-align: left;font-size: 1.4rem;}
.info-basic .type{
  display: flex;
  flex-wrap: wrap;
}
.info-basic .type li{
  margin: 0 20px 0 0;
  text-align: center;
  font-size: 1.4rem;
}
.info-basic .type li img{ margin-bottom: 18px;}
.info-basic em{ font-weight: bold;}
.info-basic caption{
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 18px;
}
.info-line {
  border-collapse: collapse;
  margin: 0 auto 15px;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}
.info-line tr {
  background-color: #fff;
  border: 1px solid #dedede;
  padding: .35em;
}
.info-line th,
.info-line td {
  padding: 1em 10px 1em 1em;
  border-right: 1px solid #dedede;
  line-height: 1.6;
}
.info-line th {
  font-size: .85em;
}
.info-line thead tr{
  background-color: #F6F4F0;
}
.info-line .txt{
  text-align: left;
}
.info-line .price{
  text-align: right;
}

table.type01 {
  width: 100%;
  margin: 0 auto 30px 0;
  font-size: 1.2rem;
  white-space: nowrap;
}
table.type01 th{
  background-color: #fbf7f2;
}
table.type01 th, table.type01 td {
  padding: 4px 12px;
  text-align: center;
  border: 1px solid #e9dbca;
  vertical-align: middle;
}
table.type02 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 0 auto;
  border-collapse: collapse;
}
table.type02 thead th {
  border-top: 2px solid #e9dbca;
}
table.type02 th, table.type02 td {
  padding: 6px 20px;
  text-align: center;
  border-bottom: 1px solid #e9dbca;
}
table.type02 tbody th{
  font-weight: bold;
}
/* リンク */
a {outline: none;/* fireFox boder */}
a {
  color: #000;
  -webkit-tap-highlight-color: rgba(00, 33, 99, 0.3);
  /* タップ時の背景色 */
}
a:link {
  color: #0a9acf;
  text-decoration: underline;
}
a:visited {
  color: #0a9acf;
  text-decoration: underline;
}
a:hover {
  color: #e7762f;
  text-decoration: underline;
  opacity: .8;
}
a:active {
  color: #e7762f;
  text-decoration: underline;
}
a.pdf {
  background: none;
  margin: 0;
  padding: 0;
  position: relative;
}
a.pdf :after {
  content: " ";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("/asset/img/icon_pdf.png") no-repeat 0 4px;
  margin: 0 6px 0 6px;
  padding: 2px 0 2px 0;
}
/* a[href$=".pdf"] {
  background: none;
  margin: 0;
  padding: 0;
  position: relative;
}
a[href$=".pdf"]:after {
  content: " ";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("/asset/img/icon_pdf.png") no-repeat 0 4px;
  margin: 0 6px 0 6px;
  padding: 2px 0 2px 0;
} */
.info-sub ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 1.6rem;
  margin-bottom: 70px;
}
.info-sub li {
  background: none !important;
  text-align: center;
  position: relative;
}
.info-sub li + li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 35%;
  width: 1px;
  height: 12px;
  background-color: #c7c7c7;
}
.info-sub li a {
  color: #565656;
  display: block;
  font-size: 1.4rem;
  margin: 0 0 0 0;
  padding: 8px 20px 8px 20px;
  text-decoration: none;
}
/* リンク 画像 hover時 */
.effect_img {
  display: block;
  position: relative;
  text-decoration: none;
}
.effect_img picture{
  display: block;
  position: relative;
}
.effect_img picture::before {
  content: "READ MORE";
  display: block;
  color: #fff;
  line-height: 48px;
  width: 180px;
  border: solid 1px #fff;
  border-radius: 5px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1em;
  margin-left: -90px;
  opacity: 0;
  z-index: 3;
  transition: 0.3s;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.effect_img:hover img {
  filter: blur(5px);
}
.effect_img:hover picture:before {
  opacity: 1;
  margin-top: -0.5em;
}
/* ボタン */
.btn-more a{
  width: 100%;
  max-width: 280px;
  display: block;
  height: 46px;
  line-height: 46px;
  border-radius: 23px;
  border: 1px solid #66b2c0;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  color: #000;
  background-color: #FFFFFF;
  transition: .3s;
}
.btn-more a:hover{
  transition: .3s;
  background-color: #e8f4f6;
}
.btn-more-s a{
  width: 100%;
  max-width: 200px;
  height: 30px;
  line-height: 30px;
  border-radius: 15px;
  font-size: 1.2rem;
}
.btn-normal a{
  width: 86%;
  max-width: 340px;
  text-decoration: none;
  display: block;
  margin: 15px auto 0;
  padding: 12px 0 12px 0;
  color: #000;
  border: 1px solid #000;
  border-radius: 6px;
  text-align: center !important;
}
.btn-place{
  text-align: left;
}
.btn-place a{
  display: inline-block;
  font-size: 1.6rem;
  margin: 0 0 25px 0;
  padding: 10px 28px 10px 16px;
  background: #f6f4f0;
  position: relative;
  text-decoration: none;
  color: #333333;
}
.btn-place a::after{
  content: '';
  width: 9px;
  height: 9px;
  border: 0px;
  border-top: solid 2px #333333;
  border-right: solid 2px #333333;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -4px;
}
.btn-purple{
  width: 90%;
  max-width: 850px;
  margin: 0 auto 30px auto;
}
.btn-purple a{
  display: block;  
  padding: 32px 0 32px 0;
  background: #a83d68;
  color: #FFFFFF;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  border-radius: 3px;
  text-decoration: none;
}
.btn-purple a::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}
.btn.normal a{
  width: 80%;
  max-width: 350px;
  display: block;
  margin: 0 auto 0;
  padding: 20px 0 20px;
  position: relative;
  text-align: center;
  color: #000;
  text-decoration: none;
  background: url("/asset/img/bg_cloth.jpg") center center;
  border-radius: 6px;
}
.btn.normal a::after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #000000;
  border-right: solid 2px #000000;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}
.btn-toggle dt{
  width: 90%;
  max-width: 350px;
  display: block;
  margin-bottom: 20px;
  padding: 16px 0;
  text-align: center;
  cursor: pointer;
  position: relative;
  border: 1px solid #000;
  border-radius: 6px;
  position: relative;
}
.btn-toggle dd{
  display: none;
}
.btn-toggle dt::after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -4px;
}
.btn-toggle dt.active::after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -4px;
}
.tel{
  width: 90%;
  max-width: 850px;
  margin: 0 auto 20px auto;
}
.tel a{
  display: block;
  padding: 32px 0 32px 0;
  background: #FFFFFF;
  color: #333333;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  border-radius: 3px;
  text-decoration: none;
	border: 1px solid #333333;
}

.btn-return{
  width: 90%;
  max-width: 850px;
  margin: 40px auto 20px auto;
}
.btn-return a{
  display: block;
  padding: 32px 0 32px 0;
  background: #FFFFFF;
  color: #333333;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  border: 1px solid #000000;
  border-radius: 3px;
  text-decoration: none;
}
.btn-return a::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #333333;
  border-right: solid 2px #333333;
  -ms-transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -4px;
}
.btn-blue{
  width: 90%;
  max-width: 850px;
  margin: 0 auto 30px auto;
}
.btn-blue a{
  display: block;
  padding: 32px 0 32px 0;
  background: #70c5d4;
  color: #FFFFFF;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  border-radius: 3px;
  text-decoration: none;
}
.btn-blue a::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}
.btn-blue a[target="_blank"]::before{
  content: '';
  width: 12px; height: 10px;
  background-size: 12px 10px;
  border:none;
  background:url("/asset/img/icon_blank_white.png") no-repeat;
  transform:none;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}
.btn-normal2{
  width: 90%;
  max-width: 700px;
  margin: 40px auto 20px auto;
}
.btn-normal2 a{
  display: block;
  padding: 26px 0 26px 0;
  background: #FFFFFF;
  color: #333333;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  border: 1px solid #000000;
  border-radius: 3px;
  text-decoration: none;
}
.btn-normal2 a::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #333333;
  border-right: solid 2px #333333;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}
.btn.s-large.type-blue a{
  width: 100%;
  max-width: 280px;
  display: block;
  height: 46px;
  line-height: 46px;
  border-radius: 23px;
  border: 1px solid #54b5c7;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  color: #FFFFFF;
  background-color: #54b5c7;
  transition: .3s;
}
.btn.s-large.type-normal a{
  width: 100%;
  max-width: 340px;
  display: block;
  height: 46px;
  line-height: 46px;
  border-radius: 23px;
  border: 1px solid #54b5c7;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  color: #000000;
  background-color: #FFFFFF;
  transition: .3s;
}
.btn.s-small.type-blue a{
  width: 100%;
  max-width: 260px;
  display: block;
  height: 34px;
  line-height: 34px;
  border-radius: 17px;
  border: 1px solid #54b5c7;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  color: #FFFFFF;
  background-color: #54b5c7;
  transition: .3s;
}
.btn.s-small.type-normal a{
  width: 100%;
  max-width: 260px;
  display: block;
  height: 34px;
  line-height: 34px;
  border-radius: 17px;
  border: 1px solid #54b5c7;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  color: #000000;
  background-color: #FFFFFF;
  transition: .3s;
}
/* 見出し */

.title-line-s {
/* 左右短い線 */
  position: relative;
  display: inline-block;
  padding: 0 72px;
}
.title-line-s::before,.title-line-s::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 60px;
  height: 1px;
  background-color: #cccccc;
}
.title-line-s2 {
  position: relative;
  display: inline-block;
  padding: 0 115px;
}
.title-line-s2::before,.title-line-s2::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 88px;
  height: 1px;
  background-color: #cccccc;
}
.title-line-s::before,.title-line-s2::before {
  left: 0;
}
.title-line-s::after,.title-line-s2::after {
  right: 0;
}
/* 背景グレイ見出し */
.title-grey{
  max-width: 1400px;
  background-color: #f5f3ef;
  border-radius: 3px;
  text-align: center;
  margin: 0 auto 35px auto;
  padding: 8px 20px 8px;
  font-size: 2.4rem;
  font-weight: 300;
}

/* 遅延読み込み */
.lazy {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 1s;
}
.lazy.loaded {
  transform: translate(0, 0);
  opacity: 1;
}
.in-viewport {
  animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
/* anime */

/* sitemap */
.pankuzu{
  text-align: left;
  margin: 20px 0 50px 0;
}
.breadcrumb{
  max-width: 1200px;
  margin: 0 auto 20px auto;
  padding: 10px 10px 10px;
}
.breadcrumb a{
  font-size: 1.3rem;
  color: #8a8a8a;
  text-decoration: none;
}
.breadcrumb li{
  display:inline;
  list-style: none;
}
.breadcrumb li::after{
  content: '>';
  padding: 0 8px;
  color: #8a8a8a;
}
.breadcrumb li:last-child::after{
  content: '';
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.details-index .pankuzu{
  display: none;
}
/* 注記 */
.note{
  margin: 0px 0 0 0px;
  text-align: left;
}
.note dt{
  font-size: 2.2rem;
  margin-bottom: 13px;
  font-weight: bold;
  margin-left: 15px;
  position: relative;
}
.note dt::before {
  content: '';
  width: 12px;
  height: 12px;
  display: inline-block;
  border-radius: 100%;
  background: #FFFFFF;
  border: 3px solid #3db8e0;
  position: relative;
  left: -10px;
  top: 2px;
}
.note dd ul{
  margin:0 0 0 20px;
}
.note dd li{
  margin:0 0 6px 0;
  padding: 0 0 0 15px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.note dd li::before {
  content: '';
  width: 4px;
  height: 4px;
  display: inline-block;
  border-radius: 100%;
  background: #565656;
  position: relative;
  left: -10px;
  top: -3px;
}
.note.kome > ul{
  margin-left: 2em;
}
.note.kome > ul li{
  position: relative;
  line-height: 1.6;
  font-size: 1.4rem;
  margin-bottom: 6px;
}
.note.kome > ul li::before{
  content: "※";
  margin-left: -1em;
}

.note.list ul{
  margin:0 0 0 20px;
}
.note.list li{  
  font-size: 1.6rem;
  line-height: 1.6;
	list-style-type: none !important;
  list-style-image: none !important;
  position: relative;
	margin:0 0 6px 0;
  padding-left: 14px;
}
.note.list li::after {
  display: block;
  content: '';
  position: absolute;
  top: .7em;
  left: 0em;
  width: 3px;
  height: 3px;
  background-color: #333333;
  border-radius: 100%;
}

.icon-circle{
  text-align: left;
  margin-left: 20px;
  margin-bottom: 30px;
}
.icon-circle li,.icon-circle dd{
  position: relative;
  margin-bottom: 10px;
  line-height: 1.6;
  padding-left:12px;
  text-indent: -12px;
}
.icon-circle li::before ,.icon-circle dd::before{
  content: '';
  width: 12px;
  height: 12px;
  display: inline-block;
  border-radius: 100%;
  background: #FFFFFF;
  border: 3px solid #3db8e0;
  position: relative;
  left: -10px;
  top: 0px;
}
/* 背景 */
.fallback .bg_paper{ background: url("/asset/img/bg_paper.jpg") center top;}
.webp .bg_paper{ background: url("/asset/img/bg_paper.webp") center top;}
.avif .bg_paper{ background: url("/asset/img/bg_paper.avif") center top;}

/* ページナビ ==== */
.content-nav ul {
  margin: 0;
  padding: 45px 0 0px;
  text-align: center;
}
.content-nav ul li {
  display:inline-block;
  margin-right:8px;
  margin-bottom: 8px;
}
.content-nav ul li .current_page {
  display: -moz-inline-box; /* firefox2 */
  display: inline-block;
  padding: 5px 8px;
  background-color: #000000;
  border: 1px #000000 solid;
  color:#ffffff;
  font-weight:normal;
}
.content-nav ul li a {
  display: -moz-inline-box; /* firefox2 */
  display: inline-block;
  padding: 5px 8px;
  border: 1px #acacac solid;
  list-style-type: none;
  text-decoration:none;
}
.content-nav ul li a:link,
.content-nav ul li a:visited {
  color: #373737;
}
.content-nav ul li a:hover,
.content-nav ul li a:active {
  background-color: #000000;
  color: #FFFFFF;
}
/* 動画 */
.movie-wrap {
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
.movie-wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}
.movie-set2{
  width: 100%;
  max-width: 560px;
  margin: 0 auto 50px auto;
}
.movie-wrap2 {
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
.movie-wrap2 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* バナー */
.Bnr{
  position: relative;
  display: none;
  z-index: 100;
}
.Bnr img{
  display: inherit;
}
.Bnr .Bnr__img{
  position: fixed;
  bottom: 10px;
  left: 10px;
  z-index: 110;
}
.Bnr__img__inner{
  width: 350px;
  height: 70px;
  box-sizing:border-box;
}
.Bnr .Bnr__img__inner a{ display: block;}
.Bnr .Bnr__img .close{
  position: absolute;
  right: 0px;
  top:0px;
}
.Bnr .Bnr__img .close a{
  display: block;
  width: 50px;
  height: 30px;
  text-align: center;
}
.Bnr .Bnr__img .close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
/* main-vis */
#mainvis{
  margin-bottom: 75px;
}
#mainvis.normal {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
#mainvis.normal h1{
  font-size:1.6rem;
  color: #FFFFFF;
}
#mainvis.normal h1 span{
  font-size:clamp(1.8rem, 4.0vw, 4.8rem);
  display: block;
}
#mainvis.normal.s-medium{
  height: 500px;
}
#mainvis.normal.s-small{
  height: 300px;
}
/* フッタープランエリア */
.plan-area{
  background-color: #ecf2f5;
  padding: 65px 10px 65px;
}
.plan-area img{
  border-radius: 6px;
}
.plan-area.plan-set1 .column{
  max-width: 1000px;
  margin: 0 auto 0;
  align-items: center;
}
.plan-area.plan-set1 .img{
  width: 40%;
}
.plan-area.plan-set1 .text{
  width: 50%;
}
.plan-area.plan-set1 .title{
  font-size:clamp(2.0rem, 2.5vw, 3.0rem);
  margin-bottom: 15px;
  line-height: 1.3;
}
.plan-area.plan-set1 .info{
  margin-bottom: 30px;
}
.plan-area.plan-set3 h2{
  text-align: center;
  margin: 0 auto 40px;
  line-height: 1.4;
  font-size:clamp(1.8rem, 2.5vw, 3.0rem);
}
.plan-area.plan-set3 h2 span{
  font-size: 1.6rem;
  display: block;
}
.plan-area.plan-set3 .column{
  max-width: 1300px;
  margin: 0 auto 0;
}
.plan-area.plan-set3 .set{
  width: 30%;
  margin-bottom: 55px;
}
.plan-area.plan-set3 .title{
  margin: 20px auto 12px 0;
  line-height: 1.4;
  font-size:1.7rem;
  color: #54b5c7;
  font-weight: bold;
}
.plan-area.plan-set3 p.info{
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.plan-area.plan-set3 .set a{
  margin: 0 auto 0;
}
.plan-area.plan-set3 > .btn a{
  text-align: center;
  margin: 0 auto 0;
}
/* remodal */
.remodal{
	max-width: 900px !important;
	border-radius: 6px;
	padding: 40px 50px 0;
	text-align: left;
}
.remodal.photo{
	max-width: 1100px !important;
	border-radius: 6px;
	padding: 5px 5px 20px;
	text-align: left;
  text-align: center;
}
.remodal .title{
	font-size: 2.4rem;
	margin-bottom: 10px;
  text-align: left;
  font-family:'Noto Sans JP' ,"メイリオ", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.remodal .title2{
  margin-bottom: 4px !important;
  font-weight: bold;
}
.remodal .inr{
	border-top: 1px solid #d3d3d3;
	padding: 25px 0 0;
}
.remodal.photo .inr{
	border-top: none;
	padding: 5px 0 20px;
  text-align: center;
}
.remodal .inr p{
	margin-bottom: 30px;
  font-size: 1.4rem;
}
.remodal dl{
  overflow: hidden;
  margin-bottom: 15px;
}
.remodal dt {
  width: 100px;
  float: left;
  clear: both;
  font-weight: bold;
  font-size: 1.4rem;
}
.remodal  dd {
  padding: 0 0 5px 120px;
  font-size: 1.4rem;
}
.remodal ul{margin-bottom: 20px;}
.remodal li{
  font-size: 1.4rem;
}
.remodal .remodal-close.close01{
	left: auto !important;right: 0 !important;
}
.remodal .remodal-close.close01::before{
	left: auto !important;right: 0 !important;
}
.remodal .close02{
	display: block;
	width: 80%;
	max-width: 180px;
	height: 36px;
	border: 1px solid #d3d3d3;
	border-radius: 6px;
	left: auto;right: auto;
	top: auto;bottom: 0;
	margin: 0 auto 0;
	cursor: pointer;
	background-color: #FFFFFF;
}
.remodal .close02::before{
	content: "close";
	font-size: 1.4rem;
	left: auto;right: auto;
	top: auto;bottom: 0;
	margin: 0 auto 0;
}
/* All END */



/* ----------------------------------------------------
- 520px (Smartphone layout Only)
---------------------------------------------------- */
@media (max-width: 520px) {



  /* - 520px (Smartphone layout Only) END */
}

/* ----------------------------------------------------
- 960px (Smartphone Tablet layout Only)
---------------------------------------------------- */
@media (max-width: 960px) {

.col-free { display: block;}
.col-free > section, .col-free > div, .col-free > li, .fluid { width: 100%; margin: 0;}
.col > section, .col > div, .col > li, .fluid { width: 100%;  margin: 0}
.col li + li{ margin-top: 15px;}
.details .col li p{ text-align: left; margin: 0 10px 20px 10px;}


/* 見出し */
/* 背景グレイ見出し */
.title-grey{
  margin: 0 auto 28px auto;
  font-size: 2.0rem;
}
/* 表 */
.scroll-table {
	max-width: 1140px;
  margin: 0 auto 0 auto;
  overflow-x: auto;
  background: linear-gradient(to left, hsla(0,0%,100%,0), white 15px) 0 0 / 50px 100%,
    linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) 0 0/20px 100%,
    linear-gradient(to right, hsla(0,0%,100%,0), white 15px) right / 50px 100%,
    linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) right/20px 100%;
  background-repeat: no-repeat;
  background-attachment: local, scroll, local, scroll;
  border-right: 1px solid #CCC;
  margin-bottom: 35px;
}
.info-basic{
  width: 100%;
  max-width:none;
  margin: 0 auto 20px auto;
  border-top: none;
}
.info-basic tr{
  border-bottom: none;
}
.info-basic th{
  background: #f6f4f0;
  border-top: 1px solid #dddddd;
  font-size: 1.4rem;
  font-weight: bold;
  color: #565656;
  padding: 8px 8px 8px 10px;
  vertical-align: top;
  display: block;
  width: 100%;
}
.info-basic td{
  font-size: 1.4rem;
  color: #565656;
  padding: 12px 8px 30px 10px;
  text-align: left;
  display: block;
  width: 100%;
}
.info-basic .type{
  display: flex;
  flex-wrap: wrap;
}
.info-basic .type li{
  width: 46%;
  margin: 0 0 20px 0;
  text-align: center;
  font-size: 1.4rem;
}
.info-basic .type li img{
  margin-bottom: 18px;
}
.info-line {
  border: 0;
  width:100%
}
.info-line th{
  background-color: #F6F4F0;
  display: block;
  border-right: none;
}
.info-line thead {
  border: none;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.info-line tr {
  display: block;
  margin-bottom: .625em;
}
.info-line td {
  border-bottom: 1px solid #dedede;
  display: block;
  font-size: .8em;
  text-align: right;
  position: relative;
  padding: .625em .625em .625em 4em;
  border-right: none;
}
.info-line td::before {
  content: attr(data-label);
  font-weight: bold;
  position: absolute;
  left: 10px;
}
.info-line td:last-child {
  border-bottom: 0;
}
table.type02 {
  width: 100%;
  margin: 0 auto 0 auto;
  font-size: 1.2rem;
  white-space: nowrap;
}
table.type02 th, table.type02 td {
  padding: 3px 12px;
  text-align: center;
}
/*ボタン*/
.btn-place a{
  display: inline-block;
  font-size: 1.6rem;
  margin: 0 0 25px 0;
  padding: 10px 28px 10px 8px;
  background: #f6f4f0;
  position: relative;
  text-decoration: none;
  color: #333333;
}

/* 注記 */
.note{
  margin: 0px 10px 0 10px;
  text-align: left;
}
.note dt{
  font-size: 1.6rem;
  margin-bottom: 13px;
  font-weight: bold;
}
.note dt::before {
  content: '';
  width: 12px;
  height: 12px;
  display: inline-block;
  border-radius: 100%;
  background: #FFFFFF;
  border: 3px solid #3db8e0;
  position: relative;
  left: -10px;
  top: -4px;
}
.note dd ul{
  margin:0 0 0 10px;
}
.note dd li{
  margin:0 0 6px 0;
  padding: 0 0 0 15px;
  font-size: 1.4rem;
}
.note.kome > ul{
  margin-left: 1.5em;
}
.note.kome > ul li{
  position: relative;
  font-size: 1.4rem;
}
.note.kome > ul li::before{
  content: "※";
  margin-left: -1em;
}
/* リンク */
.info-sub{
  padding-top: 20px;
  background-color: #FFFFFF;
}
.info-sub ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 1.6rem;
  margin-bottom: 0px;
  padding-bottom: 30px;
}
/* パンくず  */
.breadcrumb{
  display: none;
}
/* マップ */
.map{
	margin:0 auto  40px;  
}
/* バナー */
.Bnr{
  display: none;
}
/* main-vis */
#mainvis{
  margin-bottom: 35px;
  padding-top: 93%;/* 高さ700px */
}
#mainvis.normal h1{
  font-size:1.8rem;
  color: #FFFFFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  white-space: nowrap;
}
#mainvis.normal h1 span{
  font-size:clamp(2.8rem, 4.0vw, 4.8rem);
  display: block;
}
#mainvis.normal.s-medium{
  height: auto;
}
#mainvis.normal.s-small{
  height: auto;
}
/*ローカルナビ*/
.navi-local.navi-local-footer{
  width: 100%;
  margin: 0 auto 40px;
  padding-top: 35px;
}
.navi-local.navi-local-footer ul{
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #dfdfdf;
}
.navi-local.navi-local-footer li{
  width: 100%;
  border-bottom: 1px solid #dfdfdf;
}
.navi-local.navi-local-footer li a{
  position: relative;
  width: 100%;
  padding: 14px 20px 14px 15px;
  display: block;
  font-size: 1.4rem;
  text-align: left;
  color: #000;
  text-decoration: none;
}
.navi-local.navi-local-footer li a::after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #5bc0de;
  border-right: solid 2px #5bc0de;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}
.navi-local.navi-local-footer li.active,.navi-local.navi-local-footer li a:hover{
  background-color:#ececec;
}
.nav-main-list .nav-set::after {
  display: none !important;
}
/* フッタープランエリア */
.plan-area{
  background-color: #ecf2f5;
  padding: 30px 10px 40px;
}
.plan-area.plan-set1 .img{
  width: 90%;
  max-width: 400px;
  margin-bottom: 20px;
}
.plan-area.plan-set1 .text{
  width: 100%;
}
.plan-area.plan-set3 .set{
  width: 90%;
  margin: 0 auto 60px;
}

/* remodal */
.remodal{
	padding: 10px 10px 15px !important;
	text-align: left;
}
.remodal.photo{
	padding: 5px 5px 15px !important;
	text-align: left;
}
.remodal .category{
	display: inline-block;
	font-size: 1.2rem;
}
.remodal .title{
	font-size: 1.6rem;
}
.remodal .inr p{
	margin-bottom: 20px;
}
.remodal .remodal-close.close01{
	left: auto !important;right: 0 !important;
}
.remodal .remodal-close.close01::before{
	left: auto !important;right: 0 !important;
}
.remodal .close02{
	display: block;
	width: 80%;
	max-width: 180px;
	height: 36px;
	border: 1px solid #d3d3d3;
	border-radius: 6px;
	left: auto;right: auto;
	top: auto;bottom: 0;
	margin: 0 auto 0;
	cursor: pointer;
	background-color: #FFFFFF;
}
.remodal .close02::before{
	content: "close";
	font-size: 1.4rem;
	left: auto;right: auto;
	top: auto;bottom: 0;
	margin: 0 auto 0;
}
/* - 960px (Smartphone Tablet layout Only) END*/
}

/* ----------------------------------------------------
961px-
---------------------------------------------------- */
@media (min-width: 961px) {

/*ローカルナビ*/
.navi-local{
  max-width: 1200px;
  margin: 0 auto 40px;
  padding: 0 8px;
  padding-top: 35px;
}
.navi-local ul{
  display: flex;
  flex-wrap: wrap;
}
.navi-local li + li{
  margin-left: 25px;
}
.navi-local li a{
  width: 200px;
  height: 38px;
  line-height: 38px;
  display: block;
  font-size: 1.4rem;
  text-align: center;
  border: 1px solid #66b2c0;
  border-radius: 19px;
  background: rgba(255,255,255,0.75);
  color: #000;
  transition: .3s;
  text-decoration: none;
}
.navi-local li.active,.navi-local li a:hover{
  color: #FFFFFF;
  background: rgba(102,178,192,1.0);
  border-radius: 19px;
  transition: .3s;
}

  /* 961px - END*/
}

/* ----------------------------------------------------
- 1200px (Pc layout Only コンテンツ内 基本幅)
---------------------------------------------------- */
@media (max-width: 1200px) {



  /* - 1200px (Pc layout Only) END*/
}

/* ----------------------------------------------------
- 1920px (Pc layout Only)
---------------------------------------------------- */
@media (max-width: 1920px) {



  /* - 1920px - END*/
}

/* ----------------------------------------------------
1921px- (Pc layout Only Wide)
---------------------------------------------------- */
@media (min-width: 1921px) {



  /* 1921px - END*/
}