@charset "utf-8";

/* reset
-------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td, figure, section, article {margin: 0; padding: 0;}
body {font:13px/1 "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;}
* html body {font-size: small;}
*:first-child+html body {font-size: small;}
img {border: 0; vertical-align: top;}
h1,h2,h3,h4,h5,h6 {font-size: 100%; font-weight: normal;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal; font-weight: normal;}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
input,textarea,select {font-family: inherit; font-size: inherit; font-weight:inherit;}
* html input,* html textarea,* html select {font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td {text-align: left; vertical-align: top;}
caption {text-align: left;}
pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}
input,select,textarea {font-size: 100%; font-family: Verdana, Helvetica, sans-serif;}
*:focus {outline: none;}

/* base
-------------------------------------------------------*/
body {
	letter-spacing:0.03em;
	color:#000;
}

strong {
	font-weight:bold;
}

a {
	color:#000;
	text-decoration:none;
}

.clearfix:after {
	content:"";
	display:block;
	clear:both;
	height:100%;
}

*{
	box-sizing:border-box;
}

.mb0 { margin-bottom:0 !important; }
.mb4 { margin-bottom:4px !important; }
.mb8 { margin-bottom:8px !important; }
.mb10 { margin-bottom:10px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb45 { margin-bottom:45px !important; }
.mb50 { margin-bottom:50px !important; }
.mb55 { margin-bottom:55px !important; }
.mb60 { margin-bottom:60px !important; }
.mb65 { margin-bottom:65px !important; }
.mb70 { margin-bottom:70px !important; }
.mb75 { margin-bottom:75px !important; }
.mb80 { margin-bottom:80px !important; }
.mb90 { margin-bottom:90px !important; }
.mb100 { margin-bottom:100px !important; }
.mb1em { margin-bottom:1em !important; }
.mb2em { margin-bottom:2em !important; }
.mb3em { margin-bottom:3em !important; }
.mb4em { margin-bottom:4em !important; }
.mb5em { margin-bottom:5em !important; }
.mt30 { margin-top:30px !important; }
.fs11 {	font-size:11px !important; }
.fs12 {	font-size:12px !important; }
.fs13 {	font-size:13px !important; }
.fs14 {	font-size:14px !important; }
.fs15 {	font-size:15px !important; }
.fs16 {	font-size:16px !important; }
.fs17 {	font-size:17px !important; }
.fs18 {	font-size:18px !important; }

.al-center {
	text-align:center;
}

.f-left {
	float:left;
}

.f-right {
	float:right;
}

br.sp{
	display:none;
}

a:hover img{
  opacity: 0.6;
}


/* LP
-----------------------------------------------------*/

body{
  background: url(../img/bg.png);
}

header{
  text-align: center;
  border-bottom: 1px solid #DEDEDE;
  background: #fff;
}

footer{
  text-align: center;
  background: #625A58;
  color: #fff;
  padding: 20px 0;
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
	footer{
		padding: 8px 0;
	}
}
#visual{
  text-align: center;
}

#visual img{
  width: 100%;
  height: auto;
}

#visual img.sp{
  display: none;
}

.wrap{
  width: 1000px;
  margin: auto;
}

.wrap section{
  margin: 50px 0;
}

#entry{
  background: #fff;
  border: 4px solid #F19DBB;
}

#entry h2{
  text-align: center;
  margin-top: -32px;
}

#entry h2 + p{
  text-align: center;
  line-height: 1.75em;
  font-size: 16px;
  margin: 20px 0 20px 0;
}

#entry h3{
  margin-top: 40px;
  margin-bottom: 20px;
}

#entry h2 + p span{
  color: #EC7B90;
}

#entry ul.tellist{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 10px;
}

#entry ul.tellist li{
  width: 33%;
  font-size: 15px;
  text-align: center;
  line-height: 1.25em;
}

#entry ul.tellist li a{
  font-size: 19px;
  color: #F19DBA;
  display: block;
  margin-top: 10px;
}

#entry ul.tellist li a:before{
  content: "";
  display: inline-block;
  width: 28px;
  height: 22px;
  background: url(../img/ico_tel.png);
  vertical-align: -2px;
  margin-right: 5px;
}

#entry ul.tellist li span:first-child{
  display: inline-block;
  width: 8em;
  vertical-align: middle;
  font-size: 15px;
}

#entry ul.tellist li{
  border-right: 1px dotted #777777;
  padding-left: 10px;
  margin-bottom: 20px;
  vertical-align: middle;
}

#entry ul.tellist li:nth-child(3n){
  border-right: 0;
}

#entry ul.tellist li:nth-child(3n + 1){
  padding-left: 0;
}

#entry ul.tellist li span.small{
  font-size: 12px;
}

