html {
  scroll-behavior: smooth;
}

* {
margin:0;
padding:0;
}

.roomimg {
  width: 100%;
}

.cookingimg {
  width: 296px;
}

.cbox {
  background-color: lemonchiffon;
}

/*noto sans*/
.noto {font-family: 'Noto Sans JP', sans-serif; font-weight: 500;}
.noto-bold {font-family:'Noto Sans JP', sans-serif; font-weight: 700;}
.noto-bold-e {font-family:'Noto Sans' sans-serif; font-weight: 700;}

/*改行*/
.pc-br { display:block;}
.sp-br { display:none;}

/*フォントサイズ*/
.font12 { font-size:12px; }
.font14 { font-size:14px; }
.font15 { font-size:15px; }
.font16 { font-size:16px; }
.font17 { font-size:17px; }
.font18 { font-size:18px; }
.font19 { font-size:19px; }
.font20 { font-size:20px; }
.font21 { font-size:21px; }
.font22 { font-size:22px; }
.font23 { font-size:23px; }
.font24 { font-size:24px; }
.font25 { font-size:25px; }
.font26 { font-size:26px; }
.font27 { font-size:27px; }
.font28 { font-size:28px; }
.font29 { font-size:29px; }
.font30 { font-size:30px; }
.font32 { font-size:32px; }
.font34 { font-size:34px; }
.font36 { font-size:36px; }
.font38 { font-size:38px; }
.font40 { font-size:40px; }
.font42 { font-size:42px; }
.font50 { font-size:50px; }
.font60 { font-size:60px; }
.font65 { font-size:65px; }
.font70 { font-size:70px; }
.font80 { font-size:80px; }
.font90 { font-size:90px; }
.font100 { font-size:100px; }
.f-palt { font-feature-settings: "palt";}
.ls10 {  letter-spacing:0.2em; }

/*余白など*/
.mt10 { margin-top:10px!important;}
.mt20 { margin-top:20px!important;}
.mt40 { margin-top:40px!important;}
.mt60 { margin-top:60px!important;}
.mt80 { margin-top:80px!important;}

.mt0 { margin:0!important;}
.mt-5 { margin-top:-5px!important;}
.mt-10 { margin-top:-10px!important;}
.mt-20 { margin-top:-20px!important;}
.mt-40 { margin-top:-40px!important;}
.mt-50 { margin-top:-50px!important;}
.mt-60 { margin-top:-60px!important;}
.mt-70 { margin-top:-70px!important;}
.mt-80 { margin-top:-80px!important;}

.pt10 { padding-top:10px!important;}
.pt20 { padding-top:20px!important;}
.pt40 { padding-top:40px!important;}
.pt60 { padding-top:60px!important;}
.pt80 { padding-top:80px!important;}

.pb10 { padding-bottom:10px!important;}
.pb20 { padding-bottom:20px!important;}
.pb40 { padding-bottom:40px!important;}
.pb60 { padding-bottom:60px!important;}
.pb80 { padding-bottom:80px!important;}
.pb120 { padding-bottom:120px!important;}


/*アコーディオン*/
summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}



div#floating-menu {
	display:block;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1;
}

/*フッター追加*/
.footerUnit {
	padding-top: 30px;
	border-top: 1px solid #4f4f4f;
}
/* footerLogo */
.footerLogoRayard img {
	width: 200px;
}
/* footerNav */
.footerNav05,
.footerNav06 {
	width: 200px;
}
.footerNavRayard {
	text-align: center;
}
.footerNavRayard dl {
	text-align: left;
}

/*ものみゆさん*/
.w1000 { width:1000px; margin:0 auto;}
.w920 { width:920px; margin:0 auto;}
.w860 { width:860px; margin:0 auto;}
.w855 { width:855px; margin:0 auto;}
.w756 { width:756px; margin:0 auto;}
.w722 { width:722px; margin:0 auto;}
.w660 { width:660px; margin:0 auto;}
.w644 { width:644px; margin:0 auto;}
.w632 { width:630px; margin:0 15px;}
.w620 { width:620px; margin:0 auto;}
.w560 { width:560px; margin:0 auto;}
.w540 { width:540px; margin:0 auto;}
.w530 { width:530px; margin:0 auto;}
.w532 { width:532px; margin:0 auto;}
.w480 { width:480px; margin:0 auto;}

.bg-model { background-image: url("../image/bg-model.png"); background-repeat: repeat; background-position: top center; padding:40px 0;}
.bg-about { background-image: url("../image/bg-about.png"); background-repeat: repeat; background-position: top center; padding:40px 0;}
.bg-stamp { background-image: url("../image/bg-stamp.png"); background-repeat: repeat; background-position: top center; padding:40px 0;}
.bg-tokuten { background-image: url("../image/bg-tokuten.png"); background-repeat: repeat; background-position: top center; padding:40px 0;}

