@charset "UTF-8";

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 400;
	src: local('NotoSansJP-Regular.otf'),
		
		url(NotoSansCJKjp-Regular-Sub.otf) format('opentype'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
	font-display:swap;
}

.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

body{
	font-family: "Noto Sans Japanese", "游ゴシック" , "Yu Gothic" ,"ヒラギノ角ゴ Pro W6",'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka,sans-serif;
}

a.hover,
button:hover,
input:hover{
	text-decoration : none ;
	transition-duration : 0.3s ;
	-webkit-transition : all 0.3s ease 0s ;
	-moz-transition : all 0.3s ease 0s ;
	-o-transition : all 0.3s ease 0s ;
}
a.hover:hover,
button.hover:hover,
input.hover:hover{
	opacity: 0.7;
}
#main{
	width: 1160px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 35px;
}
#main .movie{
	display: flex;
	flex-direction: column;
}
#main .movie .wrap{
	position: relative;
	width: 640px;
	min-height: 360px;
	margin: auto auto 0;
	overflow: hidden;
}
#main .movie .wrap iframe{
	position: relative;
	z-index: 1;
}
#main .movie .wrap .soundSelect{
	position: absolute;
	left: 0;
	top: 0;
	width: 640px;
	height: 360px;
	background: url("../img/thumb_movie.jpg") center center no-repeat;
	z-index: 2;
	color: #fff;
}
#main .movie .wrap .soundSelect p.title{
	width: 455px;
	height: 21px;
	margin: 40px auto 60px;
	background: url("../img/txt_main_movie01.png") center center no-repeat;
	text-indent: -9999px;
	overflow: hidden;
}
#main .movie .wrap .soundSelect dl{
	width: 230px;
	margin: 0 auto;
	text-align: center;
}
#main .movie .wrap .soundSelect dl dt{
	margin: 0 0 60px;
	color: #9c9c9c;
}
#main .movie .wrap .soundSelect dl dd{
	float: left;
}
#main .movie .wrap .soundSelect dl dd:last-of-type{
	float: right;
}
#main .movie .wrap .soundSelect dl dd a{
	color: #fff;
	text-decoration: none;
}
#main .message,
#main .share{
	padding: 89px 0 0;
}
#main .message .wrap,
#main .share .wrap{
	position: relative;
	box-sizing: border-box;
	min-height: 271px;
	padding: 18px;
	border: #e9e9e9 1px solid;
	margin-top: auto;
	border-radius: 10px;
	box-shadow:5px 4px 5px 1px #e9e9e9;
}
#main .message .wrap:after{
	content: " ";
	position: absolute;
	width: 100%;
	height: 89px;
	left: 0;
	top: -90px;
	background: url("../img/fig_main_message.png") center center no-repeat;
}
#main .share .wrap:after{
	content: " ";
	position: absolute;
	width: 100%;
	height: 89px;
	left: 0;
	top: -90px;
	background: url("../img/fig_main_share.png") center center no-repeat;
}
#main .message{
	display: flex;
	flex-direction: column;
	width: 240px;
	margin: 0 20px 0 0;
	text-align: center;
}
#main .message .target{
	margin: 20px 0 45px;
	font-size: 20px;
}
#main .message .birthday{
	margin: 0 0 45px;
	font-size: 32px;
}
#main .message .m{
	width: 193px;
	height: 41px;
	margin: 0 auto;
	background: url("../img/txt_main_message.png") center center no-repeat;
	text-align: left;
	text-indent: -9999px;
	overflow: hidden;
}
/* parameter undefined */
#main .message.noDate .target{
	margin: 85px 0 65px;
}
#main .message.noName .birthday{
	margin: 80px 0 65px;
}
#main .message.noName.noDate .m{
	margin: 90px 0 0;
}
#main .share{
	display: flex;
	flex-direction: column;
	width: 240px;
	margin: 0 0 0 20px;
}
#main .share h2{
	width: 188px;
	height: 18px;
	margin: 0 auto 15px;
	background: url("../img/txt_main_share.png") center center no-repeat;
	text-align: left;
	text-indent: -9999px;
	overflow: hidden;
}
#main .share p.shareURL{
	box-sizing: border-box;
	min-height: 130px;
	padding: 10px;
	margin: 0 0 15px;
	border: #919191 1px solid;
	font-size: 12px;
	word-break: break-all;
}
#main .share p.copy button{
	display: block;
	width: 100%;
	height: 45px;
	border: #919191 1px solid;
	border-radius: 5px;
	background: #f4f4f4 url("../img/btn_main_share.png") center center no-repeat;
	text-indent: -9999px;
	cursor: pointer;
}
#aside{
	display: block;
	width: 1160px;
	margin: 0 auto 85px;
	text-align: center;
}
#aside ul{
	margin: 0 0 45px;
}
#aside ul li{
	display: inline-block;
	margin: 0 20px;
}
#aside ul li a{
	display: block;
	width: 60px;
	height: 60px;
	overflow: hidden;
	text-indent: -9999px;
	background: url("../img/mail_icon.png") center center no-repeat;
	background-size: 60px auto;
}
#aside ul li.tw a{
	background-image: url("../img/twitter_icon.png");
}
#aside ul li.fb a{
	background-image: url("../img/fb_icon.png");
}
#aside ul li.line a{
	background-image: url("../img/line_icon.png");
}
#aside h2{
	margin: 0 0 30px;
}