#entry .entrylist{
  display: flex;
  flex-wrap: wrap;
  border-top: 1px dotted #666666;
  margin: 40px 20px;
  padding: 20px;
  padding-bottom: 0;
  margin-bottom: 0;
}

#entry .entrylist li{
  margin-bottom: 10px;
}

#entry .btn{
  margin: 30px 0 50px 0;
}

#present{
  background: #F8F8F4;
  text-align: center;
  padding-top: 1px;
  padding-bottom: 70px;
  margin-top: 100px;
  margin-bottom: 0;
}

#present h2{
  margin-top: -56px;
  margin-bottom: 20px;
}

#model{
  background: #fff;
  text-align: center;
  padding-top: 1px;
  margin-top: 0;
  padding-bottom: 20px;
}

#model h2{
  margin-top: -40px;
}

#line{
  text-align: center;
}

#line h2{
  margin: 40px 0 20px 0;
}

#line ul.linelist{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 30px;
}

#line ul.linelist li:nth-child(3) ~ li{
  margin-top: 10px;
}

#how{
  text-align: center;
  background: #FFFFFF;
  padding-top: 1px;
  margin-top: 120px;
}

#how h2{
  margin-top: -52px;
}

#how p{
  margin: 30px 0;
}

#how ol{
  display: flex;
  justify-content: space-between;
  padding: 0 10px;
}

#web{
  background: #fff;
  padding-top: 1px;
  margin-top: 120px;
  text-align: center;
}

#web h2{
  margin-top: -52px;
}

#web ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 50px 40px;
}

#web ul li:nth-child(3) ~ li{
  margin-top: 20px;
}

p.prep{
padding: 120px 0;
font-size: 24px;
color: #bbb;
line-height:1.5em;
}

#bnr ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 10px;
}

#bnr ul li{
  margin-bottom: 20px;
}

#note{
  background: #fff;
  padding: 20px;
  line-height: 1.5em;
  font-size: 16px;
}

/* form
-----------------------------------------------------*/
#contact .wrap{
  background: #fff;
  margin: 40px auto;
  padding: 20px 40px 40px;
  /* padding: 40px; */
}

#contact h1{
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 40px;
  text-align: center;
  line-height: 1.5em;
}

#contact table{
	width:100%;
}

#contact table tr{
	border-bottom:1px solid #ccc;
}

#contact table th{
	font-size:16px;
	vertical-align:middle;
	line-height:1.5em;
	padding:10px;
	width:16em;
}

#contact table th p{
	font-size:13px;
	margin-top:10px;
}

#contact table th .red{
	font-size:13px;
}

#contact table td{
	line-height:1.5em;
	padding:20px 10px;
	vertical-align:top;
}

#contact table td p{
  margin-top: 10px;
}

#contact table td > div + div{
	margin-top:20px;
}

#contact table td input[type="text"],
#contact table td input[type="email"],
#contact table td input[type="number"],
#contact table td textarea,
#contact table td select{
	padding:10px;
	width:auto;
	background:#efefef;
	border:1px solid #ededed;
}

#contact table td input[type="text"],
#contact table td input[type="email"],
#contact table td input[type="number"],
#contact table td textarea{
	width:100%;
}

#contact table td input[type="text"]:focus,
#contact table td input[type="email"]:focus,
#contact table td input[type="number"]:focus,
#contact table td textarea:focus,
#contact table td select:focus{
	background:#fff;
	border-color:#C9C9C9;
}

#contact table td label.other{
	margin-top:10px;
	display:block;
}

#contact table td.nameinput input{
  width: 180px;
}

#contact table td.nameinput input:last-child{
  margin-left: 10px;
}

span.red{
  color: #C70003;
  margin-left: 5px;
}

#contact .submitbox{
	text-align:center;
  margin-top: 50px;
}

#contact .submitbox button{
	display:inline-block;
	background: #E89644;
	color:#fff;
	border:0;
	font-size:20px;
	cursor:pointer;
	height:60px;
	line-height:60px;
	vertical-align:top;
	width:300px;
}

#contact .submitbox a{
	display:inline-block;
	height:60px;
	line-height:60px;
	background:#ccc;
	color:#fff;
	border:0;
	font-size:20px;
	vertical-align:top;
	width:300px;
	margin-right:1px;
}

.complete{
  text-align: center;
  line-height: 1.5em;
}

#gift {
  background: #fff;
  text-align: center;
  padding-top: 1px;
  padding-bottom: 20px;
  margin-top: 100px;
  margin-bottom: 0;
}
#gift h2 {
  margin-top: -53px;
}

#gift h2 + p {
  padding-top: 20px;
  padding-bottom: 20px;
  line-height: 1.5;
}


/* 20190206 add */
header + figure {
 margin: 0 auto;
 max-width: 920px;
 width: 100%;
}
header + figure + figure a {
display: block;
text-align: center;
}




