@charset "utf-8";


/* 全体 */
html, body {
    width: 100%;
    height: 100%;
}

html, body, div, p, h1, h2, h3, ul, ol, li, dl, dt, dd, span {
    margin: 0px;
    padding: 0px;
    position: relative;
    box-sizing: border-box;
}

body {
    cursor: default;
    font-family: "YuGothic","Yu Gothic","Hiragino Kaku Gothic Pro","Meiryo","メイリオ","MS UI Gothic","ＭＳ Ｐゴシック","MS PGothic",Tahoma,sans-serif;
    font-size: 14px;
    -webkit-text-size-adjust: 100%;
}

a:link, a:visited {
    color: rgba(38,43,103,1.00);
}

a:hover, a:active {
    color: rgba(93,50,115,1.00);
}

ul {
    list-style: none;
}

header img, div img {
    max-width: 100%;
    height: auto;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.btn {
    padding: 10px 20px;
    background: rgba(88,121,207,1.00);
    color: rgba(255,255,255,1.00);
    font-size: 0.9rem;
}

.pc-only {
    display: none;
}


/* 共通 */
.content {
    margin: 0px 0px;
}

.block {
    margin: 0px 0px 20px 0px;
}

body .block:first-of-type {
    margin: 0px 0px 20px 0px;
}

header {
    display: block;
    margin: 0px 0px 0px 0px;
}

header h1 {
}

header h1 img.title {
}

header h1 img.tel {
    position: absolute;
    right: 10px;
    top: 3px;
    width: 40%;
    height: auto;
    z-index: 10;
}

h2 {
    width: 100%;
    overflow: hidden;
}

h2 img {
    width: 500px;
    max-width: 500px;
    height: auto;
}

h3 {
    width: 100%;
    overflow: hidden;
}

h3 img {
    width: 600px;
    max-width: 600px;
    height: auto;
}

ul.list {
    margin: 10px 30px;
    list-style: disc;
}

ul.list li {
    margin: 10px 0px;
}

.free {
    text-align: center;
}

.call h2 {
    width: 100%;
    height: auto;
    overflow: hidden;
}

.call h2 img {
    width: 800px;
    max-width: 800px;
    height: auto;
}

.phone {
    margin: 30px 0px;
}

.googlemap {
}

.googlemap iframe {
    width: 100%;
    pointer-events: none;
}

.map_li {
    margin: 20px 40px;
}

.company {
    text-align: center;
}

.pagetop {
    margin: 10px 10px;
}

.pagetop a {
    display: block;
    float: right;
    margin: 10px 10px;
    width: 100px;
    height: 50px;
    background-image: url(../img/sp/pagetop.png);
    background-repeat: no-repeat;
    background-position: center center;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.pagetop:after{
    content: "";
    display: block;
    clear: both;
}


/* メニューボタン */
#btnNav-wrapper {
    position: relative;
    margin: 20px 0px;
}

#btnNav {
    position: absolute;
    right: 20px;
    top: -40px;
    display: block;
    margin: 0px 0px 0px 0px;
    z-index: 99;
}


/* グローバルナビ */
#globalNav {
    display: none;
}

#globalNav ul {
    list-style: none;
}

#globalNav>ul {
    /* text-align: center; (これは残していても問題ありません) */
    vertical-align: top;
}

/* 修正箇所: リンクを縦一列に並べ、幅を100%に設定 */
#globalNav>ul>li {
    display: block; 
    padding: 5px 0px; /* 縦のパディングを維持し、横のパディングを調整 */
    width: 100%; 
    vertical-align: top;
    text-align: center; /* リンクの中央揃えを維持 */
}

#globalNav>ul>li>a {
    display: block;
    padding: 15px 5px;
    width: 95%; /* リンクの幅を95%に保ち、中央寄せを容易にします */
    margin: 0 auto; /* 修正点：リンクを中央に寄せる */
    text-align: center;
    background-color: rgba(235,235,235,1.00);
    text-decoration: none;
}

