.heading {
    position: relative;
    padding-bottom: 1.5em;
    padding-top: 0.5em;
    line-height: 0;
    text-align: center;
    background: #fff;
}

.heading>.major {
margin-bottom: .25em;
font-family: PTSansBold,Helvetica,Arial,sans-serif;
font-size: 2.5em;
font-weight: bold;
color:#eee;
text-shadow: 0px 2px 2px rgba(150, 150, 150, 1);
}


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

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

.about {
  margin: 10px auto 40px;
  padding: 8px;
  width: 320px;
  font: 10px/18px 'Lucida Grande', Arial, sans-serif;
  color: #666;
  text-align: center;
  text-shadow: 0 1px rgba(255, 255, 255, 0.25);
  background: #eee;
  background: rgba(250, 250, 250, 0.8);
  border-radius: 4px;
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
  -webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 6px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 6px rgba(0, 0, 0, 0.2);
}
.about a {
  color: #333;
  text-decoration: none;
  border-radius: 2px;
  -webkit-transition: background 0.1s;
  -moz-transition: background 0.1s;
  -o-transition: background 0.1s;
  transition: background 0.1s;
}
.about a:hover {
  text-decoration: none;
  background: #fafafa;
  background: rgba(255, 255, 255, 0.7);
}

.about-links {
  height: 30px;
}
.about-links > a {
  float: left;
  width: 50%;
  line-height: 30px;
  font-size: 12px;
}

.about-author {
  margin-top: 5px;
}
.about-author > a {
  padding: 1px 3px;
  margin: 0 -1px;
}

/*
* Author: Pali madra
 * URI: http://www.agilewebsitedev.com
                   and
         http://www.agileseo.net
 * Licensed under the MIT License:
 * https://www.opensource.org/licenses/mit-license.php
 */
body {
  font: 13px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #404040;
  background: url(../img/bg.jpg);
}

.sign-up {
  position: relative;
  margin: 50px auto 10px;
  width: 320px;
  padding: 33px 25px 29px;
  background: white;
  border-bottom: 1px solid #c4c4c4;
  border-radius: 5px;
  -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
}
.sign-up:before, .sign-up:after {
  content: '';
  position: absolute;
  bottom: 1px;
  left: 0;
  right: 0;
  height: 10px;
  background: inherit;
  border-bottom: 1px solid #d2d2d2;
  border-radius: 4px;
}
.sign-up:after {
  bottom: 3px;
  border-color: #dcdcdc;
}

