@charset "UTF-8";
/* ======================================================================================
全体共通
====================================================================================== */
html, body {
    font-size: 14px;
    color: #1c1b1b;
}
#container {
    overflow: hidden;
    padding: 0 0 50px;
    margin: auto;
}
	#mainContent table {
		width: 100%;
		margin-bottom: 15px;
		border-collapse: separate;
		border-spacing: 0;
	}
#pageTit {
    display: flex;
    justify-content: center;
    align-items: center;
    clear: both;
    color: #675223;
    min-height: 110px;
    font-size: 2.14285713rem;
    line-height: 1.46;
    text-align: center;
    margin-top: 200px;
    margin-bottom: 15px;
    padding-top: 0;
    position: relative;
}
	#pageTit::before {
		content: "";
		position: absolute;
		top: 0;
		width: 100%;
		height: 1px;
		border-top: 1px solid #b3a891;
		border-bottom: 2px solid #b3a891;
		padding-bottom: 3px;
	}
	#pageTit::after {
		content: "";
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 1px;
		border-top: 2px solid #b3a891;
		border-bottom: 1px solid #b3a891;
		padding-top: 3px;
	}
.wrap_limited {
    width: 1000px;
    margin: auto;
    line-height: 1.4;
}
[data-titletype] {
    letter-spacing: 2px;
    color: #141414;
    margin-bottom: 15px;
    font-size: 1.142857142857143rem;
    margin-left: -20px;
    margin-right: -20px;
}
	[data-titletype="lv1"], [data-titletype="lv1w50"] {
		color: #FFF;
		position: relative;
		width: 100%;
		text-indent: 1rem;
		margin-left: 0;
		padding: 10px 0;
		background: -webkit-linear-gradient(left, #003e71, #084057);
		background: -o-linear-gradient(left, #003e71, #084057);
		background: linear-gradient(to right, #003e71, #084057);
		overflow: hidden;
	}
input, select, textarea {
	font-size: 1.1rem;
	vertical-align: middle;
	border: 1px solid #c9c9c9;
	margin: 4px 4px 4px 0;
	padding: 3px;
}
input[type=text] {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -moz-appearance: none;
    appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
}
#mainContent p {
    line-height: 1.8em !important;
}
input::placeholder {
    color: #aaa;
}
/* ==== エラーメッセージ ==== */
div#mainContent div.error dl {
	color: #df2626;
	margin-left: 10px;
}
div#mainContent div.error dl dt {
	margin-bottom: 20px;
}
div#mainContent div.error dl dd {
	margin-bottom: 1px;
}
div#mainContent p.error {
	color: #b30;
	font-size: 1.2em;
	margin: 50px 0 0 100px;
}

/* ======================================================================================
バースデーブック
====================================================================================== */
.formInput {
    margin: 2em 0;
}
.subTitle {
    color: #fff;
    font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
    background: #334c8d;
	margin: 1em 0 0.5em;
    padding: 5px 10px;
}
.formTable {
    width: 100%;
	border-collapse: collapse !important;
	margin: 0 auto;
}
	.formTable th, .formTable td {
		border: 1px solid #91a0c5;
		padding: 5px 10px;
	}
.label {
    width: 30%;
    text-align: right !important;
    background: #e8f1ff !important;
	background: #edf6f9 !important;
}
.inputField {
	background: #FFFFFF !important;
}
	.inputField ul {
		text-align: left;
		margin: 15px 0px 0px 25px;
	}
		.inputField li {
			line-height: 1.5;
			text-indent: -20px;
		}
			.inputField li::before {
				content: "※";
				padding-right: 5px;
			}
	.inputItem input.inputText_L {
		min-width: 65%;
	}
.label, .inputField {
    font-weight: normal;
}
.required {
    margin-left: 10px;
    color: #DF2626;
}
.cardData {
    display: block;
    border: 1px solid #DBDBDB;
    background: #FFFAFA;
    padding: 1em 1em 0;
    margin-bottom: 1em;
    margin-left: 2em;
    margin-right: 2em;
    clear: both;
}
	.cardData .cardDataNo, .cardData .cardDataExpire {
		display: block;
		margin-bottom: 1em;
	}
.cardData-icon {
	display: flex;
	justify-content: space-between;
	width: 360px;
}
	.cardData-icon img {
		width: 20%;
	}
	.cardData-icon img:nth-child(1) {
		margin-left: 28px;
	}
