
.title{text-align:center;}
.title h1{margin: 15px 0 0 0;}
.title p{margin-top: 30px;}
.title strong{color: #0A3F67;font-size: 50px;letter-spacing: 0.05em;font-weight: 500;}
.menu ul li a.menu_reform .menu_border { border-bottom:3px solid #FED631; }

@media screen and (max-width: 1120px) {
  .menu ul li .menu_reform_sp .menu_border { border-left:5px solid #FED631; }
  .menu ul li span.menu_reform_sp i.fa-plus { display:none; }
  .menu ul li .menu_reform_sub { display:block; height:auto; opacity:1; transition:0.3s; }
}

.bg_yellow { background:#FDF035; padding:50px 0;}
.wrap_yellow {width: 100%;background: url(../img/bg_yellow.png) repeat-x;background-size:1000px;height: 10vw;}
@media screen and (min-width:568px) {
  .wrap_yellow {height: 6vw; }
}
@media screen and (min-width: 960px) {
  .wrap_yellow {height: 3vw; }
}
@media screen and (min-width:1700px) {
  .wrap_yellow {height:2vw; }
}
.bg_yellow .contents { margin-top:0; }

/*下層ページ共通*/
.div_h1 .contents { margin-top:0; }
.div_h1 strong { width:100%; font-size:25px; font-family: "mochiy-pop", sans-serif;font-weight: 400;font-style: normal; text-align:center; color:#fff; line-height:1.5em; display:block; }
.div_h1 .st_maintitle { width:100%; text-align:center; margin:20px 0; display:block;}
.div_h1 .st_maintitle img { width:85%;}
@media screen and (min-width: 960px) {
  .div_h1 strong { font-size:35px; }
  .div_h1 .st_maintitle { width:100%;  }
  .div_h1 .st_maintitle img { height:90px; }
}

.div_h1 h1 { width:100%; text-align:center; color:#fff; display:block; }
.div_h1 .img_chara{ height:100px; float:right; margin-top:0; }
@media screen and (min-width: 960px) {
  .div_h1 .img_chara { height:160px; margin-top:-50px; }
}

.p_lead_top { width:100%; text-align:left; text-align:justify; font-weight:bold; display:block; line-height:1.7em; font-size:16px; font-weight:500;margin-bottom: 10px; } 
.p_lead_top strong { width:100%; display:block; }
@media screen and (min-width: 960px) {
  .p_lead_top { text-align:center; margin: 0;} 
}

.p_lead { width:100%; text-align:center; font-weight:bold; }

.div_yellow { width:100%; background:#FDF8E3; float:left; }

.st_medium { width:100%; font-size:18px; text-align:center; display:block; font-weight:600; letter-spacing:0.05em; line-height:1.7em; margin-bottom:30px; }
@media screen and (min-width: 960px) {
  .st_medium { font-size:25px; margin-bottom:30px; text-align:center;  }
}
.contents.margintop0 { margin-top:0; }

/*共通問い合わせ*/
.div_contact { width:100%; background:#0C2F54; float:left; padding:0 0 50px 0; text-align:center; margin:0;}
.div_contact .st_medium { width:90%; margin:0 auto; text-align:center; color:#fff; font-size:16px; display:block; margin-bottom:10px; }
.div_contact .contents { width:90%; background:#fff; display:block; padding:20px 0 10px 0; margin:0 auto; border-radius:12px;}
.div_contact .contents .contents_in { width:90%;  margin:20px auto 0 auto;  }
.div_contact .contents span.green { width:100%; padding:10px 0; font-weight:bold; line-height:50px; border-radius:25px; margin:-20px auto 0 auto; text-align:center; background:#FEE934; color:#0C2F54; display:block; line-height:1.5em; }
.img_chara_all { width:70%; margin:-100px auto 20px auto; }
.st_tel { font-size:30px; }
@media screen and (min-width: 960px) {
  .div_contact .st_medium { font-size:25px; margin-bottom:20px; text-align:center; }
  .div_contact .contents { width:1080px; height:280px; padding:0; }
  .div_contact .contents span.green { padding:0; font-size:30px; line-height:1.7em; font-weight:600; margin-top:-25px; display:block; margin-bottom:10px; }
  .div_contact .contents .contents_in { width:90%; ; margin:70px 5% 20px 5%; display:block; float:left; }
  .img_chara_all { width:37%; margin:-100px auto 20px auto; }
}

.ul_reserve { width:100%; display:flex; flex-wrap:wrap; justify-content: space-between; margin:10px auto 20px auto;}
.ul_reserve li { width:100%; text-align:left; }
.ul_reserve li strong { width:100%; font-size:17px; display:block; line-height:1.5em; text-align:center; margin-bottom:10px; }
.ul_reserve li strong.st_tel img { width:20%; }
.ul_reserve li strong.st_tel { width:100%; display:flex; align-items:center; font-size:27px; font-weight:bold; text-align:center; display:block; }
@media screen and (min-width: 960px) {
  .ul_reserve { margin-top:20px; }
  .ul_reserve li strong { font-size:16px;}
  .ul_reserve li strong.st_tel {font-size:28px; margin-bottom:0; }
}
.ul_reserve li small { width:100%; text-align:center; font-size:13px; }
.ul_reserve li .a_button { width:100%;  margin:0 auto 20px auto; position:relative; display:block; background:#FF5800; color:#fff; border-radius:5px; text-align:center; padding:5px 0;  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);}
.ul_reserve li .a_button.reserve { background:#50ac0b; }
.ul_reserve li .a_button strong { font-size:20px; font-weight:bold; }
.ul_reserve li .a_button small {position:relative;display: inline-block; text-align:center; }
.ul_reserve li .a_button:hover { opacity:0.7; }
@media screen and (min-width: 960px) {
  .ul_reserve li small { font-size:12px; text-align:center; display:block; }
  .ul_reserve li .a_button { height:100px; }
  .ul_reserve li .a_button strong { font-size:30px;}
  .ul_reserve li .a_button small { width:auto; position:relative;display: inline-block;margin-top:20px; }
}
.ul_reserve li .a_button small::before,
.ul_reserve li .a_button small::after {
  content: "";
  position: absolute;
  width: 20px; /* 線の長さを調整 */
  height: 1px;
  background-color: #fff;
  top: 50%;
  transform: translateY(-50%);
}

.ul_reserve li .a_button small::before {
  left: -20px; /* 左側に斜めの線を配置 */
  transform: rotate(45deg);
}

.ul_reserve li .a_button small::after {
  right: -20px; /* 右側に斜めの線を配置 */
  transform: rotate(-45deg);
}

.st_button { position:relative; }
.st_button:before { content:""; width:16px; height:16px; margin:-8px 0 0 0; background:#fff; border-radius:50%; position:absolute; top:50%; right:12%; z-index:1; }
.st_button::after { content:""; margin:-4px 0 0 0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:4.5px solid #FF5800; position:absolute; right:14.2%; top:50%; z-index:1; width:0; pointer-events:none; transition:0.3s; }
.st_button.reserve::after { content:""; margin:-4px 0 0 0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:4.5px solid #50ac0b; position:absolute; right:14.2%; top:50%; z-index:1; width:0; pointer-events:none; transition:0.3s; }
@media screen and (min-width: 960px) {
  .st_button:before { top:45%; right:10%; }
  .st_button:before { content:""; width:20px; height:20px;}
  .st_button::after { content:""; margin:-8px 0 0 0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:6.5px solid #FF5800;  right:12%; top:53%; }
  .st_button.reserve::after { content:""; margin:-8px 0 0 0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:6.5px solid #50ac0b;  right:12%; top:53%; }
}

.ul_reserve { width:95%; }
@media screen and (min-width: 960px) {
  .ul_reserve { width:100%; }
  .ul_reserve li { width:32%; }
}


@media screen and (max-width: 740px) {
.PC{display: none;}
.SP{display:block;}
.contents {margin: 30px auto 80px auto;}
.title{padding: 0px 0 0px 0;}
.title_top{margin: 10px auto;width: 95%;}
.title strong{font-size: 9vw;}
}
/* ここまで共通 */


.bg_grey{background:#f8f8f8;padding: 1px;}
.contents{margin: 50px auto;}
.footer_ill_wrap{background: #f8f8f8;}
.title_h1 { margin-bottom:30px; }

.submenu ul li { margin:0;  border-right:0; line-height:1.2; }
.submenu ul li a { margin:0; }
.submenu ul { justify-content: space-between;}




.ul_button { width:100%; display:flex; flex-wrap:wrap; justify-content: space-between;}
.ul_button li { width:49%; margin-right:0; line-height:62px; color:#151515; font-weight:500; border:1px solid #CCCCCC; text-align:center; margin-bottom:5px; }
@media screen and (min-width: 960px) {
  .ul_button { justify-content:space-between;}
  .ul_button li { width:23%; margin-right: 15px;margin-bottom:20px;}
  .ul_button > li:nth-child(4n) {
  margin-right: 0; /* 4の倍数番目の li 要素には右マージンを付けない */
  }
}
.ul_button li button { width:100%; font-size:12px; display:flex; align-items: center; justify-content: center;  background:#fff; letter-spacing: -2.6px;}
@media screen and (min-width: 960px) {
  .ul_button li button { font-size:16px; letter-spacing: 0;}
}
.ul_button li button:hover { background:#0C2F54; color:#fff; }
.ul_button li button.select {background:#0C2F54; color:#fff; }


.ul_button li button img { margin-left:10px; }
.ul_button2 { width:100%; display:flex; flex-wrap:wrap; }
.ul_button2 li { width:23%; margin-right:2.5%; line-height:62px; color:#151515; font-weight:500; border:1px solid #CCCCCC; text-align:center; margin-bottom:20px; }
.ul_button2 li button { width:100%; background:#fff; }
.ul_button2 li button.select {background: #0C2F54; color:#fff; }


/*ラインアップ*/
.ul_lineup { width:90%; display:flex; flex-wrap:wrap;  margin:20px 5% 50px 5%; justify-content: space-between;}
@media screen and (min-width: 960px) {
  .ul_lineup { width:100%; justify-content:initial; margin:50px 5%;  }
}
.ul_lineup li { width:43%; background:#fff; text-align:center; padding:15px 2.5%; margin-bottom:12px; }
.ul_lineup li strong {font-weight:600; font-size: 14px;}
.ul_lineup li span {font-weight:normal; font-size:13px; }
.ul_lineup li img { width:100%; margin:10px 0; }
.ul_lineup li .div_price strong { font-size:26px; color:#ff0000; font-weight:600; }
.ul_lineup li .div_price strong span { font-size:15px; }
.ul_lineup li .div_price span { font-size:12px; font-weight:normal; }
.li_long { display:block; width:90%; text-align:center; background:#0C2F54; color:#fff; font-size:18px; margin:30px auto 0 auto; line-height: 45px;}   
@media screen and (min-width: 960px) {
  .ul_lineup li { padding:0 1%; line-height:44px;}
  .ul_lineup > li {
    width:19%;
    margin-right: 12px; /* 全ての li 要素に右マージンを付ける */
  }
/* 
  .ul_lineup > li:nth-child(4n) {
    margin-right:12px;
  }

  .ul_lineup > li:nth-child(5n) {
    margin-right:0px;
    margin-left:0; 
  }

  .ul_lineup > li:nth-child(9n) {
    margin-right:0px;
    margin-left:0; 
  }

  .ul_lineup > li:nth-child(13n) {
    margin-right:0px;
    margin-left:0; 
  }

  .ul_lineup > li:nth-child(17n) {
    margin-right:0px;
    margin-left:0; 
  }

  .ul_lineup > li:nth-child(21n) {
    margin-right:0px;
    margin-left:0; 
  } */

    .ul_button { margin-top:30px; }
    .lineup_wrap { max-width:1180px; margin:0 auto 50px auto; padding: 30px; text-align:center; background: #fff; box-sizing: border-box; border: 1px solid #ccc;}
    .lineup_wrap .ul_lineup { width: 100%; margin: 30px auto 0 auto; flex-wrap:wrap;}
    .lineup_wrap .ul_lineup span { font-size:12px; display:inline-block; white-space: nowrap;}
    .li_long { display:block; width:99%; text-align:center; background:#0C2F54; color:#fff; font-size:18px; margin: 0 auto; line-height: 45px;}    
}


/*部位*/
.div_part { width:100%; display:flex; justify-content:space-between; margin:50px 0 50px 0; flex-wrap:wrap; }
.div_part li { width:48%; margin-bottom:30px; }
.div_part li strong { width:100%; display:block; background:#0C2F54; color:#fff; text-align:center; line-height:1.5em; font-size:12px; padding:10px 0;}
@media screen and (min-width: 960px) {
  .div_part { flex-wrap:wrap; display:flex; margin:50px 0 150px 0; }
  .div_part li { width:32%; margin-bottom:15px; }
}
.div_part li img { width:100%; }



/*キラッと光る*/
.btnshine{
position: relative;
display:inline-block;
  color: #fff;
  text-decoration: none;
  outline: none;
  overflow: hidden;
}

.btnshine::before {
content: '';
  /*絶対配置でキラッと光るの位置を決める*/
position: absolute;
top: 0;
left: -75%;
  /*キラッと光る形状*/
  width: 50%;
height: 100%;
background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.btnshine:hover::before {
animation: shine 0.7s;
}

@keyframes shine {
100% {
  left: 125%;
}
}


.sectTit {
  position: relative;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  font-size:16px;
  letter-spacing:0.05em;
  margin-bottom:30px; 
}

@media screen and (min-width: 960px) {
  .sectTit {font-size:25px;}
}
 
.sectTit:before,
.sectTit:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #000;
  width: 2px;
  height: 3em;
  margin: 0 1em;
  margin-top: -.2em;
  vertical-align: middle;
}
 
.sectTit:before {
  transform: rotate(-35deg);
}
 
.sectTit:after {
  transform: rotate(35deg);
}



/*お客様の声*/
.ul_column3 { display:flex; justify-content: flex-start; margin-top:50px; flex-wrap:wrap; }
.ul_column3 li { width:100%; margin-bottom: 20px;}
@media screen and (min-width: 960px) {
  .ul_column3 li { width:32%; margin: 0 0.6% 20px 0.6%;}
}
.ul_column3 li a { width:100%; }
/* 一覧画像：縦横あ３：２で横幅いっぱいに表示、縦画像は見切れる */
.ul_column3 li a .img_box,li .img_box { width: 100%; aspect-ratio: 3 / 2; overflow: hidden; /*background: #eae5d7;*/}
.ul_column3 li a img,li .img_box img { width: auto; max-width: 100%; height: auto; margin: 0 auto;}
.ul_column3 li a strong { font-size:14px; color:#000;}
.flag_new { font-size:12px; margin-right:10px; padding:0 10px; background:#D51315; color:#fff; line-height:20px; display:inline-block; }
.ul_column3 li a p { color:#000; }
.ul_column3 li a:link p { color:#000; }

.slider .cate_link  { width:100%; height:450px; display:inline-block; /* margin:10px; background: url(../img/memo_pc.svg)no-repeat;
  background-size:contain;*/ border: solid 1px #666; background: #fff;}
.slider .cate_link .sample_box { width:90%; margin: 10px auto; height:200px; /* margin:20px 0 10px 10%;*/ overflow:hidden; }
.slider .cate_link div strong { margin:0 5%; display: inline-block; text-align: justify;}
.slider .cate_link div p { margin:0 5%; text-align: justify; }
.flag { margin:0 0 0 5%}

.linkMore { width:190px; height:40px; display:block; margin:50px auto 0 auto; padding:0 40px 0 0; text-align:center; background:#fff; border:2px solid #000; border-radius:5px; position:relative; box-sizing:border-box; color:#000; font-size:14px;font-weight:bold; line-height:37px;transition:0.3s; }
.linkMore::before { content: ""; display: block; position: absolute; top: 0; bottom: 0; right: 30px; margin: auto; width: 20px; height: 2px; background: #000; transition: .3s; }
.linkMore::after{ content: ""; display: block; position: absolute; top: 0; bottom: 0; right: 30px; margin: auto; width: 8px; height: 8px; border-left: 2px solid #000; border-bottom: 2px solid #000; transform: rotate(-135deg); transition:.3s; }


.moving-image {
  animation: slideAnimation 2s infinite alternate; /* アニメーションを適用 */
}
@keyframes slideAnimation {
  0% {
      transform: translateX(0px); /* 開始位置 */
  }
  100% {
      transform: translateX(100px); /* 終了位置 */
  }
}


.bouncing-image {

  animation: bounceAnimation 1s infinite alternate; /* アニメーションを適用 */
}
@keyframes bounceAnimation {
  0%, 100% {
      transform: translateX(0) rotate(0); /* 開始と終了位置 */
  }
  50% {
      transform: translateX(20px) rotate(15deg); /* 最高点での位置 */
  }
}


/*上下の動き*/
.jumping-image {
  animation: jumpAnimation 1s ease infinite alternate;
}
@keyframes jumpAnimation {
  0%, 100% {
      transform: translateY(0); /* 開始と終了位置 */
  }
  50% {
      transform: translateY(-20px); /* 最高点での位置 */
  }
}


/*左右の動き*/
.leaning-image {
  animation: leanAnimation 2s ease-in-out infinite alternate;
}

@keyframes leanAnimation {
  0%, 100% {
      left: -30%; /* 開始と終了位置 */
  }
  50% {
      left: -20%; /* 最高点での位置 */
  }
}

/*ゆらゆら*/
.tilting-image {
  animation: tiltAnimation 3s linear infinite alternate;
}
@keyframes tiltAnimation {
  0% {
      transform: rotate(0deg); /* 初期状態（傾きなし） */
  }
  50% {
      transform: rotate(20deg); /* 50%の時の傾き */
  }
  100% {
      transform: rotate(0deg); /* 最終状態（傾きなし） */
  }
}

/*ページ*/
.ul_page { width:100%; display:flex; justify-content:space-between; margin:50px 0 80px 0; }
@media screen and (min-width: 960px) {
.ul_page { margin:50px 0 100px 0; }
}
.ul_page li { width:auto; }
@media screen and (min-width: 960px) {
.ul_page li { width:33%; }
}
.ul_page li:first-child { text-align:left; }
.ul_page li:nth-child(2) { text-align:center; }
.ul_page li:nth-child(3) { text-align:right; }
.ul_page li a:hover { text-decoration:underline;}

/*フッター*/

.contSect_wrap.blog::before {
  .footer_list_top { font-size:14px; text-align:left; }
.footer_list_link { font-size:14px; text-align:left; }
.footer_list li { line-height:1.7;}
.footer_office .footer_office_address  { display:block; font-weight:normal;font-size: 16px;}
.footer_link .footer_pp { font-size:16px; font-weight:normal;line-height:1.7; } }
.footer_copy { font-size:16px; font-weight:normal;line-height:1.7; }
.contSect_wrap.blog { position:relative; }

@media screen and (min-width: 960px) {
.footer_list_top { font-size:14px; text-align:left; }
.footer_list_link { font-size:14px; text-align:left; }
.footer_list li { line-height:1.7;}
.footer_office .footer_office_address  { display:block; font-weight:normal;font-size: 16px;}
.footer_link .footer_pp { font-size:16px; font-weight:normal;line-height:1.7; } }
.footer_copy { font-size:16px; font-weight:normal;line-height:1.7; }
.contSect_wrap.blog { position:relative; }



/*お客様からの喜びの声続々!*/
.ul_column3 { margin-top:0; }
@media screen and (min-width: 960px) {
  .ul_column3 { margin-top:50px; }
}

.flag_new { background:#F65E39; color:#fff; padding:0 5px; font-size:13px; margin-top:5px; }
.oneder_all_wrap { width:100%; margin:0 0 20px 0; display:block; }
.oneder_all_wrap .oneder_all_img { width:100%; }
@media screen and (min-width: 960px) {
    .oneder_all_wrap { width:650px; margin:-100px auto 50px auto; text-align:center;  }
    .oneder_all_wrap span { text-align:center; margin-left:75%; }
    .oneder_all_wrap .oneder_all_img { width:650px; margin-top:-50px; }
}

.contSect_wrap.blog .photo_staff { display:none; }
@media screen and (min-width: 960px) {
  .contSect_wrap.blog { position:relative; }
  .contSect_wrap.blog .photo_staff { width:150px; position:absolute; right:0; bottom:-30px; display:block; }
}

/*リンク*/
.ul_reform_link { width:100%; display:flex; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; font-size:16px; text-align:center; padding:10px 0 50px 0; line-height:50px; font-weight:bold; color:#0C2F54; margin-top:30px; }
.ul_reform_link li { width:100%; border-bottom:1px solid #cccccc; background:#fff; margin-bottom:10px;  }
@media screen and (min-width: 960px) {
  .ul_reform_link { margin-bottom:50px; }
  .ul_reform_link li { width:19%; border:1px solid #cccccc; margin-bottom:20px;  }
  .p_lead_reform { width:100%; font-size:18px; font-weight:bold; text-align:center; }
}
.ul_reform_link li a { width:100%; height:100%; display:inline-block; transition:0.3ms; position:relative; }
.ul_reform_link li a:hover { background:#0C2F54; color:#fff; transition:0.3ms;}
.ul_reform_link li a img { width:12px; position:absolute; right:5px; top:19px; display:none; }
.contents_wrap.reform { width:100%; height:auto; float:left; display:block; background:#e5f4f9; margin-bottom:0; padding:50px 0;}
.contents_wrap.reform .contents { margin:0 auto; }

/* カミングスーン */
.soon {text-align: center; margin: 20px auto; font-size: 16px; font-weight: bold; color: #FED631;}
.no_image { width: 100%; aspect-ratio: 3/2; background: #efefef; text-align: center; align-content: center;}