/***** 2019 overwite *****/
#header {
  position: relative;
  width: 1160px;
  background: #FFF;
  margin: 0 auto 30px auto; }
  #header .logo {
    display: block;
    width: 96px;
    height: 120px;
    margin: 0 0 0 110px;}
  #header h1{
    position: absolute;
    right: 260px;
    bottom: 0;
    text-align:right;
    font-size:20px;}

#footer {
  min-width: 1160px;
  width: 100%;
  background: #dddddd;
  border-top: 1px solid #FFF;
  padding: 53px 0; }
  #footer .dotline {
    width: 963px;
    height: 1px;
    background-image: url(../img/dotline.png);
    margin: auto; }
  #footer .inner {
    position: relative;
    width: 630px;
    margin: 0 auto 50px auto; }
    #footer .inner p img {
      width: 374px;
      height: 48px; }
    #footer .inner .presentBtn {
      display: block;
      background: url(../img/footer_present_btn.gif) no-repeat;
      width: 226px;
      height: 44px;
      position: absolute;
      top: 2px;
      right: 0; }
    #footer .inner .chuki {
      font-size: 13px;
      color: #cf2242;
      text-align: center;
      margin-top: 20px; }
  #footer .inner2 {
    position: relative;
    width: 570px;
    margin: 0 auto 0 auto; }
    #footer .inner2 p, #footer .inner2 div {
      overflow: hidden;
      text-indent: -99999px;
      display: block; }
    #footer .inner2 .ttl {
      width: 289px;
      height: 40px;
      background: url(../img/happy_drive_ttl_pc.png) no-repeat;
      margin: 48px 0 0 143px; }
    #footer .inner2 .txt {
      width: 416px;
      height: 38px;
      background: url(../img/happy_drive_txt_pc.png) no-repeat;
      margin: 10px 0 0 143px; }
    #footer .inner2 .icon {
      width: 120px;
      height: 103px;
      background: url(../img/happy_drive_icon_pc.png) no-repeat;
      position: absolute;
      top: 0;
      left: 0; }
    #footer .inner2 .btn {
      margin: 43px 0 0 160px; }
      #footer .inner2 .btn a {
        display: block;
        width: 235px;
        height: 38px;
        background: url(../img/happy_drive_btn_pc.png) no-repeat; }

#overlay {
	display: none;
  width: 100%;
  width: 100vw;
  height: 100%;
  background-color: #121212;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  opacity: 1; }

.ex_form{
	box-sizing: border-box;
	position: fixed;
	top: 50%;
	width: 620px;
	height: 200px;
	padding: 30px 40px;
	margin: -100px 0 0 -310px;
	left: 50%;
	background: #fff;
	z-index: 99999;
	opacity: 0;
	display: none;
}
.ex_form form{
	display: block;
}
.ex_form form label{
	display: block;
	font-size: 16px;
	color: #222;
}
.ex_form form input[type="text"],
.ex_form form select{
	margin-top: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
	text-align: left;
	border: #aaa solid 1px;
	background: #efefef;
	height: 40px;
}
.ex_form form .form_name{
	float: left;
	width: 330px;
}
.ex_form form .form_name input{
	width: 100%;
}
.ex_form form .form_name input:focus::-webkit-input-placeholder { color:transparent; }
.ex_form form .form_name input:focus:-moz-placeholder { color:transparent; }
.ex_form form .form_name input:focus::-moz-placeholder { color:transparent; }
.ex_form form .form_birthday{
	float: right;
	width: 190px;
}
.ex_form form .form_birthday select{
	float: left;
	width: 85px;
}
.ex_form form .form_birthday select[name=d]{
	float: right;
}
.ex_form form input[type="submit"]{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	cursor: pointer;
	width: 235px;
	padding: 12px;
	font-size: 18px;
	color: #fff;
	letter-spacing: 0.1em;
	margin: 25px auto 0;
	background: #c3002f;
	border: none;
	line-height: 100%;
}
