@charset "utf-8";
/* CSS Document */

/*---------------------------------

		CommonCSS [初期化,定義]

---------------------------------*/

/* 初期化 */

body {
	margin: 0;
	padding: 0;
	font-family: verdana, "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}
*:first-child+html body {
	/* for IF7 */
	font-family: "Noto Sans JP", "メイリオ", "Meiryo";
}
form {
	padding: 0 14px;
}
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	padding: 0;
	font-size: 100%;
}
ul, dl {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
/* for macIE \*/

* html ul {
	height: 1%;
}
ul {
	display: block;
}
dt, dd {
	margin: 0;
	padding: 0;
}
img {
	border: none;
}
table {
	font-size: 100%;
}
th {
	text-align: left;
	font-weight: bold;
}
/* 定義 */

header, footer, article, section {
	display: block;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* for macIE \*/

* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* multi class */

strong {
	font-weight: bold;
}
strong.red {
	color: #F00;
}
.taL {
	text-align: left;
}
.taC {
	text-align: center;
}
.taR {
	text-align: right;
}
.fL {
	float: left;
}
.fR {
	float: right;
}
.w05per {
	width: 5%;
}
.w10per {
	width: 10%;
}
.w20per {
	width: 20%;
}
.w30per {
	width: 30%;
}
.w40per {
	width: 40%;
}
.w50per {
	width: 50%;
}
.w60per {
	width: 60%;
}
.w70per {
	width: 70%;
}
.w80per {
	width: 80%;
}
.w90per {
	width: 90%;
}
.w95per {
	width: 95%;
}
.clear {
	clear: both;
}
.BdNone {
	border: 0 !important;
}
.Nontext {
	text-indent: -9999px;
}
.print {
	display: none;
}
div.line01 {}
div.line01 hr {
	visibility: hidden;
	display: none;
}
div.line02 {}
div.line02 hr {
	visibility: hidden;
	display: none;
}
/*---------------------------------

		BaseCSS ベースデザインCSS

---------------------------------*/

body {
	-webkit-text-size-adjust: none;
}
#base {
	margin: 0 auto;
	background-position: center;
	background-repeat: repeat-y;
}
/* header */

header {
	margin: 0;
	position: relative;
	background-position: left top;
	background-repeat: no-repeat;
}
header h1 {
	padding: 5px;
}
header img.tel01 {
	position: absolute;
	top: 8px;
	right: 5px;
}
header img.tel02 {
	position: center;
	padding-top: 4px;
}
header #gNav li {
	display: block;
	overflow: hidden;
}
header #gNav li a {}
header #gNav li.button01 a {
	background-image: url(img/globalnavi/btn_01.png)
}
header #gNav li.button02 a {
	background-image: url(img/globalnavi/btn_02.png)
}
header #gNav li.button03 a {
	background-image: url(img/globalnavi/btn_03.png)
}
header #gNav li.button04 a {
	background-image: url(img/globalnavi/btn_04.png)
}
header #gNav li.button05 a {
	background-image: url(img/globalnavi/btn_05.png)
}
header #gNav li.button06 a {
	background-image: url(img/globalnavi/btn_06.png)
}
header #gNav li.button07 a {
	background-image: url(img/globalnavi/btn_07.png)
}
header #gNav li.button08 a {
	background-image: url(img/globalnavi/btn_08.png)
}
header #gNav li.button09 a {
	background-image: url(img/globalnavi/btn_09.png)
}
header #gNav li.button02 {
	width: px;
}
header #gNav li.button03 {
	width: px;
}
header #gNav li.button04 {
	width: px;
}
header #gNav li.button05 {
	width: px;
}
header #gNav li.button06 {
	width: px;
}
header #gNav li.button07 {
	width: px;
}
header #gNav li.button08 {
	width: px;
}
header #gNav li.button09 {
	width: px;
}
/* container */

#container {}
div.FootBack {
	text-align: right;
}
/*---------------------------------

		TypeCSS

---------------------------------*/

/* List Type [ul] */

