@charset "utf-8";

/* ---------------------------------------------------------
 　■ レイアウト
--------------------------------------------------------- */
html{
	font-size: 6.25%;
	height: 100%;
}
body {
	color: #313131;
	background-position: center top;
	background-repeat: repeat;
	text-align: left;
	line-height: 1.4;
	margin: 0;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	min-width: 980px;
}
body.index{
	background-image: url(../images/body_bg_top.jpg);
}
body.form{
	background-image: url(../images/body_bg_form.jpg);
}


body,select,input,button,textarea{
	color: #626262;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16rem;
}
/* === テキストリンク === */
a{
	text-decoration: none;
	color: #626262;
}
a:hover{
	text-decoration: none;
}
/* === 画像幅 === */
img {
	max-width: 100%;
}



/* === 共通クラス === */
/* PCのみ表示（.visible-pc-block） */
.pc .visible-pc-block{ display: block; }
.sp .visible-sp-block{ display: none; }
/* SPのみ表示（.visible-sp-block） */
.sp .visible-sp-block{ display: block; }
.pc .visible-pc-block{ display: none; }

.pc .hidden-pc,		/* PCのみ非表示 */
.sp .hidden-sp{		/* SPのみ非表示 */
	display: none !important;
}

/* micro clearfix */
.cf:before,
.cf:after{
  content: "";
  display: table;
}
.cf:after{
	clear: both;
}
/* float */
/* .floL {
	float: left;
}
.floR {
	float: right;
} */
/* spは解除 */
/* .sp .floL,
.sp .floR{
	float: none;
} */
/* 画像の後は強制的に改行 */
img.br {
	display :block;
	clear: both;
}
.inner{
	margin: 0 auto;
	width: 980px;
}



/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header{
	padding: 30px 0 0;
	height: 80px;
	text-align: center;
	background: #FFFFFF;
}
#header ul.nav{
	margin: 0;
	letter-spacing: -.4em;
	width: 100%;
}
#header ul.nav li{
	letter-spacing: normal;
	position: relative;
	display: inline-block;
}
#header ul.nav li.activ{
	border-bottom: 3px solid #0056AD;
}
#header ul.nav li + li{
	margin: 0 0 0 60px;
}





/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/
/* TOP */
.index #main-top{
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
	background-color: #FFF;
	background-image: url(../images/top_main_bg.jpg);
	background-position: center top;
	background-repeat: no-repeat;
}
.index #main-top .bg{
}
.index #main-top .bg img{
	display: none;
}
.index #main-top .ttl{
	text-align: center;
	position: relative;
	margin: 0;
	z-index: 10;
}
.index #main-top .main-box{
	position: relative;
	margin: 0 auto;
	width: 830px;
	z-index: 10;
	line-height: 1.9;
}
.index #main-top .main-box .ribbon{
	text-align: center;
	margin: 104px 0 60px;
}
.index #main-top .main-box .ttls span{
	font-size: 30rem;
	font-weight: bold;
	color: #0056ad;
	margin: 0;
	display: inline-block;
}
.index #main-top .main-box span.lt{
	display: block;
	float: left;
}
.index #main-top .main-box span.rt{
	display: block;
	float: right;
}
.index #main-top .main-box .txt01{
	margin: 0 0 40px;
}
.index #main-top .main-box .txt01 .txt{
	display: block;
	float: left;
	width: 630px;
}
.index #main-top .main-box .txt01 .img{
	display: block;
	float: right;
}
.index #main-top .main-box .txt02 .txt{
	display: block;
	float: right;
	width: 500px;
}
.index #main-top .main-box .txt02 .img{
	display: block;
	float: left;
}








/* フォーム */
.form #main-top{
	width: 100%;
	overflow: hidden;
	background-image: url(../images/form_main_bg.png);
	background-position: center top;
	background-repeat: no-repeat;
}

.form #main-top .bg{
}
.form #main-top .bg img{
	display: none;
}
.form #main-top .ttl{
	text-align: center;
	position: relative;
	margin: 0;
	z-index: 10;
}


