@charset "utf-8";

/*全体の設定
---------------------------------------------------------------------------*/
body {
  background: #f5f5f5;
  color: #313131;
  /*全体の文字色*/
  margin: 0px;
  padding: 0px;
  font: 16px/1.6 "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
  
}



p {
  line-height: 32px;
  margin-bottom: 10px;
}

table {
  border-spacing: 0;
  font-size: 90%;
}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
  color: #555;
  /*リンクテキストの色*/
  text-decoration: none;
}

a:hover {
  color: #006ddc;
  /*マウスオン時の文字色（全体）*/
}

a:hover .btn {
  position: relative;
  top: 3pt;
  left: 3pt;
}

/*コンテナー（HPを囲むブロック）
---------------------------------------------------------------------------*/
#container {
  width: 750px;
  /*コンテナー幅*/
  background-color: #fff;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  text-align: center;
  margin: 0 auto;
  overflow: hidden;
}

/*フォーム
---------------------------------------------------------------------------*/

.form{
  display: block;
  background-color: #fff;
  padding: 20px 0 20px;
}



input {
  color: #999;
  font-size: 150%;
  background-color: #fff;
  border-radius: 5px;
  border: solid 2px #494949;
  height: 70px;
  width: 90%;
  margin: 20px 0;
}

.btn{
  background: url(../img/btn.png) center top no-repeat;
  width: 90%;
  height: 156px;
  border: none;
}

.caption{
  font-size: 20px;
  color: #494949;
}

hr{
  color: #00364f;
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
.text-box {
  width: 90%;
  margin: 1em auto;
}

.countdown{
  background-color: #ea665f;
  padding: 20px 0px 10px;
}

.countdown p{
  color: #ffffff;
  font-size: 27px;
  font-weight: bold;
}

p.timer{
  font-size: 36px;
}

.white{
  color: #ea4b4b;
  font-size: 26px;
  font-weight: bold;
  margin: 10px;
}

.small{
  font-size: 20px;
}

.title-lines{
  position:relative;
  display:inline-block;
  padding: .6em 2.8em;           /* 文字左右の余白（線の分ちょい広め） */
  color:#fff;
  font-weight:700;
  border-radius:4px;
  --line-color:#fff;             /* 線の色 */
  --line-len:40px;               /* 線の長さ */
  --line-thick:2px;              /* 線の太さ */
  --line-gap:8px;                /* 2本線の間隔 */
  --angle:55deg;                 /* 斜め角度 */
}



/* 左側（＼＼） */
.title-lines::before,
.title-lines::after{
  content:"";
  position:absolute;
  top:20%;
  left:80px;                     /* 左端からの位置 */
  width:var(--line-len);
  height:var(--line-thick);
  background:var(--line-color);
  transform-origin:left center;
  transform:translateY(calc(-50% - var(--line-gap)/2))
            rotate(var(--angle));
}
.title-lines::after {
  /* 内側（タイトル寄り）の線 → 長めにしたい */
  width:30px;                    /* ←ここで長さを指定 */
  transform:translateY(calc(-50% + var(--line-gap)/2)) rotate(var(--angle));
}

/* 右側（／／）— 内側の <span> を使ってさらに2本 */
.title-lines > p {
  position: relative;
  padding: 0 2.5em;   /* ← 左右に十分な余白を確保 */
  font-weight: 500;
  letter-spacing: 0.03rem;
}

/* 右側の2本線 */
.title-lines > p::before,
.title-lines > p::after {
  content: "";
  position: absolute;
  top:5%;
  right: 32px;                       /* ← 10px → 0 に変更して文字端基準に */
  height: var(--line-thick);
  background: var(--line-color);
  transform-origin: right center;
}

/* 上の線（内側用・長め） */
.title-lines > p::before {
  width: 40px;   /* 内側を長く */
  transform: translateY(calc(-50% - var(--line-gap)/2))
             rotate(calc(var(--angle) * -1));
}

/* 下の線（外側用・短め） */
.title-lines > p::after {
  width: 30px;   /* 外側は共通の長さ */
  transform: translateY(calc(-50% + var(--line-gap)/2))
             rotate(calc(var(--angle) * -1));
}



/*ボタン設定
---------------------------------------------------------------------------*/
.btn {
  width: 100%;
}


/*フッター設定
---------------------------------------------------------------------------*/
footer {
  width: 100%;
  margin: 0 auto;
  font-size: 85%;
  text-align: center;
  padding-top: 50px;
  padding-bottom: 40px;
  color: #fff;
  position: relative;
  background-color: #211911;
  font-size: 18px;
}

footer a {
  color: #fff;
  margin: 40px 0;
}

footer p {
  padding-top: 50px;
}

.copy{
  color: #fff;
  font-size: 65%;
  text-align: center;
  font-size: 18px;
}


/*その他
---------------------------------------------------------------------------*/
.clear {
  clear: both;
}


/*フォント設定
---------------------------------------------------------------------------*/
.red { color: #C00;}

.purple{ color: indigo;}

.bold { font-weight: bold;}




dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

dt,
dd {
  padding: 6px;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
  .pc { display: none !important; }
  .sp { display: block !important; }
}


@media only screen and (max-width: 750px) {
  input {
    font-size: 180%;
    background-color: #fff;
    border-radius: 5px;
    border: solid 2px #494949;
    width: 90%;
    margin: 10px 0 20px;
  }
  .btn{
    background: url(../img/btn.png) center top no-repeat;
    width: 100%;
                border: none;
  }
}