.bg-kadomaru { background-color: #fff; border-radius: 25px; padding:50px 0;}
.box-model-1 { box-sizing: border-box; border:solid 3px #e39d63; background-color: #f5eadc; }
.box-model-2 { box-sizing: border-box; border:solid 3px #b7cb4f; background-color: #f0f2dc; }
.box-model-3 { box-sizing: border-box; border:solid 3px #87ccc0; background-color: #e7f5f3; }
.box-model-4 { box-sizing: border-box; border:solid 3px #932e44; background-color: #e1d0cf; }

.f-ctr { text-align: center;}
.f-jst {text-align: justify; }
.f-jst1 {text-align: justify; text-justify: inter-character; line-break: strict; font-feature-settings: "palt";　hanging-punctuation: allow-end; word-break: normal;}
.f-red { color:#e60012;}
.f-blue { color:#002b60;}
.f-blue1 { color:#053b64;}
.position { position: relative;}
.coupon { position:absolute; top: 50%; transform: translateY(-50%); margin:0 auto; right:0;}
.obi { background-color:#003b64; text-align: center; height:1.8em; line-height: 1.8em; color:#fff; }
.obi-org { background-color:#cf573e; text-align: center; height:1.8em; line-height: 1.8em; color:#fff; }

.bd-blue { border:2px solid #002b60; border-radius:20px; padding:40px 0;}
.join { position:absolute; top:-20px; }
.gray { background-color: #ebf3e9; padding:30px 0 ;}
.gray1 { background-color: #ebf3e9; padding:0 0 0 0 ;}
ul.step1 { list-style: none; display:flex; align-items: center;}
ul.step1 li:nth-child(1) { width:420px;}
ul.step3 { list-style: none; display:flex; align-items: center;}
ul.step3 li:nth-child(1) { width:310px;}
ul.step4 { list-style: none; display:flex; align-items: center;}
ul.step4 li:nth-child(1) { width:458px;}
ul.step5 { list-style: none; display:flex; align-items: center;}
ul.step5 li:nth-child(1) { width:297px;}


.f-bg1 { background-color:#053b64; display: inline-block; padding:0.3em 0.6em; color:#fff; }

.box-detail { font-size:20px; text-align: justify; height:16em;}
.sub-tab { display:flex; width:644px; justify-content: space-between; margin:0 auto;}
.sub-tab1 { display:flex; width:430px; justify-content: space-between; margin:0 auto; flex-wrap:wrap; row-gap: 30px;}

.box-c { box-sizing: border-box; border:solid 2px #e39d63; border-top:none; border-radius:0 0 15px 15px; background-color:#fff; padding-bottom:40px; position: relative;}
.box-f { box-sizing: border-box; border:solid 2px #b7cb4f; border-top:none; border-radius:0 0 15px 15px; background-color:#fff; padding-bottom:40px; position: relative;}
.box-m { box-sizing: border-box; border:solid 2px #87ccc1; border-top:none; border-radius:0 0 15px 15px; background-color:#fff; padding-bottom:40px; position: relative;}
.box-p { box-sizing: border-box; border:solid 2px #942c44; border-top:none; border-radius:0 0 15px 15px; background-color:#fff; padding-bottom:40px; position: relative;}

.caption { width:532px; position:absolute; bottom:20px; left: 50%; transform: translateX(-50%);}
.metro { display:flex; align-items: center;}
.metro .icon-card { width:195px!important; height:auto;}
.metro .icon-cap { width:527px!important; height:auto;}

.box-c1 { box-sizing: border-box; border:solid 2px #e39d63; border-top:none; border-radius:0 0 24px 24px; background-color:#fff; padding-bottom:40px; position: relative;}
.ttl-c { background-color:#e39d63; padding:0.15em 0 0.25em 0; color:#fff; text-align: center; border:solid 2px #e39d63; border-bottom:none; border-radius:24px 24px 0 0; }
.box-f1 { box-sizing: border-box; border:solid 2px #b7cb4f; border-top:none; border-radius:0 0 24px 24px; background-color:#fff; padding-bottom:40px; position: relative;}
.ttl-f { background-color:#b7cb4f; padding:0.15em 0 0.25em 0; color:#fff; text-align: center; border:solid 2px #b7cb4f; border-bottom:none; border-radius:24px 24px 0 0; }
.box-m1 { box-sizing: border-box; border:solid 2px #87ccc1; border-top:none; border-radius:0 0 24px 24px; background-color:#fff; padding-bottom:40px; position: relative;}
.ttl-m { background-color:#87ccc1; padding:0.15em 0 0.25em 0; color:#fff; text-align: center; border:solid 2px #87ccc1; border-bottom:none; border-radius:24px 24px 0 0; }
.box-p1 { box-sizing: border-box; border:solid 2px #942c44; border-top:none; border-radius:0 0 24px 24px; background-color:#fff; padding-bottom:40px; position: relative;}
.ttl-p { background-color:#942c44; padding:0.15em 0 0.25em 0; color:#fff; text-align: center; border:solid 2px #942c44; border-bottom:none; border-radius:24px 24px 0 0; }
.f-wht { color:#fff;}
a.f-wht:hover { color:#ccc;}
.mt5 { margin-top:5px;}

.summary_inner {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content:center;
  align-items: center;
  /*231031修正*/
  padding: 4px 20px;
}

/* --------アコーディオンの中身のスタイル-------- */
.content { padding: 20px 0; margin:0;}

/* --------アイコンを作ります-------- */
.icon {
  display: block;
  position: relative;
  width: 24px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
  right:-23%;
}
.icon2 {
  display: block;
  position: relative;
  width: 24px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
  right:-35%;
}

/* アコーディオンが開いた時のスタイル */
details[open] .icon {
  transform: rotate(180deg);
}
details[open] .icon2 {
  transform: rotate(180deg);
}

/* アイコンのバーのスタイル */
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: 3px;
  background-color: #fff;
}

.icon2::before,
.icon2::after {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: 3px;
  background-color: #fff;
}

.icon::before {
  left: 0;
  transform: rotate(45deg);
}
.icon2::before {
  left: 0;
  transform: rotate(45deg);
}

.icon::after {
  right: 0;
  transform: rotate(-45deg);
}
.icon2::after {
  right: 0;
  transform: rotate(-45deg);
}


/*スライダー矢印*/
 .arrows {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
  .arrows1 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
  .arrows2 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
  .arrows3 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows4 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows5 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows6 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
    .arrows7 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows8 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows9 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
    .arrows10 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows11 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows12 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
   .arrows13 {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }

  .slick-prev, .slick-next {
   border: none; /* デフォルトのボーダーを消す */
   color: #000;
   font-size: 20px; /* 矢印のサイズ調整 */
   padding: 20px;
   cursor: pointer;
   pointer-events: auto;
   }
   

.slick-dots{
	bottom: -30px!important;
}

/*タブ*/
.mc { display:flex;}
.tab { cursor:pointer;}
.tab img.off { display:block;}
.tab img.on { display:none;}
.tab.active img.on { display:block;}
.tab.active img.off { display:none;}
.panel {
  display: none;
}
.panel.active {
  display: block;
   width:100%;
   position:relative;
   padding-bottom:20px;
}
.tab1 { cursor:pointer;}
.tab1 img.off { display:block;}
.tab1 img.on { display:none;}
.tab1.active img.on { display:block;}
.tab1.active img.off { display:none;}

.tab2 { cursor:pointer;}
.tab2 img.off { display:block;}
.tab2 img.on { display:none;}
.tab2.active img.on { display:block;}
.tab2.active img.off { display:none;}

.tab3 { cursor:pointer;}
.tab3 img.off { display:block;}
.tab3 img.on { display:none;}
.tab3.active img.on { display:block;}
.tab3.active img.off { display:none;}

.tab4 { cursor:pointer;}
.tab4 img.off { display:block;}
.tab4 img.on { display:none;}
.tab4.active img.on { display:block;}
.tab4.active img.off { display:none;}

.panel1 {
  display: none;
}
.panel2 {
  display: none;
}
.panel3 {
  display: none;
}
.panel4 {
  display: none;
}
.panel1.active {
  display: block;
   width:100%;
}
.panel2.active {
  display: block;
   width:100%;
}
.panel3.active {
  display: block;
   width:100%;
}
.panel4.active {
  display: block;
   width:100%;
}

.panel1.active .slick-dots li button:before
{
    color: #e39d63!important;
}
.panel1.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #e39d63!important;
}

.panel1.active .slick-prev:before,
.panel1.active .slick-next:before {
    color: #e39d63!important;
}

.panel2.active .slick-dots li button:before
{
    color: #b7cb4f!important;
}
.panel2.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #b7cb4f!important;
}

.panel2.active .slick-prev:before,
.panel2.active .slick-next:before {
    color: #b7cb4f!important;
}

.panel3.active .slick-dots li button:before
{
    color: #87ccc1!important;
}
.panel3.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #87ccc1!important;
}

.panel3.active .slick-prev:before,
.panel3.active .slick-next:before {
    color: #87ccc1!important;
}

.panel4.active .slick-dots li button:before
{
    color: #942c44!important;
}
.panel4.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #942c44!important;
}

.panel4.active .slick-prev:before,
.panel4.active .slick-next:before {
    color: #942c44!important;
}

.bd-gray { background-color: rgba(204, 204, 204, 1); padding:10px 0 ; width:780px; margin:20px auto 0 auto; }
.overlay {opacity: 0.5;}
.syuryo { background-color: rgba(255,0,4, 1); padding:0.5em; color:#fff; width:8em; text-align: center; position:absolute; top: 50%;
  left: 50%; transform: translate(-50%, -50%) rotate(-20deg); transform-origin: center; z-index:999999;}
  
.w722sp { width:722px!important; margin:0 auto;}


/*2026*/
.kv { width:1000px; margin:0 auto;}
.menu { background-image: url("../image/bg-menu.png"); background-repeat: repeat-x; background-position: top center; padding:40px 0 60px 0;}
ul.mainmenu { list-style: none; width:920px; margin:0 auto; display:flex;}
.w540 { width:540px; margin:0 auto;}
.w750 { width:750px; margin:0 auto;}
ul.btn-shisetsu { list-style: none; display:flex; flex-wrap: wrap; gap:20px;}
ul.btn-shisetsu li { width:365px;}
.stamp { width:375px; position:absolute; top:20px; right:0;}
.icon-stamp { position: absolute; left:-10px; bottom:300px;}
.point { width:360px; position:absolute; top:30px; left:30px; text-align: center;}
.f-bg { background-color:#003b64; display: inline-block; width:200px; padding:0.25em; color:#fff; margin:0 0.4em 0.2em 0; text-align: center; vertical-align: middle; line-height: 1.2;}
.otoku-subttl { position: absolute; top:-55px; left:-10px;}
.otoku-etc { position: absolute; bottom:-30px; right:-10px;}
ul.ind { list-style: none; }
ul.ind li { text-indent: -1em; padding-left:1em;}
ul.howto { list-style: none; display:flex; gap:13px;}
ul.howto li { width:232px; }
.border-btm { border-bottom:solid 1px #231815; padding-bottom:20px;}
.border-btm-1 { border-bottom:solid 1px #231815; }
.obi-2 { background-color:#003b64; text-align: center; line-height: 1.2em; color:#fff; padding:0.5em 0;}
.model-lead { position:absolute; left: 50%; transform: translateX(-50%); bottom:30px;}

.f-right { text-align: right;}
.w730 { width:730px; margin:0 auto;}
.bg-model-1 { background-image: url("../image/msp-4.png"); background-repeat: repeat-y; background-position: top center; background-size: 100%; padding:0;}
ul.model-shisetsu { list-style: none; display:flex; flex-wrap: nowrap; justify-content: space-between; width:630px; margin:0 auto;}
ul.model-shisetsu li { width:290px;}
ul.poster { list-style: none; width:660px; margin:0 auto; display:flex; flex-wrap: wrap; gap:5px 10px; font-size:19px;}
ul.poster li.p1 { width:210px; background-color:#898ba4; color:#fff; display: flex; justify-content: center; align-items: center; text-align: center; padding:0.1em 0;}
ul.poster li.p3 { width:210px; background-color:#4f5c80; color:#fff; display: flex; justify-content: center; align-items: center; text-align: center; padding:0.1em 0;}
ul.poster li.p2 { width:440px; display: flex; justify-content: flex-start; align-items: center; text-align: left; font-feature-settings:"palt";}
.mainArea { color:#231815; padding: 0 0 30px 0!important;}
sup{
  vertical-align: top;
  position: relative;
  top: 0.2em;
  font-size:0.6em;
}


.f-blk { color:#231815;}
.f-nihonbashi { color:#ed6f0a;}
.f-shibuya { color:#00a161;}
.f-akasaka { color:#eb6d8e;}
.f-iidabashi { color:#0086d1;}
.f-yaesu { color:#deae42;}
.f-ginza { color:#d93632;}
.f-shinjuku { color:#b3c21d;}
.f-ueno { color:#86592b;}
.lh13 { line-height: 1.3;}
.lh11 { line-height: 1.1;}
.lh9 { line-height: 0.9;}

/* ===================================
   クーポン表

   全体：722px
   白部分：148px
   紫部分：212px
=================================== */

.coupon-table {
  width: 721px;
  display: grid;

  grid-template-columns:
    148px
    212px
    148px
    212px;

  grid-template-rows:
    repeat(4, 176px);

  border-left: 1px solid #003670;
  border-top: 1px solid #003670;
  box-sizing: border-box;
  
}


/* ===================================
   セル
=================================== */

.coupon-table .cell {
  box-sizing: border-box;

  /* テキストブロックを天地中央 */
  display: flex;
  align-items: center;

  background-color: #fff;

  border-right: 1px solid #003670;
  border-bottom: 1px solid #003670;
}


/* 2列目・4列目を薄紫に */
.coupon-table .cell:nth-child(even) {
  background-color: #ebeef5;
}


/* 右端の罫線は外枠を使用 
.coupon-table .cell:nth-child(4n) {
  border-right: none;
}*/


/* 最下段の罫線は外枠を使用
.coupon-table .cell:nth-last-child(-n + 4) {
  border-bottom: none;
} */


/* ===================================
   共通テキスト
=================================== */

.coupon-table .text {
  width: 180px;
  box-sizing: border-box;

  margin-left: auto;
  margin-right: auto;

  color: #e52c2c;
  font-weight: bold;
  line-height: 1.02;
}


/* ===================================
   1段目・左
=================================== */

.coupon-table .text01 {
  font-size: 26px;
  line-height: 1.1;
}


/* ===================================
   1段目・右
=================================== */

.coupon-table .text02 {
  font-size: 52px;
  line-height: 1;
}


/* ===================================
   2段目・左
=================================== */

.coupon-table .text03 {
  font-size: 40px;
  line-height: 0.92;
}

.coupon-table .text03 .small {
  font-size: 14px;
}


/* ===================================
   2段目・右
=================================== */

.coupon-table .text04 {
  font-size: 29px;
  line-height: 1.02;
}

.coupon-table .text04 .small {
  font-size: 16px;
  line-height: 1.15;
}

.coupon-table .text04 .note {
  display: block;

  margin-top: 5px;

  font-size: 12px;
  line-height: 1.2;
}


/* ===================================
   3段目・左
=================================== */

.coupon-table .text05 {
  font-size: 40px;
  line-height: 1.1;
}

.coupon-table .text05 .small {
  font-size: 34px;
}


/* ===================================
   3段目・右
=================================== */

.coupon-table .text06 {
  font-size: 40px;
  line-height: 1.1;
}
.coupon-table .text06 .small {
  font-size: 34px;
}


/* ===================================
   4段目・左
=================================== */

.coupon-table .text07 {
  font-size: 20px;
  line-height: 1.1;
}


/* ===================================
   4段目・右
=================================== */

.coupon-table .text08 {
  font-size: 46px;
  line-height: 1;
}

.coupon-table .text08 .small {
  font-size: 14px;
}

   .coupon-table .text08 .note {
    font-size: 40px;
	
  }


/* ===================================
   黒文字
=================================== */

.coupon-table .black {
  color: #222;
  font-weight: bold;
}

.coupon-table .text04 .small,
.coupon-table .text04 .main,
.coupon-table .text04 .note,
.coupon-table .text08 .small,
.coupon-table .text08 .main {
  display: block;
}



/* =========================
   アコーディオン
========================= */

.detail-accordion {
  width: 750px;
  max-width: 100%;
  margin: 0 auto;
}


/* =========================
   ボタン部分
========================= */

.detail-accordion summary {
  position: relative;
  box-sizing: border-box;

  width: 722px;
  max-width: 100%;
  margin: 0 auto;

  height:2.2em;
  background-color: #003b64;
  color: #fff;

  font-size: 28px;
  font-weight: bold;
  line-height: 2.2em;

  text-align: center;

  cursor: pointer;
  list-style: none;

  transition: background-color 0.3s ease;
}


/* 標準の三角マークを消す */

.detail-accordion summary::-webkit-details-marker {
  display: none;
}

.detail-accordion summary::marker {
  content: "";
}


/* マウスオーバー */

.detail-accordion summary:hover {
  background-color: rgba(6, 70, 109, 0.7);
}


/* =========================
   ＋ マーク
========================= */

.detail-accordion summary::before,
.detail-accordion summary::after {
  content: "";
  position: absolute;

  top: 50%;
  right: 24px;

  width: 28px;
  height: 2px;

  background-color: #fff;
  transform-origin: center;
}

.detail-accordion summary::before {
  transform: translateY(-50%);
}

.detail-accordion summary::after {
  transform: translateY(-50%) rotate(90deg);
}


/* =========================
   開いたとき × マーク
========================= */

.detail-accordion[open] summary::before {
  transform: translateY(-50%) rotate(45deg);
}

.detail-accordion[open] summary::after {
  transform: translateY(-50%) rotate(-45deg);
}


/* =========================
   開く部分
========================= */

.detail-accordion__content {
  box-sizing: border-box;

  width: 750px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
 
}

.detail-accordion__content p {
  margin: 0;
}




@media screen and (max-width: 600px) {
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
margin:0;
padding:0;
}

div#floating-menu {
	display:block;
    position: fixed;
    bottom: 2%;
    right: 2%;
    z-index: 1;
}

/*改行*/
.pc-br { display:none;}
.sp-br { display:block;}

.footerMenu { overflow: hidden;}
.footerBanner { overflow: hidden;}

.mt60 { margin-top:5%!important;}

/*ものみゆさん*/
.bg-model { background-image: url("../image/bg-model.png"); background-repeat: repeat; background-position: top center; padding:4% 0; background-size:5%;}
.bg-about { background-image: url("../image/bg-about.png"); background-repeat: repeat; background-position: top center; padding:4% 0; background-size:5%;}
.bg-stamp { background-image: url("../image/bg-stamp.png"); background-repeat: repeat; background-position: top center; padding:4% 0; background-size:5%;}
.bg-tokuten { background-image: url("../image/bg-tokuten.png"); background-repeat: repeat; background-position: top center; padding:4% 0; background-size:5%;}

.bg-kadomaru { background-color: #fff; border-radius: 15px; padding:5% 0;}
.box-model-1 { box-sizing: border-box; border:solid 3px #e39d63; background-color: #f5eadc; }
.box-model-2 { box-sizing: border-box; border:solid 3px #b7cb4f; background-color: #f0f2dc; }
.box-model-3 { box-sizing: border-box; border:solid 3px #87ccc0; background-color: #e7f5f3; }
.box-model-4 { box-sizing: border-box; border:solid 3px #932e44; background-color: #e1d0cf; }

.f-ctr { text-align: center;}
.f-jst {text-align:justify;}
.f-jst1 {text-align: justify; text-justify: inter-character; line-break: strict; font-feature-settings: "palt";　hanging-punctuation: allow-end; word-break: normal;}
.f-red { color:#e60012;}
.f-blue { color:#002b60;}
.f-blue1 { color:#053b64;}
.position { position: relative;}

.obi { background-color:#003b64; text-align: center; height:2.2em; line-height: 2.2em; color:#fff; }
.obi-org { background-color:#cf573e; text-align: center; height:1.8em; line-height: 1.8em; color:#fff; }

.bd-blue { border:1px solid #002b60; border-radius:12px; padding:5% 0 4% 0;}
.join { position:absolute; top:-1vh; }
.gray { background-color: #ebf3e9; padding:3% 0 ;}
.gray1 { background-color: #ebf3e9; padding:0 0 0 0 ;}
ul.step1 { list-style: none; display:flex; align-items: center;}
ul.step1 li:nth-child(1) { width:70%;}
ul.step1 li:nth-child(2) { width:30%;}
ul.step3 { list-style: none; display:flex; align-items: center;}
ul.step3 li:nth-child(1) { width:55%;}
ul.step3 li:nth-child(2) { width:45%;}
ul.step4 { list-style: none; display:flex; align-items: center;}
ul.step4 li:nth-child(1) { width:72%;}
ul.step4 li:nth-child(2) { width:28%;}
ul.step5 { list-style: none; display:flex; align-items: center;}
ul.step5 li:nth-child(1) { width:55%;}
ul.step5 li:nth-child(2) { width:45%;}

.f-bg { background-color:#4a5274; display: inline-block; padding:0.1em 0.4em; color:#fff; margin:0 0.4em 0.2em 0;}
.f-bg1 { background-color:#053b64; display: inline-block; padding:0.3em 0.6em; color:#fff; }
.span-block { display:block!important;}

.box-detail { font-size:2vw; text-align: justify; height:14em;}
.sub-tab { display:flex; width:90%; justify-content: space-between; margin:0 auto;}
.sub-tab .tab1 { width:31%;}
.sub-tab .tab1 img { width:100%; height:auto;}
.sub-tab .tab2 { width:31%;}
.sub-tab .tab2 img { width:100%; height:auto;}
.sub-tab1 { display:flex; width:60%; justify-content: space-between; margin:0 auto; flex-wrap:wrap; row-gap: 2vw;}
.sub-tab1 .tab3 { width:48%;}
.sub-tab1 .tab3 img { width:100%; height:auto;}
.sub-tab .tab4 { width:31%;}
.sub-tab .tab4 img { width:100%; height:auto;}
.kv { width:100%; margin:0 auto;}
.menu { background-image: url("../image/bg-menu.png"); background-repeat: repeat-x; background-position: top center; padding:4% 0 6% 0;}
ul.mainmenu { list-style: none; width:90%; margin:0 auto; display:flex;}

.box-c { box-sizing: border-box; border:solid 2px #e39d63; border-top:none; border-radius:0 0 10px 10px; background-color:#fff; padding-bottom:6%; position: relative;}
.box-f { box-sizing: border-box; border:solid 2px #b7cb4f; border-top:none; border-radius:0 0 10px 10px; background-color:#fff; padding-bottom:6%; position: relative;}
.box-m { box-sizing: border-box; border:solid 2px #87ccc1; border-top:none; border-radius:0 0 10px 10px; background-color:#fff; padding-bottom:6%; position: relative;}
.box-p { box-sizing: border-box; border:solid 2px #942c44; border-top:none; border-radius:0 0 10px 10px; background-color:#fff; padding-bottom:6%; position: relative;}

.caption { width:90%; position:absolute; bottom:1.5%; left: 50%; transform: translateX(-50%);}
.metro { display:flex; align-items: center; width:100%;}
.metro .icon-card{ width:27%!important; height:auto;}
.metro .icon-cap{ width:73%!important; height:auto;}

.box-c1 { box-sizing: border-box; border:solid 2px #e39d63; border-top:none; border-radius:0 0 12px 12px; background-color:#fff; padding-bottom:6%; position: relative;}
.ttl-c { background-color:#e39d63; padding:0.2em 0 0.3em 0; color:#fff; text-align: center; border:solid 2px #e39d63; border-bottom:none; border-radius:12px 12px 0 0; }
.box-f1 { box-sizing: border-box; border:solid 2px #b7cb4f; border-top:none; border-radius:0 0 12px 12px; background-color:#fff; padding-bottom:6%; position: relative;}
.ttl-f { background-color:#b7cb4f; padding:0.2em 0 0.3em 0; color:#fff; text-align: center; border:solid 2px #b7cb4f; border-bottom:none; border-radius:12px 12px 0 0; }
.box-m1 { box-sizing: border-box; border:solid 2px #87ccc1; border-top:none; border-radius:0 0 12px 12px; background-color:#fff; padding-bottom:6%; position: relative;}
.ttl-m { background-color:#87ccc1; padding:0.2em 0 0.3em 0; color:#fff; text-align: center; border:solid 2px #87ccc1; border-bottom:none; border-radius:12px 12px 0 0; }
.box-p1 { box-sizing: border-box; border:solid 2px #942c44; border-top:none; border-radius:0 0 12px 12px; background-color:#fff; padding-bottom:6%; position: relative;}
.ttl-p { background-color:#942c44; padding:0.2em 0 0.3em 0; color:#fff; text-align: center; border:solid 2px #942c44; border-bottom:none; border-radius:12px 12px 0 0; }
.f-wht { color:#fff;}
a.f-wht:hover { color:#ccc;}
.summary_inner {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content:center;
  align-items: center;
  /*231031修正*/
  padding: 4px 20px;
}

/* --------アコーディオンの中身のスタイル-------- */
.content { padding: 4% 0; margin:0;}

/* --------アイコンを作ります-------- */
.icon {
  display: block;
  position: relative;
  width: 20px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
  right:-23%;
}
.icon2 {
  display: block;
  position: relative;
  width: 20px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
  right:-35%;
}

/* アコーディオンが開いた時のスタイル */
details[open] .icon {
  transform: rotate(180deg);
}
details[open] .icon2 {
  transform: rotate(180deg);
}

/* アイコンのバーのスタイル */
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  display: block;
  width: 13px;
  height: 3px;
  background-color: #fff;
}

.icon2::before,
.icon2::after {
  content: "";
  position: absolute;
  display: block;
  width: 13px;
  height: 3px;
  background-color: #fff;
}

.icon::before {
  left: 0;
  transform: rotate(45deg);
}
.icon2::before {
  left: 0;
  transform: rotate(45deg);
}

.icon::after {
  right: 0;
  transform: rotate(-45deg);
}
.icon2::after {
  right: 0;
  transform: rotate(-45deg);
}


/*スライダー矢印*/
 .arrows {
   width: 200px; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:55px;
  pointer-events: none;
   }
   
  .arrows1 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
  .arrows2 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
  .arrows3 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows4 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows5 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows6 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
    .arrows7 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows8 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows9 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
    .arrows10 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows11 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows12 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }
   
   .arrows13 {
   width: 50%; /* スライダーの幅と同じにする */
   position:absolute;
   right: 0;
  left: 0;
  bottom:10px;
  margin: 0 auto;
  padding-bottom:50px;
  pointer-events: none;
   }

  .slick-prev, .slick-next {
   border: none; /* デフォルトのボーダーを消す */
   color: #000;
   font-size: 20px; /* 矢印のサイズ調整 */
   padding: 20px;
   cursor: pointer;
   pointer-events: auto;
   }
   

.slick-dots{
	bottom: -30px!important;
}

/*タブ*/
.mc { display:flex;}
.tab { cursor:pointer;}
.tab img.off { display:block;}
.tab img.on { display:none;}
.tab.active img.on { display:block;}
.tab.active img.off { display:none;}
.panel {
  display: none;
}
.panel.active {
  display: block;
   width:100%;
   position:relative;
   padding-bottom:20px;
}
.tab1 { cursor:pointer;}
.tab1 img.off { display:block;}
.tab1 img.on { display:none;}
.tab1.active img.on { display:block;}
.tab1.active img.off { display:none;}

.tab2 { cursor:pointer;}
.tab2 img.off { display:block;}
.tab2 img.on { display:none;}
.tab2.active img.on { display:block;}
.tab2.active img.off { display:none;}

.tab3 { cursor:pointer;}
.tab3 img.off { display:block;}
.tab3 img.on { display:none;}
.tab3.active img.on { display:block;}
.tab3.active img.off { display:none;}

.tab4 { cursor:pointer;}
.tab4 img.off { display:block;}
.tab4 img.on { display:none;}
.tab4.active img.on { display:block;}
.tab4.active img.off { display:none;}

.panel1 {
  display: none;
}
.panel2 {
  display: none;
}
.panel3 {
  display: none;
}
.panel4 {
  display: none;
}
.panel1.active {
  display: block;
   width:100%;
}
.panel2.active {
  display: block;
   width:100%;
}
.panel3.active {
  display: block;
   width:100%;
}
.panel4.active {
  display: block;
   width:100%;
}

.panel1.active .slick-dots li button:before
{
    color: #e39d63!important;
}
.panel1.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #e39d63!important;
}

.panel1.active .slick-prev:before,
.panel1.active .slick-next:before {
    color: #e39d63!important;
}

.panel2.active .slick-dots li button:before
{
    color: #b7cb4f!important;
}
.panel2.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #b7cb4f!important;
}

.panel2.active .slick-prev:before,
.panel2.active .slick-next:before {
    color: #b7cb4f!important;
}

.panel3.active .slick-dots li button:before
{
    color: #87ccc1!important;
}
.panel3.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #87ccc1!important;
}

.panel3.active .slick-prev:before,
.panel3.active .slick-next:before {
    color: #87ccc1!important;
}

.panel4.active .slick-dots li button:before
{
    color: #942c44!important;
}
.panel4.active .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #942c44!important;
}

.panel4.active .slick-prev:before,
.panel4.active .slick-next:before {
    color: #942c44!important;
}

.w1000 { width:100%; margin:0 auto;}
.w920 { width:92%; margin:0 auto;}
.w860 { width:90%; margin:0 auto;}
.w855 { width:99%; margin:0 auto;}
.w756 { width:90%; margin:0 auto;}
.w722 { width:84%; margin:0 auto;}
.w660 { width:90%; margin:0 auto;}
.w644 { width:90%; margin:0 auto;}
.w632 { width:630px; margin:0 10px;}
.w620 { width:88%; margin:0 auto;}
.w560 { width:90%; margin:0 auto;}
.w540 { width:65%; margin:0 auto;}
.w530 { width:85%; margin:0 auto;}
.w532 { width:90%; margin:0 auto;}
.w480 { width:60%; margin:0 auto;}

/*フォントサイズ*/
.font12 { font-size:1.2vw; }
.font14 { font-size:1.4vw; }
.font15 { font-size:15px; }
.font16 { font-size:1.6vw; }
.font17 { font-size:17px; }
.font18 { font-size:1.8vw; }
.font19 { font-size:19px; }
.font20 { font-size:2vw }
.font21 { font-size:21px; }
.font22 { font-size:2.2vw; }
.font23 { font-size:23px; }
.font24 { font-size:2.4vw; }
.font25 { font-size:25px; }
.font26 { font-size:2.6vw; }
.font27 { font-size:27px; }
.font28 { font-size:2.8vw; }
.font29 { font-size:29px; }
.font30 { font-size:3vw; }
.font32 { font-size:3.2vw; }
.font34 { font-size:3.4vw; }
.font36 { font-size:3.6vw; }
.font38 { font-size:3.8vw; }
.font40 { font-size:4vw; }
.font42 { font-size:4.2vw; }
.font50 { font-size:5vw; }
.font60 { font-size:6vw; }
.font65 { font-size:6.5vw; }
.font70 { font-size:7vw; }
.font80 { font-size:8vw; }
.font90 { font-size:9vw; }
.font100 { font-size:10vw; }
.f-palt { font-feature-settings: "palt";}
.ls10 {  letter-spacing:0.2em; }

/*余白など*/
.mt5 { margin-top:0.7%;}
.mt10 { margin-top:1%!important;}
.mt20 { margin-top:2%!important;}
.mt40 { margin-top:4%!important;}
.mt60 { margin-top:6%!important;}
.mt80 { margin-top:8%!important;}

.mt0 { margin:0!important;}
.mt-5 { margin-top:-5px!important;}
.mt-10 { margin-top:-10px!important;}
.mt-20 { margin-top:-20px!important;}
.mt-40 { margin-top:-40px!important;}
.mt-50 { margin-top:-50px!important;}
.mt-60 { margin-top:-60px!important;}
.mt-70 { margin-top:-70px!important;}
.mt-80 { margin-top:-80px!important;}

.pt10 { padding-top:10px!important;}
.pt20 { padding-top:20px!important;}
.pt40 { padding-top:40px!important;}
.pt60 { padding-top:60px!important;}
.pt80 { padding-top:80px!important;}

.pb10 { padding-bottom:10px!important;}
.pb20 { padding-bottom:20px!important;}
.pb40 { padding-bottom:40px!important;}
.pb60 { padding-bottom:60px!important;}
.pb80 { padding-bottom:80px!important;}
.pb120 { padding-bottom:120px!important;}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 50%;
    padding: 0;
    margin: 0 auto;
	right: 0;
  left: 0;
    list-style: none;

    text-align: center;
	
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 10px!important;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 12px!important;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 18px!important;
    line-height: 1;

    opacity: 100;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '◀';
}
[dir='rtl'] .slick-prev:before
{
    content: '▶';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '▶';
}
[dir='rtl'] .slick-next:before
{
    content: '◀';
}

.bd-gray { background-color: rgba(204, 204, 204, 1); padding:2% 0 ; width:90%; margin:3% auto 0 auto; }
.overlay {opacity: 0.5;}
.syuryo { background-color: rgba(255,0,4, 1); padding:0.5em; color:#fff; width:8em; text-align: center; position:absolute; top: 50%;
  left: 50%; transform: translate(-50%, -50%) rotate(-20deg); transform-origin: center; z-index:999999;}
.w722sp { width:93%!important; margin:0 auto;}


/*2026*/
.coupon { position:absolute; top: 50%; transform: translateY(-50%); margin:0 auto; right:0!important; width:20%;}
.coupon img { width:100%; height:auto; }
.w540 { width:68%; margin:0 auto;}
.w750 { width:90%; margin:0 auto;}
ul.btn-shisetsu { list-style: none; display:flex; flex-wrap: wrap; gap:2vw 2%!important; }
ul.btn-shisetsu li { width:49%;}
.border-btm { border-bottom:solid 1px #231815; padding-bottom:2%;}
.border-btm-1 { border-bottom:solid 1px #231815; }
.obi-2 { background-color:#003b64; text-align: center; line-height: 1.2em; color:#fff; padding:0.5em 0;}
ul.mainmenu { list-style: none; width:95%; margin:0 auto; display:flex;}

.stamp { width:55%; position:absolute; top:2%; right:0;}
.icon-stamp { position: absolute; left:-10px; bottom:300px;}
.point { width:57%; position:absolute; top:2.5vh; left:4%; text-align: center;}
.f-bg { background-color:#003b64; display: inline-block; width:35%; padding:0.3em; color:#fff; margin:0 0.4em 0.2em 0; text-align: center; vertical-align: middle; line-height: 1.2;}
.otoku-subttl { position: absolute; top:-5.2vw; left:-1vw;}
.otoku-etc { position: absolute; bottom: -3vw; right: -1.316cqw;}

ul.ind { list-style: none; }
ul.ind li { text-indent: -1em; padding-left:1em;}
ul.howto { list-style: none; display:flex; gap:1.8%;}
ul.howto li { width:32.123%; }
.model-lead { position:absolute; left: 50%; transform: translateX(-50%); bottom:3vw;}

.w730 { width:90%; margin:0 auto;}
.bg-model-1 { background-image: url("../image/msp-4.png"); background-repeat: repeat-y; background-position: top center; background-size: 100%; padding:0;}
ul.model-shisetsu { list-style: none; display:flex; flex-wrap: nowrap; justify-content: space-between; width:86%; margin:0 auto;}
ul.model-shisetsu li { width:47%;}
ul.poster { list-style: none; width:90%; margin:0 auto; display:flex; flex-wrap: wrap; gap:0.5vw 0.5vw; font-size:1.9vw;}
ul.poster li.p1 { width:32%; background-color:#898ba4; color:#fff; display: flex; justify-content: center; align-items: center; text-align: center; padding:0.1em 0;}
ul.poster li.p3 { width:32%; background-color:#4f5c80; color:#fff; display: flex; justify-content: center; align-items: center; text-align: center; padding:0.1em 0;}
ul.poster li.p2 { width:66%; display: flex; justify-content: flex-start; align-items: center; text-align: left; font-feature-settings:"palt";}
.mainArea { padding: 0 0 10px 0;!important;}


/*アコーディオン*/
  .detail-accordion {
    width: 86%;
  }

  .detail-accordion summary {
    width: 98%;
	height:2.4em; 

    /* ご指定の2.8vw */
    font-size: 2.6vw;
    line-height: 2.4em;

    text-align: center;
    white-space: nowrap;
  }


  /* ＋／×をPC版より小さく */

  .detail-accordion summary::before,
  .detail-accordion summary::after {
    right: 3%;

    width: 3.2vw;
    height: 1px;
  }


  .detail-accordion__content {
    width: 100%;
    padding: 0;
  }
 
 /*クーポン*/
.coupon-table {
    width: 100%;

    /*
      PC版と同じ列比率
      白：148
      紫：212
    */
    grid-template-columns:
      20.5556%
      29.4444%
      20.5556%
      29.4444%;

    /*
      PC版の高さ176pxを
      722px基準でvw換算
    */
    grid-template-rows:
      repeat(4, 24.38vw);
  }


  /* =================================
     共通テキスト
  ================================= */

  .coupon-table .text {
    width: 90%;
	margin:0 auto;
  }


  /* 1段目・左 */

  .coupon-table .text01 {
    font-size: 2.8vw;
  }


  /* 1段目・右 */

  .coupon-table .text02 {
    font-size: 6vw;
  }


  /* 2段目・左 */

  .coupon-table .text03 {
    font-size: 4.4vw;
  }

  .coupon-table .text03 .small {
    font-size: 1.5vw;
  }


  /* 2段目・右 */

  .coupon-table .text04 {
    font-size: 3.3vw;
  }

  .coupon-table .text04 .small {
    font-size: 1.8vw;
  }

  .coupon-table .text04 .note {
    margin-top: 0.69vw;
    font-size: 1.3vw;
  }


  /* 3段目・左 */

  .coupon-table .text05 {
    font-size: 4.5vw;
  }
  .coupon-table .text05 .small {
  font-size: 3.4vw;
}


  /* 3段目・右 */

  .coupon-table .text06 {
    font-size: 4.5vw;
  }
    .coupon-table .text06 .small {
  font-size: 3.4vw;
}


  /* 4段目・左 */

  .coupon-table .text07 {
    font-size: 2.3vw;
  }


  /* 4段目・右 */

  .coupon-table .text08 {
    font-size: 5.5vw;
	line-height:0.9;
  }

  .coupon-table .text08 .small {
    font-size: 1.5vw;
  }
  
   .coupon-table .text08 .note {
    font-size: 4.5vw;
	
  }
  
 .coupon-table .text04 .small,
.coupon-table .text04 .main,
.coupon-table .text04 .note,
.coupon-table .text08 .small,
.coupon-table .text08 .main {
  display: block;
}
  
}

/*マップレイアウト*/

/* =========================================
   全体
   PC版 760px を基準にする
========================================= */

.route-map {
  position: relative;
  width: 760px;
  margin: 0 auto;
  overflow: hidden;
}


/* 背景 */

.route-bg {
  display: block;
  width: 760px;
  height: auto;
}


/* =========================================
   共通
========================================= */

.route-body .description {
  text-align: justify;
  text-justify: inter-ideograph;
  font-feature-settings: "palt";
}

.route-content {
  position: absolute;
  box-sizing: border-box;

  color: #003670;
  font-weight: bold;
}


.route-heading {
  display: flex;
  align-items: flex-start;
}

.route-heading img {
  display: block;
  width: 100%;
  height: auto;
}

.route-body .shop {
  display: block;
  white-space: nowrap;
  color:#040000;
}
/* =========================================
   時刻
========================================= */

.route-time {
  display: inline-block;
  flex: 0 0 auto;

  padding: 3px 7px 4px;

  color: #fff;

  font-size: 23px;
  line-height: 1;
  font-weight: bold;

  border: 2px solid currentColor;

  transform: rotate(-2deg);

  box-sizing: border-box;
}


/* =========================================
   タイトル
========================================= */

.route-title {
  margin-left: 9px;

  font-size: 31px;
  line-height: 1.02;
  font-weight: bold;

  white-space: nowrap;
}


.route-title .area {
  margin-left: 3px;

  font-size: 16px;
  line-height: 1.1;
}


.route-title .area-block {
  display: block;

  margin-left: 0;
  margin-top: 5px;
}


/* =========================================
   本文
========================================= */

.route-body {
  position: absolute;

  font-size: 18px;
  line-height: 1.38;
}


/* 店名 */

.route-body .shop {
  display: block;
  margin-top: 5px;
  font-size: 19px;
  line-height: 1.25;
  color:#040000;
}


/* =========================================
   階数表示
========================================= */

.route-body .floor {
  display: inline-block;

  padding: 1px 4px 3px 4px;

  color: #fff;
  background-color: #040000;

  line-height: 1.05;
}


/* =========================================
   色
========================================= */

.green {
  color: #00a161;
}

.pink {
  color: #ed81a8;
}

.orange {
  color: #ed6f0c;
}

.red {
  color: #d93433;
}


/* 時刻背景 */

.green .route-time {
  background-color: #00a161;
}

.pink .route-time {
  background-color: #ed81a8;
}

.orange .route-time {
  background-color: #ed6f0c;
}

.red .route-time {
  background-color: #d93433;
}


/* =========================================
   9:00
========================================= */

.route-0900 {
  left: 19px;
  top: 21px;
  width: 590px;
}

.route-0900 .route-body {
  left: 309px;
  top: 46px;
  width: 230px;
}

.route-0900 .route-heading img {
  position: relative;
  top: -5px;
}

.route-0900 .route-note {
  position: absolute;
  left: 0;
  top: 240px;
  width: 330px;
  color: #000;
  font-size: 14px;
  line-height: 1.4;
}

/* =========================================
   11:00
========================================= */

.route-1100 {
  left: 257px;
  top: 352px;
  width: 310px;
}

.route-1100 .route-body {
  left: 0;
  top: 48px;
  width:250px;
}


/* =========================================
   12:00
========================================= */

.route-1200 {
  left: 19px;
  top: 674px;
  width: 570px;
}

.route-1200 .route-body {
  left: 310px;
  top: 118px;
  width:170px;
}
.route-1200 .route-heading img {
  position: relative;
  top: -20px;
}
.route-1200 .description {
  width: 170px;
}

/* =========================================
   14:00
========================================= */

.route-1400 {
  left: 337px;
  top: 1034px;
  width: 290px;
}

.route-1400 .route-heading {
  display: block;
}

.route-1400 .route-title {
  margin-left: 0;
  margin-top: 10px;
}

.route-1400 .route-body {
  left: 0;
  top: 145px;
  width:170px;
}


/* =========================================
   14:30
========================================= */

.route-1430 {
  left: 15px;
  top: 1341px;
  width: 590px;
}

.route-1430 .route-body {
  left: 308px;
  top: 64px;
  width:200px;
}
.route-1430 .route-heading img {
  position: relative;
  top: -10px;
}

/* =========================================
   16:00
========================================= */

.route-1600 {
  left: 327px;
  top: 1630px;
  width: 342px;
}

.route-1600 .route-heading {
  display: block;
}

.route-1600 .route-title {
  margin-left: 0;
  margin-top: 10px;
}

.route-1600 .route-body {
  left: 0;
  top: 100px;
}


/* =========================================
   18:00
========================================= */

.route-1800 {
  left: 19px;
  top: 1960px;
  width: 650px;
}

.route-1800 .route-body {
  left: 309px;
  top: 60px;
  width:250px;
}


/* =========================================
   旅の最後に
========================================= */

.route-last {
  left: 587px;
  top: 2354px;
  width: 165px;
}


.route-last-title {
  display: inline-block;

  padding: 5px 8px;

  color: #fff;
  background-color: #d93433;

  font-size: 18px;
  line-height: 1;

  transform: rotate(-3deg);
}


.route-last .route-body {
  left: -8px;
  top: 57px;
  line-height: 1.4;
}




/* =========================================
   レスポンシブ用ラッパー
========================================= */

.route-scale {
  width: 760px;
  margin: 0 auto;
}


/* =========================================
   スマートフォン
   760px基準 → cqwで同比率縮小
========================================= */

@media screen and (max-width: 600px) {

  /* ---------------------------------------
     基準コンテナ
  --------------------------------------- */

  .route-scale {
    width: 95%;
    margin: 0 auto;

    container-type: inline-size;
  }
　.route-body .shop {
  margin-top: 0.658cqw;
}

  /* ---------------------------------------
     全体・背景
  --------------------------------------- */

  .route-map {
    width: 100cqw;
    margin: 0;
  }

  .route-bg {
    width: 100cqw;
    height: auto;
  }


  /* =====================================
     共通
  ===================================== */

  .route-time {
    padding:
      0.395cqw
      0.921cqw
      0.526cqw;

    font-size: 3.026cqw;
    border-width: 0.263cqw;
  }


  .route-title {
    margin-left: 1.184cqw;

    font-size: 4.079cqw;
  }


  .route-title .area {
    margin-left: 0.395cqw;

    font-size: 2.105cqw;
  }


  .route-title .area-block {
    margin-left: 0;
    margin-top: 0.658cqw;
  }


  .route-body {
    font-size: 2.368cqw;
  }


  .route-body .shop {
    font-size: 2.5cqw;
  }


  /* 階数表示 */

  .route-body .floor {
    padding: 0.132cqw 0.526cqw;
  }


  /* =====================================
     9:00
     PC:
     left 19 / top 21 / width 590
  ===================================== */

  .route-0900 {
    left: 2.5cqw;
    top: 2.763cqw;
    width: 77.632cqw;
  }

  .route-0900 .route-body {
    left: 40.658cqw;
    top: 6.053cqw;
	width: 30.263cqw;
  }
  
  .route-0900 .route-heading img {
  top: -0.658cqw;
}

.route-0900 .route-note {
  left: 0;
  top: 31.579cqw;
  width: 43.421cqw;
  font-size: 1.842cqw;
}

  /* =====================================
     11:00
     PC:
     left 257 / top 352 / width 310
  ===================================== */

  .route-1100 {
    left: 33.816cqw;
    top: 46.316cqw;
    width: 40.789cqw;
  }

  .route-1100 .route-body {
    left: 0;
    top: 6.316cqw;
	width: 32.895cqw;
  }


  /* =====================================
     12:00
     PC:
     left 19 / top 674 / width 570
  ===================================== */

  .route-1200 {
    left: 2.5cqw;
    top: 88.684cqw;
    width: 75cqw;
  }

  .route-1200 .route-body {
  left: 40.789cqw;
  top: 15.526cqw;
  width: 22.368cqw;
}
.route-1200 .route-heading img {
  top: -2.632cqw;
}
.route-1200 .description {
  width: 22.368cqw;
}

  /* =====================================
     14:00
     PC:
     left 337 / top 1034 / width 290
  ===================================== */

  .route-1400 {
    left: 44.342cqw;
    top: 136.053cqw;
    width: 38.158cqw;
  }

  .route-1400 .route-title {
    margin-left: 0;
    margin-top: 1.316cqw;
  }

  .route-1400 .route-body {
    left: 0;
    top: 19.079cqw;
	width:22.368cqw;
  }


  /* =====================================
     14:30
     PC:
     left 15 / top 1341 / width 590
  ===================================== */

  .route-1430 {
    left: 1.974cqw;
    top: 176.447cqw;
    width: 77.632cqw;
  }

  .route-1430 .route-body {
    left: 40.526cqw;
    top: 8.421cqw;
	width: 26.316cqw;
  }
  
  .route-1430 .route-heading img {
  top: -1.316cqw;
}


  /* =====================================
     16:00
     PC:
     left 327 / top 1630 / width 310
  ===================================== */

  .route-1600 {
    left: 43.026cqw;
    top: 214.474cqw;
    width: 45cqw;
  }

  .route-1600 .route-title {
    margin-left: 0;
    margin-top: 1.316cqw;
  }

  .route-1600 .route-body {
    left: 0;
    top: 13.158cqw;
  }


  /* =====================================
     18:00
     PC:
     left 19 / top 1968 / width 650
  ===================================== */

  .route-1800 {
    left: 2.5cqw;
    top: 257.895cqw;
    width: 85.526cqw;
  }

  .route-1800 .route-body {
    left: 40.658cqw;
    top: 7.895cqw;
	width: 32.895cqw;
  }


  /* =====================================
     旅の最後に
     PC:
     left 587 / top 2354 / width 165
  ===================================== */

  .route-last {
    left: 77.237cqw;
    top: 309.737cqw;
    width: 21.711cqw;
  }

  .route-last-title {
    padding:
      0.658cqw
      1.053cqw;

    font-size: 2.368cqw;
  }

  .route-last .route-body {
    left: -1.053cqw;
    top: 7.5cqw;
  }

}