/* ---------------------------------------------------------
	コンテナー内
--------------------------------------------------------- */
/* === コンテナー === */
.index #container .red{
	color: #EF5350;
}
.index #container .bld{
	font-weight: bold;
}

/* TOPページ */
.index #container {
	background-image: url(../images/top_container_bg.png);
	background-position: center top;
	background-repeat: no-repeat;
	width: 100%;
	overflow: hidden;
	padding-top: 130px;
}

.index #container .container-ttl{
	text-align: center;
	margin: 60px 0;
}
/* セクション枠 */
.index #container .inner.wh{
	background: #FFFFFF;
	border-radius: 30px;
	padding: 40px 38px;
}
/* セクション */
.index #container .cont-sec{
	line-height: 1.9;
}
.index #container .cont-sec p.ttl span{
	font-size: 30rem;
	font-weight: bold;
	color: #0056AD;
	display: inline-block;
}
.index #container .cont-sec p.ttls span{
	font-size: 30rem;
	color: #0056AD;
	margin: 50px 0 20px;
	line-height: 1;
	display: inline-block;
}
.index #container .cont-sec p.txt{
	padding: 0 20px;
	margin: 0;
}
.index #container .cont-sec a{
	text-decoration: underline;
}

.index #container .cont-sec ul{
	font-size: 14rem;
	margin: 20px 20px 20px 60px;
	line-height: 2.2;
}
.index #container .cont-sec ul li{
	padding-left:1em;
	text-indent:-1em;
}
.index #container .cont-sec dl.howto{
	font-size: 14rem;
	margin: 20px 20px 20px 60px;
	line-height: 1.7;
}
.index #container .cont-sec dl.howto dt{
	font-size: 20rem;
	color: #22AEE9;
	font-weight: bold;
}
.index #container .cont-sec dl.howto dd{
	margin: 0;
}
.index #container .cont-sec dl.howto dt.address{
	margin-top: 30px;
}
.index #container .cont-sec dl.howto dd.address{
	font-size: 18rem;
}
.index #container .cont-sec .kiyaku{
	width: 800px;
	height: 380px;
	overflow-y: scroll;
	margin-left: 60px;
	font-size: 14rem;
}
.index #container .cont-sec .kiyaku dl{
}
.index #container .cont-sec .kiyaku dl dt{
	color: #22AEE9;
	font-weight: bold;
}
.index #container .cont-sec .kiyaku dl dd{
	margin: 0 0 20px;
}
.index #container #prize p.ttl span{
	background-image: url(../images/top_prize_ico.gif);
	background-position: 0px center;
	background-repeat: no-repeat;
	line-height: 36px;
	padding-left: 50px;
}
.index #container #flow p.ttl{
}
.index #container #flow{
	margin: 60px 0 70px;
}
.index #container #flow ol{
	margin: 0;
}
.index #container #flow ol li{
	position: relative;
	float: left;
}
.index #container #flow ol li + li{
	margin: 0 0 0 32px;
}
.index #container #flow ol li + li::before {
	background-image: url(../images/top_flow_arrow_pc.gif);
	background-position: 0px center;
	background-repeat: no-repeat;
	position: absolute;
	left: -30px;
	top: 0px;
	width: 28px;
	height: 176px;
	content: "";
	display: block;
}
.index #container {
}
.index #container {
}

/* ボタン */
.index #container .btn-space {
	text-align: center;
	margin: 130px 0 60px;
}
.index #container .btn-space p{
	margin: 0;
	width: 428px;
	display: inline-block;
}

.index #container .btn-space a{
	position: relative;
	display: inline-block;
	width: 360px;
	font-size: 19rem;
	color: #FFFFFF;
	font-weight: bold;
	padding: 10px;
	line-height: 1.9;
	border-radius: 10px;
}
.index #container .btn-space a::after {
  content: '';
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -5px;
}
.index #container .btn-space a span{
	display: inline-block;
	padding-right: 20px;
}
.index #container .btn-space span.txt-s{
	padding: 0;
	font-size: 16rem;
	font-weight: normal;
}
.index #container .btn-space .oubo a{
	background-color: #68DCD1;
}
.index #container .btn-space .pdf a{
	background-color: #0056AD;
}