.nav-contact a {
    color: rgba(255,255,255,1.00);
    background-color: rgba(227,129,131,1.00) !important;
}

#globalNav>ul>li>ul {
    display: none;
}


/* トップ */
#top {
}

#top .concept01a {
    width: 100%;
    height: 40px;
    background-image: url(../img/top/concept_title.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

#top .policy {
    margin: 10px 20px;
}

#top .plan {
    margin: 10px 20px;
}

#top .plan dl {
    margin: 30px 0px 50px 0px;
}

#top .plan dl dt {
    text-align: center;
}

#top .plan dl dd {
    text-align: center;
}

#top .plan .plan_font {
    text-align: left;
}

#top .plan .plan_button {
}

#top .plan .plan_button a {
    display: block;
    width: 300px;
    margin: 0px auto;
    padding: 10px 0px;
    text-align: center;
    background: #f4f4f4;
}

#top .plan a {
    text-decoration: none !important;
}

#top .call_detail {
    text-align: right;
}

#top .call_detail a {
    display: inline-block;
    padding: 15px 20px;
    background-color: rgba(244,244,244,1.00);
    text-decoration: none;
}


/* プラン */
#plan {
}

#plan .plan_content {
}

#plan .plan_img {
    text-align: center;
}

#plan .plan_charge {
    text-align: center;
}

#plan .plan_text {
    margin: 10px 20px;
}

#plan .plan_title {
    margin: 10px auto;
    text-align: center;
}

#plan .plan_set ul {
    text-align: center;
}

#plan .plan_set ul li {
    display: inline-block;
}

#plan .plan_set ul li img {
    width: 80px;
    height: auto;
}

#plan .plan_non ul {
    margin: 0px 30px;
}

#plan .plan_non ul li {
    margin: 5px 0px;
}


/* 流れ */
#flow {
}

#flow dl {
    overflow: hidden;
}

#flow dl img {
    width: 700px;
    max-width: 700px;
    height: auto;
}

#flow dd {
    margin: 0px 10px 20px 10px;
}


/* ご案内 */
#hall {
}

#hall h3 {
    margin: 30px 0px 0px 0px;
}

#hall h3:first-of-type {
    margin: 0px 0px 0px 0px;
}

#hall .sub_content {
    margin: 20px 10px;
}

#hall .hall_p {
    margin: 20px 10px;
}

#hall .sub_content ol {
    margin: 10px 0px 20px 20px;
}

#hall .sub_content ol li {
    margin: 10px auto;
}

#hall .hall_img {
    text-align: center;
}

#hall .hall_img01_li ul {
    text-align: center;
}

#hall .hall_img01_li ul li {
    margin: 3px;
    display: inline-block;
}

#hall .hall_img01_li ul li img {
    width: 160px;
    height: auto;
}

#hall .hall_map {
    width: 100%;
    margin: 0px auto;
}

#hall .hall_map iframe {
    width: 100%;
    pointer-events: none;
}

#hall .hall_table {
    width: 100%;
    font-size: 11px;
    border-left: thin none rgba(207,207,207,1.00);
    border-right: thin solid rgba(207,207,207,1.00);
    border-bottom: thin solid rgba(207,207,207,1.00);
    border-top: thin none rgba(207,207,207,1.00);
}

#hall .hall_table th, #hall .hall_table td {
    margin: 0px;
    padding: 5px;
    border-left: thin solid rgba(207,207,207,1.00);
    border-right: thin none rgba(207,207,207,1.00);
    border-bottom: thin none rgba(207,207,207,1.00);
    border-top: thin solid rgba(207,207,207,1.00);
}

#hall .hall_table .price {
    text-align: right;
}


/* 指定式場 */
#designated {
}

#designated h3 {
    padding: 10px;
}

#designated .designated_p {
    margin: 10px 20px;
}

#designated .sougi_title {
    text-align: center;
}