ul.type01 {}
ul.type01 li {}
ul.type01 li a {}
ul.type02 {}
ul.type02 li {}
ul.type02 li a {}
ul.type03 {}
ul.type03 li {}
ul.type03 li a {}
/* List Type [dl] */

dl.type01 dt {
	padding: 5px;
	background: #FBDDE7;
	color: #7A1033;
	clear: both;
}
dl.type01 dd {
	padding: 5px;
}
/* ラジオボタン変形 */

.cb-enable, .cb-disable, .cb-enable span, .cb-disable span {
	background: url(img/switch.gif) repeat-x;
	display: block;
	float: left;
}
.cb-enable span, .cb-disable span {
	line-height: 40px;
	display: block;
	background-repeat: no-repeat;
	font-weight: bold;
}
.cb-enable span {
	background-position: left -119px;
	padding: 0 10px;
}
.cb-disable span {
	background-position: right -239px;
	padding: 0 10px;
}
.cb-disable.selected {
	background-position: 0 -39px;
}
.cb-disable.selected span {
	background-position: right -279px;
	color: #fff;
}
.cb-enable.selected {
	background-position: 0 -79px;
}
.cb-enable.selected span {
	background-position: left -199px;
	color: #fff;
}
.switch label {
	cursor: pointer;
}
.switch input {
	display: none;
}
/* 必須or任意 */

.pic_koumoku {
	vertical-align: text-bottom;
	margin: 0 5px 2px 10px;
}
/* フォーム注意書き */

.attention {
	clear: both;
}
.attention2 {
	height: 100px;
	border: 1px solid #999;
	width: auto;
	overflow: auto;
	margin-top: 5px;
	margin-bottom: 5px;
}


/*--------------------------------*/

/*https://www.shinagawa.com/rsv/validate/validate.cssより転用
↓↓↓*/

label.error {
	color: #FF0066;
	font-weight: bold;
	font-size: 16px;
	display: block;
	background-image: url(./ico_error.png);
	background-repeat: no-repeat;
	padding-left: 25px;
	margin-top: 3px;
}
input.error, select.error, textarea.error, input.err, select.err, textarea.err, .err input {
	border-color: rgb(255, 0, 102);
	border-width: 1px;
	box-shadow: rgb(255, 0, 102) 0px 0px 8px;
	-webkit-box-shadow: rgb(255, 0, 102) 0px 0px 8px;
	background-color: #FFD3E5;
}
.consultation_ticket, #consultation_ticket {
	display: none;
}
/*-20220819 フォーム改修-*/

/*ヘッダー-------------------------------*/

header #gNav li.button01 {
	display: block;
	text-align: center;
	color: #FF579A;
}
.form_skin header #gNav li.button01 {
	display: block;
	text-align: center;
	color: #A351A4;
}
header #gNav li.button01 span {
	font-size: 23px;
	font-weight: bold;
}
/*選択確認エリア-------------------------------*/

.in_spe {
	padding: 15px 5px;
	background-color: #f75189;
	color: #fff;
	text-align: center;
}
.form_skin .in_spe {
	background-color: #A351A4;
}
.in_spe .txt_small {
	font-size: 14px;
	font-weight: normal;
}
.in_spe .txt_large {
	font-size: 20px;
	font-weight: bold;
}
.triangle {
	border-top: 11px solid #fff;
	border-right: 7px solid transparent;
	border-left: 7px solid transparent;
	display: inline-block;
	margin-right: 5px;
}
.in_spe2 {
	padding: 15px;
	background-color: #ffebf2;
	text-align: center;
	font-size: 1.2em;
	margin: 0 0 25px 0;
}
.form_skin .in_spe2 {
	background-color: #f5e9f6;
}
.in_spe .info_txt {
	color: #fff;
	font-weight: bold;
	font-size: 15px;
}
.in_spe .under_line {
	display: block;
	border-bottom: dotted #fff 1px;
	font-weight: bold;
	padding: 0 0 10px;
	margin: 0 0 10px;
}
.in_spe .under_line:last-of-type {
	display: block;
	border-bottom: none;
	font-weight: bold;
	padding: 0;
	margin: 0;
}
/*共通入力パーツ-------------------------------*/