/* フォーム */
.form #container {
	padding: 55px 0;
	margin-top: 0;
}
.form #container .inner{
	padding: 50px;
	background: #FFF;
}
#container .form-ttl{
	color: #0056AD;
	text-align: center;
	margin: 15px 0 70px;
}
.form.check #container .form-ttl{
	margin-bottom: 40px;
}
#container .form-ttl p.ttl{
	font-size: 32rem;
	font-weight: bold;
	margin: 0;
}



/* === フォームパーツ === */
input[type=text]{
	border: 1px solid #BFBFBF;
	border-radius: 5px;
	padding: 8px 10px;
	font-size: 14rem;
	width: 100%;
}
input[type=file]{
	font-size: 12rem;
}
label{
	position: relative;
	display: block;
}
label + label{
	margin-top: 14px;
}
label input{
	position: absolute;
	left: 0px;
	top: 3px;
}
label input + span{
	display: inline-block;
	padding-left: 25px;
}
select{
	font-size: 12rem;
	padding: 0 10px;
}

.form table{
	border-collapse: collapse;
	width: 100%;
}
.form.check table tr + tr th,
.form.check table tr + tr td{
	border-top: 1px solid #D2D2D2;
}
.form th, .form td{
	font-size: 16rem;
	vertical-align: middle;
	text-align: left;
}
.form th{
	width: 250px;
	padding: 20px 0;
}
.form td{
	padding: 20px 0 20px 20px;
}
.form .vtop{
	vertical-align: top;
}
.form th .hissu{
	font-size: 13rem;
	font-weight: normal;
	color: #ffffff;
	background-color: #ed7d7b;
	display: inline-block;
	padding: 6px 10px 5px;
	margin-left: 7px;
	border-radius: 5px;
	line-height: 1;
}
.form th .note{
	font-size: 12rem;
	font-weight: normal;
}

.form td p{
	margin: 0;
}
/* ボタン */
.form .btn-space {
	text-align: center;
	margin: 60px 0;
}
.form .btn-space p{
	margin: 0;
	width: 390px;
	display: inline-block;
}
.form .btn-space a{
	display: inline-block;
	width: 350px;
	font-size: 24rem;
	color: #FFFFFF;
}
.form .btn-space a span{
	display: inline-block;
	line-height: 53px;
	padding-top: 7px;
}
.form .btn-space .back a{
	background-color: #74D3FB;
}
.form .btn-space .submit a{
	background-color: #68DCD1;
}


/* === 個別指定 === */
tr.group th{
	font-size: 18rem;
	line-height: 1.5;
}
tr.group td .formhide{
	display: none;
}

tr.work-com td textarea{
	width: 100%;
	height: 100px;
	border: 1px solid #BFBFBF;
	border-radius: 5px;
	padding: 8px 10px;
	font-size: 14rem;
}

tr.name td p + p{
	margin-top: 20px;
}
tr.name td p span.txt{
	display: inline-block;
	font-size: 14rem;
	width: 40px;
	margin-left: 40px;
}
tr.name td p span.txt:first-child{
	margin: 0;
}
tr.name td p input{
	width: 230px;
}

tr.gender td label{
	width: 55px;
	display: inline-block;
}
tr.gender td label input + span {
	padding-left: 17px;
}

tr.formhide{
	display: none;
}


tr.tel td input{
	width: 130px;
}
tr.tel td span{
	display: inline-block;
	padding: 0 5px;
}

tr.email td p:first-child{
	margin-bottom: 10px;
}
tr.email td p span{
	color: #ED7D7B;
	font-size: 14rem;
	margin-bottom: 5px;
	display: inline-block;
}

tr.bestsmile td ul{
	margin: 0;
}
tr.bestsmile td ul li + li{
	margin-top: 14px;
}
.check tr.bestsmile td ul li + li{
	margin-top: 5px;
}
tr.bestsmile td input[type=text]{
	margin-top: 10px;
}

/* thanks.html */
.form.thanks p.figure{
	text-align: center;
	margin: 60px 0;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer{
	padding: 10px;
}



