@charset "utf-8";

/*--------------------------------------------------------------------

default

--------------------------------------------------------------------*/	

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
   font-weight:normal;
   font-style: normal
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
time {
  display: block; }

ol,
ul {
  list-style: none; }

a{text-decoration: none; color:#000; transition: 0.3s}
a:hover{ color:#E9B6B6; opacity: 0.5 }

.min{font-family: 'Zen Old Mincho', serif; font-weight:700 }
.en {font-family: 'Cinzel Decorative', cursive;}
.imp{font-weight: bold}
.pink{color:#cc8092 }
.red{color: #ff5d5d}

body{font-family: 'Noto Sans JP', sans-serif; color:#4b474d; 
 font-size: 3.4666666667vw; letter-spacing: 1px; line-height: 2em; }
 
#main{ 
	display:none;
}

.animated {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
}

.arrow-right {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 10px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: rotate(45deg);
}

.sen{background: url("../img/line.png") repeat-x; background-size: 2px 8px;
	animation: border_anim 2s linear forwards; width: 100%; height: 8px; width: 0}
.colorg{font-family: 'Zen Old Mincho', serif; font-weight:900; 
  background: -webkit-linear-gradient( 60deg,#ff908d, #f84747,#faea3d, #fd644f);
  background-size:400%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: textAnime 15s infinite;
}
.colorg2{font-family: 'Zen Old Mincho', serif; font-weight:900; 
  background: -webkit-linear-gradient( 60deg,#9ffbea, #49bba6,#9ffbea, #5edbd4);
  background-size:400%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: textAnime 15s infinite;
}
@keyframes textAnime{
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

@keyframes border_anim {
	0%{
		width: 0%; opacity: 0
	}
	10%{
		width: 10%; opacity: 1
	}    
	100%{
		width: 100%; opacity: 1
	}
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUpwl {
  -webkit-animation-name: fadeInUpwl;
  animation-name: fadeInUpwl;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;  
}
@-webkit-keyframes fadeInUpwl {
  0% {
    opacity: 0;
-webkit-transform: translate(0, 20px) rotate(0);
transform: translate(0, 20px) rotate(0);
  }
  70% {
    opacity: 1;
-webkit-transform: translate(0, 0) rotate(0);
transform: translate(0, 0) rotate(0);
  }
  100% {
    opacity: 1;
-webkit-transform: translate(-5px, 0px) rotate(-15deg);
transform: translate(-5px, 0px) rotate(-15deg);
  }  
}
@keyframes fadeInUpwl {
  0% {
    opacity: 0;
-webkit-transform: translate(0, 20px) rotate(0);
transform: translate(0, 20px) rotate(0);
  }
  70% {
    opacity: 1;
-webkit-transform: translate(0, 0) rotate(0);
transform: translate(0, 0) rotate(0);
  }
  100% {
    opacity: 1;
-webkit-transform: translate(-5px, 0px) rotate(-15deg);
transform: translate(-5px, 0px) rotate(-15deg);
  }  
}

.fadeInUpwr {
  -webkit-animation-name: fadeInUpwr;
  animation-name: fadeInUpwr;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}
@-webkit-keyframes fadeInUpwr {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 20px) rotate(0);
    transform: translate(0, 20px) rotate(0);
  }
  70% {
    opacity: 1;
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(5px, 0) rotate(15deg);
    transform: translate(5px, 0) rotate(15deg);
  }  
}
@keyframes fadeInUpwr {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 20px) rotate(0);
    transform: translate(0, 20px) rotate(0);
  }
  70% {
    opacity: 1;
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(5px, 0) rotate(15deg);
    transform: translate(5px, 0) rotate(15deg);
  }  
}

.fadeInUpkai {
  -webkit-animation-name: fadeInUpkai;
  animation-name: fadeInUpkai;
    -webkit-animation-duration: 3s;
  animation-duration: 3s;
 
}
@-webkit-keyframes fadeInUpkai {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 20px) rotate(0);
    transform: translate(0, 20px) rotate(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  70% {
    -webkit-transform: translate(0, 0) rotate(10deg);
    transform: translate(0, 0) rotate(10deg);
  }
  80% {
    -webkit-transform: translate(0, 0) rotate(-10deg);
    transform: translate(0, 0) rotate(-10deg);
  }
  90% {
    -webkit-transform: translate(0, 0) rotate(10deg);
    transform: translate(0, 0) rotate(10deg);
  }
   100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }  
}


@keyframes fadeInUpkai {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 20px) rotate(0);
    transform: translate(0, 20px) rotate(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  70% {
    -webkit-transform: translate(0, 0) rotate(10deg);
    transform: translate(0, 0) rotate(10deg);
  }
  80% {
    -webkit-transform: translate(0, 0) rotate(-10deg);
    transform: translate(0, 0) rotate(-10deg);
  }
  90% {
    -webkit-transform: translate(0, 0) rotate(10deg);
    transform: translate(0, 0) rotate(10deg);
  }
   100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }  
}

/*ボタン*/
/*丸がボタンに変形する*/
.btntransform{
    /*丸の基点とするためrelativeを指定*/
	position: relative;
    /*ボタンの形状*/	
    display: inline-block;
	padding:0 0 0 15px;
	line-height: 50px;
    color: #333;
    text-decoration: none;
    outline: none;
}

/* 丸が動く */
.btntransform::before{
	content:'';
    /*絶対配置で丸の位置を決める*/
	position:absolute;
	left:0;
    /*丸の形状*/
	width:50px;
	height:50px;
	background:#ffd4d4;
	border-radius:25px;
    /*アニメーションの指定*/
    transition:.3s ease-out;
}
.btntransform span{    z-index: 1; position: relative;}
/*hoverした際の形状*/
.btntransform:hover::before{
	width:110%;
}

/* 矢印の形状 */
.btntransform::after{
	position: absolute;
    content: '';
    top: 22px;
    right: -15px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
}
/*画像マウスオーバー*/
.blur-img {
  margin: 0;
  padding: 0;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}
.blur img {
  width: 100%;
  height: 100%;
}
/*ホバーエフェクト*/
.blur img {
  transition: .3s ease-in-out;
}
.blur:hover img {
  filter: blur(3px);
}

.kotei{font-size: 4vw; font-weight: bold;
  position: fixed;
  bottom: 0;
  color: #fff;
  cursor: pointer;
  transition: .3s;
  width: 100%;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
  z-index: 88; text-align: center
}

/*このクラスが付与されると表示する*/
.ftbtn .active{
  opacity: 1;
  visibility: visible;
}



/*== footerボタン外の線が伸びる */

.btnlinestretches{
    /*線の基点とするためrelativeを指定*/
  position:relative;
    /*ボタンの形状*/
  color:#fff; font-weight: 900;
  border:1px solid #fff;
    padding: 10px 30px; 
  display:inline-block;
    text-decoration: none;
    outline: none;
    /*アニメーションの指定*/
  transition:all 0.3s ease-in-out;
}

/*hoverした際の背景の形状*/
.btnlinestretches:hover{
  background:#fab6b6;
  color: #fff;
  border-color:transparent;
}

/*線の設定*/
.btnlinestretches::before,
.btnlinestretches::after {
  content:'';
    /*絶対配置で線の位置を決める*/   
  position:absolute;
  border:solid #fff;
  width:10px;
  height:10px;
    /*アニメーションの指定*/
  transition:all 0.3s ease-in-out;
}

/*線の位置と形状*/
.btnlinestretches::before{
  top:-6px;
  left:-6px;
  border-width:1px 0 0 1px;
}

/*線の位置と形状*/
.btnlinestretches::after{
  bottom:-6px;
  right:-6px;
  border-width:0 1px 1px 0;
}

/*hoverした際の線の形状*/
.btnlinestretches:hover::before,
.btnlinestretches:hover::after{
  width:calc(100% + 11px);
  height:calc(100% + 11px);
  border-color:#fff;
}
.headcont .btnlinestretches{ background: #fab6b6;   border: 1px solid #fab6b6;}
.headcont .btnlinestretches:hover::before,
.headcont .btnlinestretches:hover::after{border-color:#fab6b6;}
.headcont .btnlinestretches::before,
.headcont .btnlinestretches::after{border-color:#fab6b6;}
.headcont a:hover{opacity: 1}

#footer{background:#fab6b6; color: #fff }
.footBox{ text-align: center; margin: 0 8%; position: relative; padding-top: 70px;}
.footBox .paget{display: block;
    width: 80px;
    height: 80px;
    border-radius: 360px;
    background: #fab6b6; color: #fff;
    position: absolute;
    right: 0;
    top: -40px;
    font-size: 11px;
    line-height: 1;
    letter-spacing: normal;
    padding-top: 10px;}
.footBox .paget:hover{ opacity: 1; transform: translateY(10px); }    
.footBox .paget img{width:8px }
.footBox .priv{color: #fff; margin: 40px 0 50px;}
.footBox .priv a{display: block; color: #fff}
.footr .text01 img{width:147px }
.footr .text02{font-size: 3.2vw; line-height: 1.7;}
.footr .text02 span{display: block; padding-top: 10px; font-size: 2.9333333333vw;letter-spacing: normal}


address{ font-size: 2.6666666667vw; letter-spacing: normal; padding: 60px 0 180px; line-height: 1.3;}




/* =========================================
   モーダル全体のスタイル
   ========================================= */

/* モーダル背景 */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    /* スマホで画面端にピッタリくっつかないよう余白を確保 */
    padding: 15px;
    box-sizing: border-box;
}

.modal-overlay.is-active {
    display: flex;
    opacity: 1;
}

/* モーダルコンテンツ */
.modal-content {
    background-color: #fff;
    /* 横幅を画面に対して可変にし、最大幅を制限 */
    width: 100%;
    max-width: 400px; 
    padding: 40px 20px;
    border-radius: 20px;
    position: relative;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    /* paddingを含めて幅を計算する設定（はみ出し防止） */
    box-sizing: border-box;
    /* 中身が長くなった時にスクロール可能にする（念のため） */
    max-height: 90vh;
    overflow-y: auto;
}

/* 閉じるボタン */
.close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 28px;
    background: none;
    border: none;
    color: #bbb;
    cursor: pointer;
    line-height: 1;
    padding: 5px;
}

/* =========================================
   見出しの装飾
   ========================================= */
.modal-header {
    /* スマホで文字が大きくすぎてはみ出すのを防ぐため vw 単位を併用 */
    font-size: clamp(1.2rem, 5vw, 1.5rem);
    color: #4a4a4a;
    line-height: 1.4;
    margin-bottom: 30px;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.modal-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 3px;
    border-top: 1px solid #d4b185;
    border-bottom: 1px solid #d4b185;
}

.modal-header::before {
    content: '◆';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    color: #d4b185;
    background: #fff;
    padding: 0 10px;
    font-size: 10px;
    z-index: 1;
}

/* =========================================
   本文エリア
   ========================================= */
.modal-body {
    margin-bottom: 25px;
}

.modal-body ul {
    list-style: none;
    padding: 0;
    display: inline-block;
    text-align: left;
    max-width: 100%; /* はみ出し防止 */
}

.modal-body ul li {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 8px;
    line-height: 1.5;
}

.modal-body ul li::before {
    content: "◎";
    margin-right: 8px;
    color: #d4b185;
}

.modal-body p {
    font-weight: bold;
    color: #4a4a4a;
    font-size: 1rem;
    margin-top: 10px;
}

/* =========================================
   LINEスタートボタン（修正済み）
   ========================================= */
.start-btn {
    display: block;
    background: #06C755;
    color: #ffffff !important; /* 文字色を白に固定 */
    padding: 15px 10px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    /* スマホで文字が溢れないよう調整 */
    font-size: clamp(0.9rem, 4vw, 1.1rem);
    line-height: 1.3;
    box-shadow: 0 4px 15px rgba(6, 199, 85, 0.3);
    transition: transform 0.2s, opacity 0.2s;
    /* はみ出し防止の重要設定 */
    width: 100%;
    box-sizing: border-box;
    white-space: normal; /* テキストが長い場合に折り返しを許可 */
}

/* マウスオーバー時の挙動（文字色は変えない） */
.start-btn:hover {
    opacity: 0.9; /* 透明度だけ変えて「押せる感」を出す */
    transform: translateY(-1px);
    color: #ffffff !important; /* ホバー時も白を維持 */
    text-decoration: none;
}


@media screen and (max-width: 639px) {
.smtno{display: none}
img{width: 100%; height: auto}



body{  
 font-size: 3.4666666667vw;
}
.f30 {
  font-size: 30px;
  font-size: 8vw;
}

.f20 {
  font-size: 20px;
  font-size: 5.3333333333vw;
}

.f18 {
  font-size: 18px;
  font-size: 4.8vw;
}

.f16 {
  font-size: 16px;
  font-size: 4.2666666667vw;
}

.f15 {
  font-size: 15px;
  font-size: 4vw;
}

.f14 {
  font-size: 14px;
  font-size: 3.7333333333vw;
}


.f12 {
  font-size: 12px;
  font-size: 3.2vw;
}

.f11 {
  font-size: 11px;
  font-size: 2.9333333333vw;
}

.f10 {
  font-size: 10px;
  font-size: 2.6666666667vw;
}
.headl{padding: 20px 8% 0; line-height: 1.5;}
.headl h1 .logo1{ width: 26px}
.headl h1 .logo2{ width: 130px; margin-left: 5px}
.headl h2{font-size: 2.9333333333vw;}

.footBox .priv{    margin: 0px auto 50px;}


/*========= ナビゲーションのためのCSS ===============*/
.headcont{display: none}
/*アクティブになったエリア*/
#g-nav.panelactive{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index:1000;
  top: 0;
  width:100%;
    height: 100vh;
}

/*丸の拡大*/
.circle-bg{
    position: fixed;
  z-index:3;
    /*丸の形*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #ffe8e8;
    /*丸のスタート位置と形状*/
  transform: scale(0);/*scaleをはじめは0に*/
  top:-50px;
    left:calc(50% - 50px);/*50%から円の半径を引いた値*/
    transition: all 1.5s;/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive{
  transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list{
    display: none;/*はじめは表示なし*/
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
     display: block; /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul {
  opacity: 0;/*はじめは透過0*/
    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
    position: absolute;
    z-index: 999;
    top:42%;
left: 45%;
    width: 80%;
    transform: translate(-50%,-50%);
}
.reserveBox{ display: none}


/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
    opacity:1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li{text-align: left;
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;/*0.2 秒遅らせて出現*/
animation-fill-mode:forwards;
opacity:0;
}

@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}


/*リストのレイアウト設定*/
#g-nav li{
  text-align: center; 
  list-style: none;
}
#g-nav li a{
  text-decoration: none;
  padding:10px;
  display: block;
  letter-spacing: 0.1em;
  border-bottom: 1px #fff solid;
  font-size: 4.2666666667vw;
}



/*========= ボタンのためのCSS ===============*/
.openbtn1,
.openbtn1 span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.openbtn1{
  position:fixed; 
  top:26px;
  right: 8%;
  z-index: 9960;/*ボタンを最前面に*/
  cursor: pointer;
    width: 40px;
    height: 30px;
}
.openbtn1 span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fab6b6;
  border-radius: 4px;
}
.openbtn1 span:nth-of-type(1) {
  top: 0;
}
.openbtn1 span:nth-of-type(2) {
  top: 13px;
}
.openbtn1 span:nth-of-type(3) {
  bottom: 0;
}
.openbtn1.active {
  transform: rotate(90deg);
}

.kotei{ width: 100%; margin: 0 auto; font-size: 3.7333333333vw; background: #fab6b6; box-shadow: 0 -5px 3px #eeeeee;}
.kotei a{ display: block;  color:#fff; line-height: 2.5; margin: 2px 2px 5px; border-bottom: none ;letter-spacing:0; width: 100%; font-size: 4.2vw; font-weight: 900;
}
.kotei dt{background: #fff; border-top: 5px solid #fab6b6; color: #fab6b6; line-height: 2.5;}
.kotei img{ width: 30px; vertical-align: middle; margin-top: -5px; margin-right: 5px}
.kotei dd ul{display: flex; flex-wrap: wrap; background: url("../img/koteibg.png") no-repeat; background-size: contain}
.kotei dd li{width: 50%; font-weight: bold; letter-spacing: normal}
.kotei dd li:first-child{width: 100%; border-bottom: 1px solid #fff; padding: 5px 0; font-weight: bold; background: #ff6767}

.kotei dd li:last-child{border-left:1px solid #fff; box-sizing: border-box;}
.kotei dd li a{display: block; width: 100%}

.headcontf dt{font-size: 4.2666666667vw; margin-bottom: 10px}
.headcontf .btnlinestretches{ width:  200px; margin-bottom: 20px;font-size: 4.8vw;}
.priv{border-top:1px solid #fff; width: 250px; margin: 0px auto 50px;}
.footBox .priv a{ border-bottom:1px solid #fff; padding: 5px 0}

.footr .text02{margin: 0 auto;}
.footr .text02 i{display: block;
    background: #fff;
    color: #fab6b6;
    font-weight: bold; margin-bottom: 10px}
    
.footr .text02 storing{font-weight: 900; font-size: 3.7333333333vw;}    
.footr strong, .footr span{font-weight: 900}

address{padding-top:30px;}



}


@media screen and (min-width: 640px) {
body{ font-size:14px;}
img{height: auto}
.pcno{display: none}

#header{ width: 1100px; margin: 0 auto; padding: 25px 0; position: relative}
.headflex{display: flex; justify-content: space-between ; position: relative}
.headl{width:260px; line-height: 1.5; position: absolute; }
.headr{width:1100px }
.headl .logo1{width: 52px}
.headl .logo2{width: 178px ; position: absolute;left: 55px; top: -1px;}
.headl h1{line-height: 1; position: relative}
.headl h2{font-size: 10px ; padding-left: 55px; margin-top: -14px;}



#header .headcont{position: absolute; width:640px; right: 0; top: 0px;  }
.headcont dl{display: flex; position: relative}
.headcont dl dd p{width:390px;  position: absolute; top: 5px; text-align: center; font-size: 15px; font-weight: bold;
    letter-spacing: 5px; color: #fff}
.headcont dt{width:200px; padding-top: 10px; }
.headcont dd{width:440px; background:url(../img/koteibg.png) no-repeat; padding: 0 10px 10px 26px; }
.headcont .contflexml{ color: #fab6b6; line-height: 2.5;
display: flex; justify-content: space-between; margin-top: 35px; }
.headcont img{ width: 30px; vertical-align: middle; margin-top: -5px; margin-right: 5px}
.headcont .contflexmlr, #g-nav-list dd .contflexmll{width: 48%;}
.headcont .btnlinestretches{padding: 5px 0px; width: 180px; text-align: center;background: #fff;
    border: 1px solid #fff; color: #fa5d5b}



.headr ul{display: flex; justify-content:space-between ; margin-top: 85px;  }
.headr ul a{font-weight: 900; font-size: 15px;}

.footBox .paget {top: -50px; width: 140px; height: 140px}
.footBox .btnlinestretches{padding: 20px 30px; font-size: 27px; background: #fff; color:  #fab6b6; }
.footflex{display: flex; justify-content:space-between; flex-flow: row-reverse}
.footl{width: 580px}
.footl .headcontf{  z-index: 99; position: relative; }
.footl .headcontf dt{ padding-top: 10px; font-size: 27px; margin-bottom: 20px; font-weight: 900 }
.footl .headcontf dt p{padding-bottom: 20px;}
.footl .headcontf .contflexml{ color: #fab6b6; line-height: 2.5; display: flex; justify-content: space-between }
.footl .headcontf img{ width: 30px; vertical-align: middle; margin-top: -5px; margin-right: 5px}
.footl .headcontf .contflexmlr, .footl .headcontf .contflexmll{width: 48%;}
.footl .headcontf .btnlinestretches{padding: 5px 0px; width: 260px;}
.footl .headcontf .contflexmlr .btnlinestretches{letter-spacing:-1px }



.footl a:hover{opacity: 1}
.footr{width: 400px; text-align: left}
.footr .text02 {font-size: 14px; letter-spacing: normal}
.footr .text02 span {font-size: 12px; padding-top: 20px;}
.footr .text02 i{background: #fff; display: inline-block; padding: 0 10px; color:#fab6b6;    margin-left: 10px;
    font-weight: 900; }
.footr .text02 strong{font-weight: 900; display: inline-block; }    
.footBox .priv {
    margin: 40px 0 0;
    font-size: 18px;
    text-align: right;
}
.footBox .priv a:hover{ color:#fff; opacity: 0.5 }

.kotei{display: flex; font-size: 18px;
    justify-content: space-between;
    width: 50px;
    margin: 0;
    top: 15%;
    right: 0;
    background: #fab6b6; height: 280px;}
.kotei a{ display: block; padding: 10px; color: #fff; font-weight: 900;-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	  text-align: justify;
  text-justify: inter-ideograph;
}
.kotei li:last-child a{ border-top: #fff 1px solid}
.kotei li:first-child{
font-size: 12px;
    font-weight: bold;
    padding: 10px;
    line-height: 1;
    border-bottom: 1px solid #fff;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	  text-align: justify;
  text-justify: inter-ideograph;}

.kotei dt{  -ms-writing-mode: tb-rl; writing-mode: vertical-rl; padding: 10px 0;;
    color: #fab6b6;
    background: #fff;
    width: 50px;
    border: 1px solid;}
.kotei dt p{padding-right:10px }
.kotei span{display: none}
.kotei dd{background: #fb7a75;}
.kotei dd img{width: 36px}
address{font-size: 11px; text-align: left; padding: 0px 0 30px; padding-top: 5px;}


}




/* CSS */

/* スマホ版（639px以下）の設定 */
@media screen and (max-width: 639px) {
  
  /* 外枠：はみ出た部分を隠す */
  .loop-container {padding: 5px 0; font-size: 20px; font-weight: 700;
    display: block;
    width: 100%;
    overflow: hidden; color: #fff;
    background-color: #fe9692; /* 背景色はサイトに合わせて変更してください */
  }

  /* 動く部分のラッパー */
  .loop-wrap {
    display: flex;
    width: fit-content; /* 中身に合わせて幅を確保 */
    /* アニメーション設定：15秒かけて無限ループ、一定の速度(linear) */
    animation: loopText 15s linear infinite;
    will-change: transform; /* ブラウザにアニメーションを予告して軽量化 */
  }

  /* ユーザー様の既存クラス調整 */
  .norikae {
    /* 改行させない設定 */
    white-space: nowrap;
    /* テキスト同士の余白（適宜調整してください） */
    padding-right: 50px; 
    /* 上下の余白調整が必要ならここに追加 */
    padding-top: 10px;
    padding-bottom: 10px;
  }
  
  /* スパンタグのデザイン維持（必要であれば） */
  .norikae span {
    font-weight: bold;
  }

  /* アニメーション定義（左から右へ） */
@keyframes loopText {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}
.kotei dd ul{        background: url(../img/koteibg.png) no-repeat;
        background-size: 100%;}
.kotei a{margin: 0 ; font-size: 4.6vw;}
.kotei dd li:first-child{display: none}
.kotei li:nth-child(2) a{border-right: 1px solid #fff; padding: 5px;}
.kotei li:nth-child(3) a{padding: 5px;}
.kotei li:nth-child(3){width: 50%}
.kotei dd li:last-child{width: 100%; background:#ff6767; border-top: 1px solid #fff; padding: 10px 0; }

}

@media screen and (min-width: 640px) {
/* デフォルト（PCなど）では非表示にする */
.kotei{background: none}
.kotei a{padding: 20px 10px}
.kotei li:nth-child(2){border-bottom: 1px solid #fff}
.loop-container {background:#fe9692; color: #fff; font-size:20px; text-align: center; padding: 15px 0; }
.loop-container span{font-size: 15px}
}