.btnArea {
    text-align: center;
    margin: 20px 0 50px 0;
}
	.btnArea input {
		padding: 10px 15px;
	}
div.btnArea input[type="submit"] {
    width: 200px;
    display: inline-block;
    font-size: 1.1rem;
    background: #20225d;
    padding: 14px 28px;
    color: #fff;
    border-radius: 5px;
}
.text_diamond {
     padding-left: 1.6em;
     margin-bottom: 20px;
}
.text_diamond > li {
    line-height: 1.6;
    padding-bottom: 10px;
    position: relative;
}
	.text_diamond > li::after {
		display: block;
		content: '';
		position: absolute;
		top: .5em;
		left: -1em;
		width: 6px;
		height: 6px;
		background-color: #b7913c;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
.place_address label{
	width: 65px !important;
    display: inline-block;
	cursor: text;
}
/* 無料版 生まれた場所/経過地入力 */
.place_address input[type=button] {
	color: #FFFFFF;
/*	width: 40%;*/
	font-size: 1.0rem;
	background: #334c8f;
    border-radius: 5px;
    border: 1px solid #c9c9c9;
	margin: 10px auto;
	padding: 5px 10px;
}
section {
    display: none;
}
#geotimezone, #geotimezone2 {
    width: 65px;
}
.place_address i {
    font-style: normal;
}
select#birth_housesys+span {
	display: none;
	margin-left: 10px;
}

input#Paygent_SecurityCode {
	width: 4.0em;
}
/* ======================================================================================
個人情報の第三者提供に関する同意
====================================================================================== */
.ppText {
	width: 100%;
	height: 100px;
	color: #333;
	font-size: 0.875rem;
	line-height: 1.3;
	text-align: left;
}
.ppCheckbox {
	font-size: 1.125rem;
	text-align: center;
	margin: 30px 0;
}
#ppButton {
	display: none;
}
/* ======================================================================================
スマホ
====================================================================================== */
@media only screen and (max-width: 768px){
/* ======================================================================================
全体共通(スマホ)
====================================================================================== */
img {
	max-width: 100%;
	height: auto;
}
.spOnly {
    display: block !important;
}
#mainContent {
	width: auto;
}
#pageTit {
    min-height: 80px;
    font-size: 1.25rem;
    line-height: 1.4;
    margin-top: 10px;
    margin-bottom: 30px;
    padding-top: 70px;
    position: relative;
}
    #pageTit::before {
        content: "";
        position: absolute;
        top: 170px;
        width: 90%;
        height: 1px;
        border-top: 1px solid #675223;
        border-bottom: none;
        left: 50%;
        margin-left: -45%;
    }
    #pageTit::after {
        content: "";
        position: absolute;
        bottom: 0;
        width: 90%;
        height: 1px;
        border-top: none;
        border-bottom: 1px solid #675223;
        margin: 0 auto;
        left: 50%;
        margin-left: -45%;
    }
.wrap_limited {
    width: auto !important;
    margin: auto;
    padding-left: 7px;
    padding-right: 7px;
}
#mainContent p {
	margin-top: 15px;
}
/* ======================================================================================
バースデーブック(スマホ)
====================================================================================== */
.subTitle {
    width: auto;
}
.formTable {
    width: 100%;
	border-collapse: collapse !important;
}
	.formTable th, .formTable td {
		display: block;
		width: auto;
		border: 1px solid #91a0c5;
		padding: 5px 10px;
	}
.label {
    width: auto;
    text-align: left !important;
/*    background: #e8f1ff !important;*/
}
.inputField {
	background: #FFFFFF !important;
}
	.inputField ul {
		text-align: left;
		margin: 15px 0px 0px 25px;
	}
		.inputField li {
			line-height: 1.5;
			text-indent: -20px;
		}
			.inputField li::before {
				content: "※";
				padding-right: 5px;
			}
	.inputItem input.inputText_L {
		min-width: 65%;
	}
.cardData {
    margin-left: 0;
    margin-right: 0;
}
.cardData-icon {
	width: auto;
}
	.cardData-icon img:nth-child(1) {
		margin-left: 0;
	}
/*----------------------------------------------
 スマホ用　バナー 表示なし
------------------------------------------------*/
.bnr_cal77_sp {
	display: none !important;
}
}