#container article section.txtarea p {
	margin: 0;
}
input.req, select.req, textarea.req {
	width: 100%;
	height: 50px;
	padding: 0 10px;
	border-radius: 10px;
	border: 1px solid #f75189;
	font-size: 16px;
	background-color: #ffebf2;
	box-sizing: border-box;
}
input.req2, select.req2 {
	width: 100%;
	height: 50px;
	padding: 0 10px;
	border-radius: 10px;
	border: 1px solid #848484;
	font-size: 16px;
	background-color: #fff;
	box-sizing: border-box;
}
select.time_width {
	width: 80%;
}
.form_skin input.req, .form_skin select.req, .form_skin textarea.req {
	border: 1px solid #A351A4;
	background-color: #f5e9f6;
}
form .type01 {
	margin-top: 25px;
}
dl {
	font-size: 15px;
	padding: 0 0 20px;
	margin: 0 0 20px;
	border-bottom: dotted #ff5792 2px;
}
.form_skin dl {
	border-bottom: dotted #A351A4 2px;
}
dl:last-of-type {
	padding: 0;
	margin: 0 0 30px;
	border-bottom: none;
}
dl dt {
	padding: 8px 0;
	color: #f75189;
	clear: both;
	line-height: 1;
	font-size: 16px;
	font-weight: bold;
	position: relative;
}
.form_skin dl dt {
	color: #A351A4;
}
dl.formtype01 dd {
	display: flex;
}
dl.formtype02 dd {
	display: flex;
	width: 90%;
	align-items: center;
}
#container article section.txtarea p.oof{
	margin: 0 10px 0 5px;
}
#birthday_y {
	width: 60%;
}
#birthday_m, #birthday_d {
	width: 35%;
}
dl.formtype04 .parallel, dl.formtype03 .parallel {
	display: flex;
	align-items: center;
}
dl.formtype04 .parallel {
	width: 85%;
}
dt .require, dl.formtype04 .require {
	display: inline-block;
	position: absolute;
	line-height: 20px;
	padding: 0 10px;
	right: 0;
	background-color: #f75189;
	color: #fff;
	font-weight: normal;
	border-radius: 10px;
	font-size: 11px;
}
.form_skin dt .require, .form_skin dl.formtype04 .require {
	background-color: #A351A4;
}
.randomly {
	display: inline-block;
	position: absolute;
	line-height: 20px;
	padding: 0 10px;
	right: 0;
	background-color: #848484;
	color: #fff;
	font-weight: normal;
	border-radius: 10px;
	font-size: 11px;
}
.item_wrap:nth-child(1), .parallel input {
	margin: 0 10px 0 0;
}
dl.formtype03 .parallel input {
	margin: 0;
}
dl.formtype03 .parallel span {
	padding: 0 3px;
	font-size: 20px;
}
.item {
	color: #ff5792;
	padding: 0 0 8px;
	position: relative;
}
.form_skin .item {
	color: #A351A4;
	;
}
.item2 {
	color: #848484;
	padding: 0 0 8px;
	position: relative;
}
.item2 {
	color: #848484;
	padding: 0 0 8px;
	position: relative;
}
dl.formtype01 span.necces {
	color: #900;
}
#container article section.txtarea p.attent {
	margin-top: 5px;
	display: inline-block;
	font-size: 12px;
	text-align: left;
}
.in_spe2 .attent {
	margin-top: 5px;
	display: inline-block;
	font-size: 12px;
	text-align: left;
}
.attent2 {
	margin-top: 20px;
	display: inline-block;
	font-size: 12px;
	text-align: left;
}
.attent2 span {
	background:linear-gradient(transparent 60%, #ff6 60%);
}


/* footer */

.footer_bg {
	background: url(img/bg_footer2.png) repeat-x scroll left top transparent;
	height: 95px;
	/* margin-bottom: 10px; */
	padding: 5px 0;
	background: #f75189;
	margin: 15px 0 0 0;
}
.form_skin .footer_bg {
	background: #d69ad0;
}