.sign-up-title {
  margin: -25px -25px 25px;
  padding: 15px 25px;
  line-height: 35px;
  font-size: 24px;
  font-weight: 300;
  color: #aaa;
  text-align: center;
  text-shadow: 0 1px rgba(255, 255, 255, 0.75);
  background: #f7f7f7;
}
.sign-up-title:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: #c4e17f;
  border-radius: 5px 5px 0 0;
  background-image: -webkit-linear-gradient(left, #c4e17f, #c4e17f 12.5%, #f7fdca 12.5%, #f7fdca 25%, #fecf71 25%, #fecf71 37.5%, #f0776c 37.5%, #f0776c 50%, #db9dbe 50%, #db9dbe 62.5%, #c49cde 62.5%, #c49cde 75%, #669ae1 75%, #669ae1 87.5%, #62c2e4 87.5%, #62c2e4);
  background-image: -moz-linear-gradient(left, #c4e17f, #c4e17f 12.5%, #f7fdca 12.5%, #f7fdca 25%, #fecf71 25%, #fecf71 37.5%, #f0776c 37.5%, #f0776c 50%, #db9dbe 50%, #db9dbe 62.5%, #c49cde 62.5%, #c49cde 75%, #669ae1 75%, #669ae1 87.5%, #62c2e4 87.5%, #62c2e4);
  background-image: -o-linear-gradient(left, #c4e17f, #c4e17f 12.5%, #f7fdca 12.5%, #f7fdca 25%, #fecf71 25%, #fecf71 37.5%, #f0776c 37.5%, #f0776c 50%, #db9dbe 50%, #db9dbe 62.5%, #c49cde 62.5%, #c49cde 75%, #669ae1 75%, #669ae1 87.5%, #62c2e4 87.5%, #62c2e4);
  background-image: linear-gradient(to right, #c4e17f, #c4e17f 12.5%, #f7fdca 12.5%, #f7fdca 25%, #fecf71 25%, #fecf71 37.5%, #f0776c 37.5%, #f0776c 50%, #db9dbe 50%, #db9dbe 62.5%, #c49cde 62.5%, #c49cde 75%, #669ae1 75%, #669ae1 87.5%, #62c2e4 87.5%, #62c2e4);
}

input {
  font-family: inherit;
  color: inherit;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.sign-up-input:focus {
  border-color: #62c2e4;
  outline: none;
  -webkit-box-shadow: inset 0 -2px #62c2e4;
  box-shadow: inset 0 -2px #62c2e4;
}
.lt-ie9 .sign-up-input {
  line-height: 48px;
}
.sign-up-input {
  width: 100%;
  height: 50px;
  margin-bottom: 25px;
  padding: 0 15px 2px;
  font-size: 17px;
  background: white;
  border: 2px solid #ebebeb;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 -2px #ebebeb;
  box-shadow: inset 0 -2px #ebebeb;
}
.sign-up-textarea {
  width: 90%;
  margin-bottom: 25px;
  padding: 0 15px 2px;
  font-size: 17px;
  background: white;
  border: 2px solid #ebebeb;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 -2px #ebebeb;
  box-shadow: inset 0 -2px #ebebeb;
}
.sign-up-textarea:focus {
  border-color: #62c2e4;
  outline: none;
  -webkit-box-shadow: inset 0 -2px #62c2e4;
  box-shadow: inset 0 -2px #62c2e4;
}
.lt-ie9 .sign-up-textarea {
  line-height: 48px;
}

.sign-up-button {
  position: relative;
  vertical-align: top;
  width: 100%;
  height: 54px;
  padding: 0;
  font-size: 22px;
  color: white;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  background: #f0776c;
  border: 0;
  border-bottom: 2px solid #d76b60;
  border-radius: 5px;
  cursor: pointer;
  -webkit-box-shadow: inset 0 -2px #d76b60;
  box-shadow: inset 0 -2px #d76b60;
}
.sign-up-button:active {
  top: 1px;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

:-moz-placeholder {
  color: #ccc;
  font-weight: 300;
}

::-moz-placeholder {
  color: #ccc;
  opacity: 1;
  font-weight: 300;
}

::-webkit-input-placeholder {
  color: #ccc;
  font-weight: 300;
}

:-ms-input-placeholder {
  color: #ccc;
  font-weight: 300;
}

::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/* From uiverse.io */
.button_agent {
 display: inline-block;
 padding: 12px 24px;
 border: 1px solid #4f4f4f;
 border-radius: 4px;
 transition: all 0.2s ease-in;
 position: relative;
 overflow: hidden;
 font-size: 19px;
 color: black;
 z-index: 1;
}

.button_agent:before {
 content: "";
 position: absolute;
 left: 50%;
 transform: translateX(-50%) scaleY(1) scaleX(1.25);
 top: 100%;
 width: 140%;
 height: 180%;
 background-color: rgba(0, 0, 0, 0.05);
 border-radius: 50%;
 display: block;
 transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 z-index: -1;
}

.button_agent:after {
 content: "";
 position: absolute;
 left: 55%;
 transform: translateX(-50%) scaleY(1) scaleX(1.45);
 top: 180%;
 width: 160%;
 height: 190%;
 background-color: #FFA323;
 border-radius: 50%;
 display: block;
 transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 z-index: -1;
}

.button_agent:hover {
 color: #ffffff;
 border: 1px solid #FFA323;
}

.button_agent:hover:before {
 top: -35%;
 background-color: #FFA323;
 transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.button_agent:hover:after {
 top: -45%;
 background-color: #FFA323;
 transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}
.button_member {
 display: inline-block;
 padding: 12px 24px;
 border: 1px solid #4f4f4f;
 border-radius: 4px;
 -webkit-transition: all 0.2s ease-in;
 transition: all 0.2s ease-in;
 position: relative;
 overflow: hidden;
 font-size: 19px;
 color: black;
 z-index: 1;
}

.button_member:before {
 content: "";
 position: absolute;
 left: 50%;
 -webkit-transform: translateX(-50%) scaleY(1) scaleX(1.25);
     -ms-transform: translateX(-50%) scaleY(1) scaleX(1.25);
         transform: translateX(-50%) scaleY(1) scaleX(1.25);
 top: 100%;
 width: 140%;
 height: 180%;
 background-color: rgba(0, 0, 0, 0.05);
 border-radius: 50%;
 display: block;
 -webkit-transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 z-index: -1;
}

.button_member:after {
 content: "";
 position: absolute;
 left: 55%;
 -webkit-transform: translateX(-50%) scaleY(1) scaleX(1.45);
     -ms-transform: translateX(-50%) scaleY(1) scaleX(1.45);
         transform: translateX(-50%) scaleY(1) scaleX(1.45);
 top: 180%;
 width: 160%;
 height: 190%;
 background-color: #39bda7;
 border-radius: 50%;
 display: block;
 -webkit-transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 z-index: -1;
}

.button_member:hover {
 color: #ffffff;
 border: 1px solid #39bda7;
}

.button_member:hover:before {
 top: -35%;
 background-color: #39bda7;
 -webkit-transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
     -ms-transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
         transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.button_member:hover:after {
 top: -45%;
 background-color: #39bda7;
 -webkit-transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
     -ms-transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
         transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.sign-up div {
    margin: 30px 0;
    text-align: center;
}

@media (max-width: 767px) {
    .sign-up-title {
        font-size: 20px;
    }
}

/* ==========================================
   追加・最適化 CSS（ここから追記してください）
   ========================================== */

/* 1. ログインフォーム内のボタン共通調整 */
.sign-up .button_agent,
.sign-up .button_member {
  display: block;        /* インラインブロックからブロック要素に変更 */
  width: 100%;           /* フォームの幅いっぱいに広げる */
  box-sizing: border-box;/* パディングを含めたサイズ計算 */
  cursor: pointer;       /* マウスカーソルをポインターに */
  font-weight: bold;     /* 文字を少し太くして視認性アップ */
}

/* 2. ボタン間の余白を最適化 */
.sign-up div {
  margin: 20px 0;        /* 縦の余白を少しスマートに調整 */
}
.sign-up div:first-of-type {
  margin-top: 10px;      /* 最初のボタンの上の余白を微調整 */
}
.sign-up div:last-of-type {
  margin-bottom: 10px;   /* 最後のボタンの下の余白を微調整 */
}

/* 3. フッターお問合せリンクのレイアウト調整 */
.about-links {
  display: flex;         /* floatを廃止し、flexboxで綺麗に横並び */
  justify-content: space-between;
  height: auto;          /* 高さを自動に */
}

.about-links > a {
  float: none;           /* floatをクリア */
  width: auto;           /* 幅を自動に */
  flex: 1;               /* 均等に幅を分ける */
  padding: 5px 0;        /* クリックエリアを広げる */
  font-size: 11px;
}

/* お問合せとリンクの間に縦の区切り線を追加 */
.about-links > a:first-child {
  border-right: 1px solid #ccc;
}

/* 4. モバイル（スマホ）対応の強化 */
@media (max-width: 480px) {
  .sign-up, .about {
    width: 90%;          /* 画面幅が狭いスマホでもはみ出さないように */
    padding: 20px 15px;  /* フォーム内の余白を少し狭める */
  }
  
  .button_agent, .button_member {
    font-size: 16px;     /* スマホ用に文字サイズを少し小さく */
    padding: 10px 16px;
  }

  .about-links {
    flex-direction: column; /* スマホではリンクを縦並びにして押しやすく */
  }

  .about-links > a:first-child {
    border-right: none;
    border-bottom: 1px solid #ccc; /* 区切り線を横線に変更 */
  }
}