@charset "utf-8";
/* PC基本設定--------------------------------------------------*/
@media only screen and (min-width:768px) {
  /*ハンバーガーメニューを表示させず、PC用のメニューのみ表示*/
  .hamburger-menu, .nav-sp {
    display: none;
  }
}
/* スマホ基本設定--------------------------------------------------*/
@media only screen and (max-width:767px) {
  /*フォントサイズ*/
  html { /*基本フォントサイズを10pxに指定*/
    font-size: 62.5%;
  }
  body {
    font-size: 3rem;
    line-height: 1.6;
  }
  /*見出し*/
  h1 {
    padding-left: 5px;
    font-size: 3rem;
  }
  h1 img { /*画像見出し*/
    width: 50%;
    padding-top: 10px;
  }
  h2 {
    font-size: 2.4rem;
    border-bottom: none;
    padding-top: 10px;
    padding-left: 5px;
  }
  h3 {
    font-size: 2rem;
  }
  /*段落*/
  p {
    margin: 5px 0 20px;
  }
  /*文字サイズ小*/
  span.small {
    font-size: 2rem;
  }
  /* ナビゲーション--------------------------------------------------*/
  /* PC用ナビゲーションを非表示*/
  #navigation {
    display: none;
  }
  #navigation_sp {
    width: 100%;
    height: auto;
    margin: 20px auto;
    padding-top: 20px;
    text-align: center;
  }
  /* スマホ用ハンバーガーメニュー */
  .hamburger-menu {
    position: absolute;
    right: 20px;
    top: 20px;
    display: flex;
    align-items: center;
    width: 40px;
    height: 50px;
    cursor: pointer;
    z-index: 100;
    background: url("../images/btn_menu_2.png") no-repeat top center;
    background-size: 100%;
  }
  .hamburger-menu_line { /*真ん中の1本*/
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 3px;
    background-color: #802077;
    position: relative;
    transition: all 0.5s;
  }
  .hamburger-menu_line::before, .hamburger-menu_line::after { /*上下1本ずつ*/
    content: '';
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 3px;
    background-color: #802077;
    position: absolute;
    transition: all 0.5s;
  }
  .hamburger-menu_line::before { /*上の1本*/
    transform: translateY(-10px);
  }
  .hamburger-menu_line::after { /*下の1本*/
    transform: translateY(10px);
  }
  /* ハンバーガーメニューを×印にする*/
  .hamburger-menu.open .hamburger-menu_line {
    background-color: transparent;
  }
  .hamburger-menu.open .hamburger-menu_line::before {
    transform: rotate(45deg);
  }
  .hamburger-menu.open .hamburger-menu_line::after {
    transform: rotate(-45deg);
  }
  /* ナビゲーション */
  .nav-sp {
    position: absolute;
    top: 0;
    left: -100vw;
    width: 100vw;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 15px 0 30px;
    background-color: #dd91b8;
    text-align: left;
    transition: left 0.5s;
    z-index: 99;
    font-size: 2rem;
  }
  .nav-sp ul {
    width: 100%;
    padding: 0;
    margin-bottom: 10px;
  }
  .nav-sp li {
    background: url("../images/menu_cup.png") no-repeat 30px center;
  }
  .nav-sp li a {
    display: block;
    padding: 12px 0 12px 80px;
    border-bottom: 1px solid #fff;
  }
  .nav-sp a {
    text-decoration: none;
  }
  .nav-sp a:link {
    color: #fff;
  }
  .nav-sp a:visited {
    color: #fff;
  }
  .nav-sp p {
    font-size: 1.6rem;
    padding: 0 20px;
    color: #fff;
  }
  .nav-sp p.title {
    font-size: 2.4rem;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  .nav-sp.open {
    left: 0;
  }
  /*構成要素設定--------------------------------------------------*/
  body {
    width: 100%;
    min-width: 100%;
    background: none;
    overflow-x: hidden;
  }
  #container {
    width: 100%;
    margin: 0 auto;
    font-size: 1.6rem;
  }
  #contents {
    width: 95%;
    margin: 30px auto 10px;
    padding: 0;
    font-size: 1.6rem;
    min-height: 300px; /*thanksページの下部に余白を作り、横スクロールしないための設定*/
    background-position: 95% 95%, 5% 10%;
  }
  #contents p {
    margin: 6px 10px 15px;
    text-align: left;
  }
  /*ヘッダ--------------------------------------------*/
  #header {
    height: 180px;
    background: url(../images/header_sp.png) no-repeat top center;
    background-size: 120%;
  }
  #header_inner { /*ヘッダ内枠*/
    width: 100%;
    height: auto;
  }
  #header_logo_area { /*ロゴ（会社名）エリア*/
    width: 80%;
    bottom: 96px;
    right: 0;
    font-size: 3.5rem;
  }
  #header_logo_area img {
    width: 10%;
    margin: 0 14px 0 0;
  }
  #header_logo_area span.sub { /*フランチャイズ表示*/
    padding-left: 50px;
    font-size: 1.6rem;
  }
  #header_logo_area span.yugen { /*「有限会社」を小さく*/
    font-size: 2rem;
  }
  #header_logo_area a, a:link {
    transition: none;
  }
  #header_logo_en { /*会社名（英文）エリア*/
    width: 80%;
    left: 20px;
    top: 40px;
  }
  #header_logo_en img { /*矢印画像*/
    width: 12%;
    padding: 0 8px;
  }
  #header_catch_area { /*キャッチエリア*/
    float: none;
    padding-top: 140px;
    padding-right: 0;
    text-align: center;
  }
  #header_catch_area img {
    width: 68%;
  }
  /*ページトップへ戻るボタンエリア*/
  #to_top {
    width: 100%;
    height: auto;
    padding-top: 20px;
  }
  #to_top div.to_right { /*ページトップに戻るボタンを固定*/
    position: fixed;
    right: 20px;
    bottom: 5px;
    z-index: 999;
  }
  #to_top div.to_right img { /*ページトップに戻るボタンのサイズ*/
    width: 8vw;
  }
  /*スライドショー*/
  div.infiniteslide1 ul {
    margin: 45px 0 10px 0;
  }
  /*中段画像エリア------------------------------------*/
  #middle_area {
    height: 130px;
    margin: 0 auto 20px;
    background-size: 220% auto;
    background-color: none;
  }
  /*フッタ----------------------------------------------*/
  #footer {
    height: 300px;
    background: none;
  }
  #footer_inner {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 20px 10px;
    font-size: 1.6rem;
    background: #802077 url("../images/footer_sp.png") no-repeat center 14px;
    background-size: 100%;
  }
  #company-info { /*会社情報*/
    width: 95%;
    height: auto;
    margin: 40px 0 30px 10px;
  }
  ul#footer_navi { /*フッターナビを非表示*/
    display: none;
  }
  #copy { /*コピーライト*/
    width: 80%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.3rem;
  }
  /*画像関係--------------------------------------------------*/
  img {
    width: 100%;
    max-width: 100%;
    height: auto;
    text-align: center;
  }
  .img-responsive {
    max-width: 100%;
    height: auto;
  }
  img.sp_non { /*スマホで非表示*/
    display: none;
  }
  img.small { /*画像を50%に*/
    width: 50%;
  }
  img.midashi {
    width: 60vw;
  }
  /*個別設定--------------------------------------------------*/
  /*トップページ-------------------------------*/
  /*新着情報エリア*/
  #contents_new {
    width: 95%;
    padding-top: 0;
  }
  #new {
    margin: 0 auto;
    padding: 0;
  }
  #new h2 {
    margin-right: 10px;
    padding-top: 0;
  }
  #new table {
    width: 95%;
    margin: 10px 0 20px 10px;
    font-size: 1.5rem;
  }
  #new table td.date { /*日付セル*/
    vertical-align: top;
  }
  /*カーブス明示エリア*/
  #curves {
    width: 80%;
  }
  /*インフォメーションエリア*/
  #info {
    width: 95%;
    font-size: 1.6rem;
  }
  #info h2 {
    line-height: 1.3;
  }
  #info-image { /*画像エリア*/
    width: 95%;
    text-align: center;
  }
  #info-image img {
    margin: 0 0 10px 0;
  }
  /*ご挨拶*/
  #welcome {
    width: 95%;
    min-height: none;
    margin: 60px auto 30px;
  }
  #welcome h2 {
    top: -65px;
  }
  #welcome p {
    margin: 0 0 6px;
  }
  /*会社概要*/
  #company {
    float: none;
    width: 95%;
    min-height: none;
    margin: 60px auto 30px;
  }
  #company h2 {
    top: -65px;
  }
  #company ul {
    margin: 0;
    padding: 0;
  }
  #company p {
    margin: 0 0 6px;
  }
  /*経営理念*/
  #concept {
    float: none;
    width: 95%;
    min-height: none;
    margin: 60px auto 30px;
  }
  #concept h2 {
    top: -65px;
  }
  #concept p {
    margin: 0 0 6px;
  }
  /*トピックスエリア*/
  #topics {
    width: 100%;
    height: auto;
    padding-top: 10px;
  }
  #topics h2 img {
    width: 30%;
    padding-top: 10px;
  }
  /*下層ページ共通-------------------------------------------*/
  /*スライドショーエリアの高さ設定*/
  div#slide_kaso {
    margin-bottom: 50px;
  }
  /*フォーム関係*/
  label {
    display: inline-block !important; /*チェックボックスの途中で改行させない*/
  }
  input[type="checkbox"] {}
  /*事業内容のページ------------------------------------------*/
  h2.logo img { /*見出しのカーブスロゴ画像*/
    width: 50%;
  }
  .curves_photo { /*カーブスの写真*/
    float: none;
    text-align: center;
  }
  .curves_photo img { /*カーブスの写真設定（下に余白）*/
    width: 95%;
    padding-bottom: 10px;
  }
  ul#shop li span.shop_name { /*店舗名を強調*/
    font-size: 1.8rem;
  }
  ul#shop li img { /*店舗画像の幅を100%表示*/
    width: 100%;
  }
  #enterprise .image_popup { /*ポップアップさせない*/
    animation: none;
  }
  /*鶴ヶ島店特設ページ------------------------------------------*/
  p.tsurugashima {
    font-size: 1.8rem;
  }
  div#tsurugashima { /*チラシ画像の入れ物*/
    width: 95%;
    height: auto;
    margin: 20px auto;
    text-align: center;
  }
  div#tsurugashima img { /*チラシ画像*/
    margin-bottom: 20px;
  }
  /*採用情報のページ------------------------------------------*/
  table.recruit {
    width: 95%;
    height: auto;
    margin: 10px auto;
  }
  table.recruit td.komoku { /*項目*/
    width: 25%;
  }
  table.recruit td.komoku-last { /*最下部の項目*/
    width: 25%;
  }
  table.recruit td img { /*店舗画像*/
    padding: 0 0 12px 0;
    width: 100%;
  }
	 span.map-info { /*案内図拡大クリックの説明を消す*/
    display: none !important;
  }	
  /*ブログのページ------------------------------------------*/
  #blog {
    width: 100%;
    margin: 20px 0 0 10px;
  }
  div.post { /*個別の投稿*/
    width: 95%;
    margin: 10px 0 30px 10px;
    border-bottom: 1px solid #B16A8E;
  }
  div.post h2 { /*投稿タイトル*/
    font-size: 1.6rem;
    margin-top: 4px;
    padding-left: 5px;
    border-left: 3px solid #B16A8E;
  }
  /*お問い合わせのページ-----------------------------------*/
  #contact {
    width: 100%;
    margin: 40px auto 0;
  }
  #contact p { /*入力項目*/
    font-size: 1.8rem;
    margin: 6px auto 15px;
  }
  #contact input { /*入力欄*/
    width: 100%;
    height: 50px;
  }
  #contact label.short input { /*狭い入力欄*/
    width: 100%;
  }
  #contact label.wide { /*広い入力欄*/
    width: 100%;
  }
  #contact input[type="submit"], #contact input[type="reset"] { /*送信・クリアボタン*/
    height: auto;
    margin-top: 20px;
    font-size: 1.4rem;
    color: #000;
  }
  .wpcf7 input, .wpcf7 textarea {
    font-size: 1.8rem;
  }
  .wpcf7 input[type="submit"], .wpcf7 input[type="reset"] { /*コンタクトフォーム用*/
    width: 30%;
    color: #000;
  }
  /*個人情報保護方針（プライバシーポリシー）のページ----------------*/
  #privacy {
    width: 100%;
  }
  #privacy h2 {
    font-size: 2rem;
  }
  #privacy p {
    margin-bottom: 10px;
  }
}
/* スマホ横向き設定=================================================*/
@media screen and (max-width: 1024px) and (orientation: landscape) {
  /*ヘッダ--------------------------------------------*/
  #header {
    height: 280px;
    background-size: 140%;
  }
  #header_inner { /*ヘッダ内枠*/
    height: 280px;
  }
  #header_logo_area { /*ロゴ（会社名）エリア*/
    top: 120px;
    left: 40px;
  }
  #header_logo_area img {
    margin: 0 14px 0 0;
    width: 8%;
    height: auto;
  }
  #header_logo_area span.bold {
    font-size: 4.8rem;
  }
  #header_logo_en { /*会社名（英文）エリア*/
    left: 40px;
    top: 90px;
    font-size: 23px;
  }
  #header_logo_en img { /*矢印画像*/
    width: 8%;
    height: auto;
    padding: 0 8px;
  }
  #header_catch_area { /*キャッチエリア*/
    padding-top: 210px;
  }
  #header_catch_area img {
    width: 50%;
  }
  /* スマホ用ハンバーガーメニュー */
  .hamburger-menu {
    right: 20px;
    top: 40px;
  }
  /*中段画像エリア------------------------------------*/
  #middle_area {
    height: 180px;
  }
  /*ページトップへ戻るボタンエリア*/
  #to_top div.to_right img { /*ページトップに戻るボタンのサイズ*/
    width: 6vw;
  }
  /*フッター----------------------------------------------*/
  #footer {
    height: 350px;
  }
  #footer_inner {
    font-size: 2rem;
  }
  #company-info { /*会社情報*/
    margin: 50px 0 20px 30px;
  }
  #copy { /*コピーライト*/
    font-size: 1.5rem;
  }
  /*トップページ-------------------------------------------*/
  #info table { /*お知らせ*/
    margin: 20px 0 0 20px;
    font-size: 1.8rem;
  }
  /*個別設定--------------------------------------------------*/
  /*トップページ-------------------------------*/
  /*新着情報エリア*/
  #new table td.date { /*日付セル*/
    font-size: 1.5rem;
  }
  /*インフォメーションエリア*/
  #info {
    font-size: 1.5rem;
  }
  /*ご挨拶*/
  #welcome {
    margin: 60px auto 30px;
  }
  #welcome h2 {
    top: -65px;
  }
  #welcome h2 img {
    width: 110%;
    height: auto;
  }
}