#designated .designated_table {
    width: 100%;
    border-left: thin none rgba(207,207,207,1.00);
    border-right: thin solid rgba(207,207,207,1.00);
    border-bottom: thin solid rgba(207,207,207,1.00);
    border-top: thin none rgba(207,207,207,1.00);
}

#designated .designated_table th, #designated .designated_table td {
    margin: 0px;
    padding: 5px;
    border-left: thin solid rgba(207,207,207,1.00);
    border-right: thin none rgba(207,207,207,1.00);
    border-bottom: thin none rgba(207,207,207,1.00);
    border-top: thin solid rgba(207,207,207,1.00);
}

#designated .plan_content {
}

#designated .plan_img {
    text-align: center;
}

#designated .plan_charge {
    text-align: center;
}

#designated .plan_text {
    margin: 10px 20px;
}

#designated .plan_title {
    margin: 10px auto;
    text-align: center;
}

#designated .plan_set ul {
    text-align: center;
}

#designated .plan_set ul li {
    display: inline-block;
}

#designated .plan_set ul li img {
    width: 80px;
    height: auto;
}

#designated .plan_non ul {
    margin: 0px 30px;
}

#designated .plan_non ul li {
    margin: 5px 0px;
}


/* よくあるご質問 */
#question {
}

#question dl {
    margin: 0px 20px 10px 10px;
    padding: 10px;
    background-color: #C9D0E7;
	border: 1px solid #B4B4B4;
}

#question dd{
    margin: 0px 20px 20px 20px;
}


/* お問い合わせ */
#contact {
}

#contact .caption {
    margin: 10px 20px;
}

#contact .caption span {
    color: rgba(219,107,109,1.00);
    font-size: 16px;
    font-weight: bold;
}

#contact form {
    margin: 0px 30px 30px 30px;
}

#contact dl {
    margin: 20px 0px;
}

#contact dl dt {
    font-weight: bold;
}

#contact dl dd {
}

#contact form input[type=submit] {
    -webkit-appearance: none;
}

#contact form input[type=text],
#contact form input[type=email],
#contact form input[type=tel],
#contact form textarea {
    padding: 8px 10px;
    width: 90%;
}

#contact form textarea {
    height: 100px;
}

#contact form label {
    display: block;
    margin: 3px 0px;
    padding: 8px 3px;
    border: 1px solid rgba(216,216,216,1.00);
}

#contact dl dt.hissu {
}

#contact dt.hissu:after {
    content: "必須";
    margin: 0px 0px 0px 5px;
    font-size: 12px;
    color: rgba(195,22,25,1.00);
}

#contact dt.hissu.fax:after {
    display: none;
}

#contact dt.hissu.mail:after {
    display: none;
}

div.error {
    width: 90%;
    margin: 0px auto 20px auto;
    padding: 10px 30px;
    border: 1px solid rgba(150,49,51,1.00);
    border-radius: 2px;
}

div.error p {
    color: rgba(150,49,51,1.00);
    font-weight: bold;
}

div.error ul {
    margin: 0px 0px 0px 20px;
    list-style: disc;
}

div.error ul li {
    color: rgba(150,49,51,1.00);
}


/* お客様の声 */
#voice {
}


/* 会社概要 */
#company {
}

#company .company_content {
    margin: 10px 20px;
}

#company dl {
}

#company dl dt {
    display: block;
    margin: 10px 20px 0px 20px;
    font-weight: bold;
}

#company dl dd {
    display: block;
    margin: 0px 30px 0px 30px;
}


/* フッター */
footer {
    margin: 30px 0px 20px 0px;
}

footer .footer_nav {
}

footer ul.footer_nav {
    text-align: center;
}

footer ul.footer_nav li {
    display: inline-block;
    margin: 5px 2px;
    width: 165px;
}

footer ul.footer_nav li a {
    display: table-cell;
    padding: 10px 2px;
    width: 165px;
    height: 40px;
    text-align: center;
    vertical-align: middle;
    background-color: rgba(235,235,235,1.00);
    text-decoration: none;
}

footer .footer_copy {
    margin: 20px 0px 10px 0px;
    text-align: center;
}