@charset "UTF-8";
/* CSS Document */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a,a:hover,a:visited{
    color: inherit;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/*リセットCSSここまで*/

/* ====================================
   1. リセット・共通設定
   ==================================== */
body {
    margin: 0;
    padding: 0;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, sans-serif;
    line-height: 1.6;
}

html, body {
    overflow-x: hidden; /* 横方向のはみ出しを隠す */
    width: 100%;        /* 幅を100%に固定（96%指定は避けるのが無難） */
}

/* ====================================
   2. PCデフォルトスタイル (最大1000px)
   ==================================== */

/* --- ヘッダーエリア --- */
.header {
    background-color: white; /* 背景色 (指定なしのため白に設定) */
}
.header-inner {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center; /* ロゴを中央配置 */
    padding: 0px 0;
}
.logo {
    /* 画像サイズ: 高さ62px 幅200px */
    height: auto;
    width: 200px;
    padding-top: 40px;
    /* 修正ポイント1: 画像をブロック要素にする（これで隙間が消える） */
    display: block;
    
    /* 修正ポイント2: ブロック要素にすると左右中央寄せが解除されるので、marginで調整 */
    margin: 0 auto;
}

.numbered-container1{
    margin-top: 0px;
    margin-bottom: 40px;
}

.numbered-container2{
    margin-top: 40px;
    margin-bottom: 40px;
}

.numbered-container3{
    margin-top: 40px;
    margin-bottom: 0px;
}

.container {
  overflow: hidden;
}

.box01 {
  color: #fff;
  background: #d70915;
  position: relative;
  z-index: 15;
}
/* --- Box 05 (ブランドカラーの曲線の土台) --- */
.box05hed {
  background: #d70915;
  
  /* 1. カーブの深さを画面幅の10%に固定 */
  border-bottom-left-radius: 50% 7vw;
  border-bottom-right-radius: 50% 7vw;
  
  /* 2. 下の余白もカーブの深さと連動させる */
  padding-bottom: 7vw; 

  /* 3. 上の引き上げ量も比率で指定（50px ≒ 4.5vw くらい） */
  margin-top: -3.7vw;
  
  /* 4. 横へのはみ出し設定も比率へ（左右の合計を維持） */
  margin-left: -10vw;
  margin-right: -10vw;
  padding-left: 10vw;  /* ここは中身のpaddingに合わせる */
  padding-right: 10vw;

  position: relative;
  z-index: 1;
  width: auto; /* はみ出し設定を活かすため */
}


.box02 {
  padding-top: 100px;
  padding-bottom: 0px;
  max-width: 1000px;
    margin: 0 auto;
    position: relative;
     z-index: 11;
}
.box02 img{
  width: 100%;

}


.box03 {
  background: #fff;
  /* 縦の半径を150pxに強め、横は50%で画面幅に追従させる */
 border-bottom-left-radius: 50% 7vw;
  border-bottom-right-radius: 50% 7vw;
  
 /* 2. 下の余白もカーブの深さと連動させる */
  padding-bottom: 7vw; 

  /* 3. 上の引き上げ量も比率で指定（50px ≒ 4.5vw くらい） */
  margin-top: -3.7vw;
  
  /* 4. 横へのはみ出し設定も比率へ（左右の合計を維持） */
  margin-left: -10vw;
  margin-right: -10vw;
  padding-left: 10vw;  /* ここは中身のpaddingに合わせる */
  padding-right: 10vw;
  
  /* 重要：カーブの縦幅(150px)以上の高さを確保する */
  padding-bottom: 110px; 
  position: relative;
  z-index: 10;
}





/* 外側の枠：背景色を横幅いっぱいに広げる */
.full-width-bg {
background-color: #fbe4e5; /* 薄ピンク */
  margin: 0 auto;
  width: 100%;
  padding-top: 200px;
  padding-bottom: 100px;

  /* 前面に持ってくる設定 */
  position: relative;
  z-index: 1; /* 数字を大きくして上に重ねる */
  
  /* 上の要素に覆いかぶさるように上にずらす */
  margin-top: -40px; /* 曲線の形状に合わせて数字を調整してください */
}
.full-width-bg img{
  width: 100%;
}

.full-width-bg_RED {
background-color: #d70915; /* ブランドカラー */
  margin: 0 auto;
  width: 100%;
  padding-top: 200px;
  padding-bottom: 0px;

  /* 前面に持ってくる設定 */
  position: relative;
  z-index: 1; /* 数字を大きくして上に重ねる */
  
  /* 上の要素に覆いかぶさるように上にずらす */
  margin-top: -40px; /* 曲線の形状に合わせて数字を調整してください */
}





@media (max-width: 767px) {
.logo {
    height: auto;
    width: 98px;
    padding-top: 16px;
}


.box02 {
    background-color: #ffff;
    position: relative;
    z-index: 11; /* box03(10)や背景(1)より数字を大きくする */
    padding-top: 20px;
    padding-bottom: 0px; 
    max-width: 96%;
    margin-bottom: 0px;  /* ここもゼロ */
  }

  .box02 img {
    width: 100%;
    display: block; /* 前にお伝えした「画像下の謎の隙間」を消す魔法です */
  }


.box03 {
    /* ここを追加！ */
    background: #ffffff;
    margin-top: -60px; /* 隙間に合わせて数値（-30px〜-80pxなど）を調整してください */
    position: relative;
    z-index: 10;
    padding-top: 0px;

    /* カーブを削らないために横幅を広げている設定がある場合、これも必要 */
    margin-left: -100px;
    margin-right: -100px;
  }


/* 外側の枠：背景色を横幅いっぱいに広げる */
.full-width-bg {
background-color: #fbe4e5; /* 薄ピンク */
  margin: 0 auto;
  width: 100%;
  padding-top: 160px;
  padding-bottom: 48px;

  /* 前面に持ってくる設定 */
position: relative;
    z-index: 1; /* 一番背面に設定 */
  
  /* 上の要素に覆いかぶさるように上にずらす */
  margin-top: -10px; /* 曲線の形状に合わせて数字を調整してください */
}

.numbered-container{
    padding-bottom: 0px;
    margin-bottom: 0px;
}

.numbered-container1{
    margin-top: -30px;
    margin-bottom: 40px;
}

}



/* ボタンコンテナ全体の共通設定 */
.btn-container {
    width: 100%;
    text-align: center;
    
    /* ↓ 上に40px、下に40pxの余白を確実に作る（marginを使うのが正解） */
    margin-top: 40px !important; 
    margin-bottom: 40px;
    
    padding: 0; /* paddingは0にして、marginで距離を制御します */
    display: block;
}

/* スマホ用（520px以下）も修正 */
@media (max-width: 520px) {

    .btn-container {
        /* スマホでも40pxを維持、または少し詰めたいなら30pxなどに調整 */
        margin-top: 20px !important;
        margin-bottom: 20px;
        
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* ボタン自体： */
.btn-red-square {
    display: inline-flex;
    flex-direction: row;    /* ★縦から横並びに変更 */
    justify-content: center;
    align-items: center;
    gap: 15px;              /* ★アイコンと文字の間の隙間 */
    
    width: 500px;
    max-width: 90%;
    height: 100px;
    
    background-color: #d70915;
    color: #ffffff !important;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
    box-sizing: border-box;
}

/* アイコン画像の設定 */
.btn-icon {
    width: 100%;            /* 親の制限（max-width）に従う */
    max-width: 58px;        /* ★ボタン内での見た目バランス（64pxだと少し大きいかもなので40-50px推奨） */
    height: auto;
    object-fit: contain;
}

/* 文字のズレ防止 */
.btn-main {
    line-height: 1;
    display: block;
        font-size: 28px;
    font-weight: bold;
    line-height: 1.2;
}

/* 1つ目のボタン（赤） */
.btn-red-square {
    background-color: #d70915;
    color: #ffffff !important;
}


.btn-red-square:hover {
    opacity: 0.8;
    transform: translateY(-2px); /* ホバー時に少し浮かす演出 */
}



.btn-sub {
    font-size: 14px; /* 赤ボタンは14pxを維持 */
    margin-top: 4px;
    font-weight: normal;
    line-height: 1.4;
}

/* スマホ用のレスポンシブ調整 */
@media (max-width: 520px) {
    .btn-red-square {
        width: 312px;
        height: 64px;
        padding: 15px 10px;
    }
    .btn-main {
        font-size: 15px;
    }
/* スマホ時はさらに少し小さく */
    .btn-sub {
        font-size: 11px;
    }


.btn-red-square {
        height: 70px;      
        gap: 10px;
    }
    .btn-icon {
        max-width: 40px;   
    }
    .btn-main {
        font-size: 16px;   
    }


}
    @media (max-width: 900px) {
    .btn-icon2 {
        width: 100%;
        max-width: 20px; 
        height: auto;
        object-fit: contain;
        margin-left: 5px;
    }
    
    /* ボタンの中身を横並びで維持し、要素を均等に配置 */
    .btn-red-square {
        display: inline-flex;
        flex-direction: row; 
        justify-content: center;
        align-items: center;
        gap: 8px; 
    }
}



/* 本文エリア（MAX 700px） */
.inner-700 {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 0px;
    box-sizing: border-box;
}

/* タイトル設定 */
.section-title {
    font-size: 26px;
    color: #d70915;
    font-weight: bold;
    margin-bottom: 40px; /* 指定：下の余白40px */
    text-align: left;
}



/* --- 重なり順の微調整 --- */
.full-width-bg, .full-width-bg_RED {
  position: relative;
  z-index: 1;
  /* 上のBoxに食い込ませる量を調整（カーブの深さに合わせる） */
  margin-top: -110px; 
}



/* 番号付きアイテム */
.numbered-item1 {
    display: flex;
    align-items: flex-start; 
    gap: 12px;
    margin-bottom: 0px; 
}


/* 番号付きアイテム */
.numbered-item2 {
    display: flex;
    align-items: flex-start; 
    gap: 12px;
    margin-bottom: 36px; /* ★ここを40pxに設定 */
}

/* 番号付きアイテム */
.numbered-item3 {
    display: flex;
    align-items: flex-start; 
    gap: 12px;
    margin-bottom: 36px; /* ★ここを40pxに設定 */
}

.num-box {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 38px;         
    text-align: center;
    border: 1px solid #db616d;
    color: #db616d;
    background-color: #FFFF;
    font-weight: bold;
    font-size: 18px;
    box-sizing: border-box;
    flex-shrink: 0;
    border-radius: 2px;
    /* ↓↓↓ ここを削除（または0にする） ↓↓↓ */
    /* padding-bottom: 40px;  削除 */
    /* margin-bottom: 40px;   削除 */
}


.item-desc {
/* 2. ブラウザ標準の上の余白を消す */
    margin-top: 0; 
    margin-bottom: 0;
    
    /* 3. フォントの形によって微妙にズレる場合、ここで微調整 */
    padding-top: 0px; /* ボックスの「上枠」と文字の「上端」を視覚的に合わせる */

    font-size: 18px;
    color: #d70915;
    font-weight: 700;
    line-height: 1.4; /* 行間を少し詰めるとより綺麗です */
}





.contact-simple-box {
    border: 1px solid #000000; /* 指定：1pxの黒線 */
    padding: 20px 10px;        /* 指定：上下20px、左右10px */
    
    /* 綺麗に見せるための追加設定 */
    margin: 0px auto;         /* 前後の要素との間隔と中央寄せ */
    max-width: 700px;          /* PCで広がりすぎないように制限 */
    box-sizing: border-box;    /* 余白を含めて幅を計算（はみ出し防止） */
    text-align: left;        /* テキストを中央寄せ */
}

.contact-simple-box p {
    margin: 0;
    line-height: 1.8;          /* 電話番号や時間が詰まりすぎないように調整 */
    font-size: 15px;
    color: #333;
}




.main-img-medium {
    margin-bottom: 100px; /* 指定：100px */
}





/* 全幅赤エリア */
.section-red {
    width: 100%;
    background-color: #d70915; /* 指定の色 */
    padding-top: 100px;
    padding-bottom: 100px;
    box-sizing: border-box;
}


/* お問い合わせセクション専用の調整 */
.contact-section {
    text-align: center; /* タイトルとテキストを中央寄せにする場合 */
}



/* リードテキスト (20px / W7) */
.contact-lead-text {
    font-size: 20px;       /* 指定：20px */
    font-weight: 700;      /* 指定：W7 */
    line-height: 1.6;      /* 3行が綺麗に見える行間 */
    color: #ffff;
    margin-bottom: 40px;   /* 下に40px余白 */
    text-align: left;
}




.back-box {
    /* ボックスのサイズと配置 */
    width: 200px;
    margin: 40px auto;       /* 上下に余白を作りつつ左右中央に配置 */
    cursor: pointer;         /* マウスを乗せた時に指マークにする */

    /* 背景と角丸・影 */
    background-color: #ffffff;
    border-radius: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);

    /* 中の文字を上下左右中央に寄せるための設定 */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;            /* ボタンらしい高さ（お好みで調整してください） */
    
    /* クリック時の反応（少し薄くする） */
    transition: opacity 0.2s ease;
}

.back-box:hover {
    opacity: 0.8;
}

.back-box-title {
    font-size: 28px;         /* 指定のサイズ */
    font-weight: 700;        /* 指定の太さ */
    color: #d70915;          /* 指定の色 */
    margin: 0;               /* pタグ標準の余白を消す */
    line-height: 1;          /* 垂直中央を正確にする */
}




/* スマホ対応 */
@media (max-width: 768px) {

/* タイトル設定 */
.section-title {
    font-size: 20px;
    margin-bottom: 0px; /* 指定：下の余白40px */
}

.item-desc {

    font-size: 15px;
    color: #d70915;
    font-weight: 700;
    line-height: 1.4; /* 行間を少し詰めるとより綺麗です */
}

/* 番号付きアイテム */
.numbered-item2 {
    margin-bottom: 20px; 
}

/* 番号付きアイテム */
.numbered-item3 {
    margin-bottom: 20px; 
}

.section-red {
    width: 100%;
    background-color: #d70915; /* 指定の色 */
    padding-top: 48px;
    padding-bottom: 48px;
    box-sizing: border-box;
}

/* リードテキスト (20px / W7) */
.contact-lead-text {
    font-size: 16px;       /* 指定：20px */
    font-weight: 700;      /* 指定：W7 */
    line-height: 1.6;      /* 3行が綺麗に見える行間 */
    color: #ffff;
    margin-bottom: 20px;   /* 下に40px余白 */
    text-align: left;
}



.back-box {
    /* ボックスのサイズと配置 */
    width:140px;
    margin: 20px auto;       /* 上下に余白を作りつつ左右中央に配置 */
    cursor: pointer;         /* マウスを乗せた時に指マークにする */

    /* 背景と角丸・影 */
    background-color: #ffffff;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);

    /* 中の文字を上下左右中央に寄せるための設定 */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;            /* ボタンらしい高さ（お好みで調整してください） */
    
    /* クリック時の反応（少し薄くする） */
    transition: opacity 0.2s ease;
}

.back-box-title {
    font-size: 19px;         /* 指定のサイズ */
    font-weight: 700;        /* 指定の太さ */
    color: #d70915;          /* 指定の色 */
    margin: 0;               /* pタグ標準の余白を消す */
    line-height: 1;          /* 垂直中央を正確にする */
}

.contact-simple-box {
/* 綺麗に見せるための追加設定 */
  margin-top: 16px;
}
}









/* -------------------------------------
   フッターエリア
------------------------------------- */
.footer {
    text-align: center;
    padding: 0px 0;
}

/* 画像のスタイル */
.footer img {
    width: 1000px;
    max-width: 100%;
    height: auto;
    display: inline-block; /* text-alignを効かせるためにinline-blockも有効 */
}

/* -------------------------------------
   インフォエリア
------------------------------------- */

.infoeria {
    max-width: 700px;
    margin: 0 auto;
    
    /* 指定の設定 */
    background-color: #ffffff;    /* 背景：白 */
    padding: 20px 10px;           /* 上下20px、左右10pxの余白 */
    color: #d70915;               /* 文字色：指定の赤 */
    
    /* レイアウト維持のための追加 */
    box-sizing: border-box;       /* 余白を含めて幅を計算 */
}

.info p {
    padding: 0;                   /* 親のpaddingで制御するため0に */
    text-align: left;
    font-size: 15px;
    line-height: 1.6;             /* 読みやすさのための行間 */
    color: inherit;               /* 親（infoeria）の赤色を継承 */
}




@media (min-width: 769px) {
    .pc { display: block !important; /* PC用要素を表示 */}
    .sp { display: none !important; /* SP用要素を非表示 */}
}
@media (max-width: 768px) {
    /* PC/SP 切り替え用クラス */
    .sp { display: block !important; /* SP用要素を表示 */}
    .pc { display: none !important; /* PC用要素を非表示 */}
}




/* ====================================
   3. スマートフォン設定 (768px以下)
   ==================================== */
@media (max-width: 768px) {
.infoeria {
    font-size: 16px;
}


    
    /* body幅を96%にしたため、幅いっぱいにしたい要素も96%にする */
    .maineria,  .info{
        width: 100vw; /* ビューポート幅いっぱいに設定 */
        margin-left: calc(50% - 50vw); /* 画面幅いっぱいに広げるテクニック */
        margin-right: calc(50% - 50vw);
    }
    .header-inner, .maineria-inner ,.infoeria{
        padding-left: 2%; /* bodyの余白に合わせる */
        padding-right: 2%;
        padding-top: 2%;
        padding-bottom: 2%;
        box-sizing: border-box;
    }

       .inner-titlle {
        padding-left: 1%; /* bodyの余白に合わせる */
        padding-right: 1%;
        padding-top: 1%;
        padding-bottom: 1%;
        box-sizing: border-box;
        margin: 0 auto;
    }
    .inner-700 {
        padding-left: 4%; /* bodyの余白に合わせる */
        padding-right: 4%;
        padding-top: 2%;
        padding-bottom: 2%;
        box-sizing: border-box;
    }

       .header-inner {
        padding-top: 0px;
        padding-bottom: 0px;
       }



}