@charset 'utf-8';

/* reset
------------------------------------------------ */
body,div,pre,p,a,img,form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td,embed,object,
figure,figcaption {
	margin: 0;
	padding: 0;
}
html { height: 100%; font-size: 62.5%; }
body {
	width: 100%;
	height: 100%;
	min-width: 1072px;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #000;
}
html.disable-scroll {
  width: 100vw;
  height: 100%;
}
body.disable-scroll {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100vw;
  box-sizing: border-box;
}
#vtdr_body section .swiper-wrapper, #vtdr_body section .swiper-slide {
  height: auto!important;
}
ul,ol { list-style: none; }
img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top;image-rendering: -webkit-optimize-contrast; }
a:link,
a:visited { text-decoration: none; color: #000; -webkit-transition: ease-out .2s; transition: ease-out .2s; }
a:hover { text-decoration: none; opacity: .7; }

/* space
------------------------------------------------ */
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt25 { margin-top: 25px; }
.mt30 { margin-top: 30px; }
.mt35 { margin-top: 35px; }
.mt40 { margin-top: 40px; }
.mt45 { margin-top: 45px; }
.mt50 { margin-top: 50px; }

/* clearfix
------------------------------------------------ */
.clearfix {
	clear: both;
}
.clearfix:before,.clearfix:after {
	content: ' ';
	display: table;
}
.clearfix:after { clear: both; }

/* container
------------------------------------------------ */
#container {
	position: relative;
	padding-top: 110px;
}

.wrap {
	position: relative;
	margin: 0 auto;
	width: 1050px;
}

/* ぽっぷアップ
------------------------------------------------ */
.fullscreen { position:absolute; left:0; top:0; min-width:100%; min-height:100%; overflow:hidden; z-index: 100;}
.popup-contents { background-color:rgba(0,0,0,0.8); color:#555555; display:none; height:100%; min-height:0; align-items: center; justify-content: center; text-align: center; }
.popup-contents > ul{ }
.popup-contents > ul li{ font-size: 1.5rem; font-weight: 600;}
.popup-contents > ul li~li{ margin-top: 32px;}
.popup-contents > ul li:nth-of-type(2){ position: relative; right: -0.5px;}
.popup-contents > ul li:nth-of-type(3){ position: relative; right: -1px;}
.popup-contents > ul li a{ color: #fff; position: relative;}
.popup-contents > ul li.active a::before{ content: ""; position: absolute; bottom: -6px; left: 0; border-bottom: 1px solid #fff; width: 100%; height: 1px; box-sizing: border-box; }

.popup-contents .close-btn { position:absolute; z-index: 102; right:16px; top:11px; width:32px; height:32px; background:url("../../img/pc/share/footer-close.png") center center no-repeat; }
.popup-contents .close-btn:hover { cursor:pointer; }

/* header
------------------------------------------------ */
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-transition: ease-in .1s;
	transition: ease-in .1s;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	z-index: 20;
}
/*
.head-hidden #header { -webkit-transform: translate3d(0,-58px,0); transform: translate3d(0,-58px,0); }
.head_menu_open #header { -webkit-transition: none; transition: none; -webkit-transform: none; transform: none; z-index: 20; }
*/

/* head_top */
#head_top {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 70px;
	background: #fff;
}

	#logo,
	#head_top .info {
		z-index: 3;
	}

	#logo {
		position: relative;
		width: 220px;
		font-size: .8rem;
		line-height: 1;
	}

		#logo a { display: block; }

	#head_top .info {
		position: absolute;
		top: 24px;
		right: 20px;
		text-align: right;
	}

		#head_top .info .btn_search,
		#head_top .info > p {
			display: inline-block;
			margin-left: 52px;
			vertical-align: middle;
			font-size: .8rem;
			line-height: 1;
		}
		#head_top .info .btn_search { margin-left: 0; }

			#head_top .info p a { display: block; }

		#head_top .info .btn_search {
			position: relative;
		}

			#head_top .info .btn_search .search,
			#head_top .info .btn_search .btn {
				transition: ease .3s;
			}

			#head_top .info .btn_search .search {
				position: absolute;
				top: -1px;
				right: 30px;
				width: 0;
				height: 26px;
				background: #e6e6e6;
				-webkit-border-radius: 4px;
				-moz-border-radius: 4px;
				-ms-border-radius: 4px;
				-o-border-radius: 4px;
				border-radius: 4px;
				text-align: center;
				z-index: 2;
				overflow: hidden;
				opacity: 0;
			}
			#head_top .info .btn_search.on .search { width: 400px; opacity: 1; }
				#head_top .info .btn_search .search .form { width: 400px; height: 100%; }

				#head_top .info .btn_search .search p { display: inline-block; vertical-align: middle; }
					#head_top .info .btn_search .search input { width: 100%; height: 100%; background: none; border: none; outline: none; }
				#head_top .info .btn_search .search .btn { width: 16px; height: 16px; opacity: 0; }
				#head_top .info .btn_search.on .search .btn { opacity: 1; }
				#head_top .info .btn_search .search .keyword { padding: 2px 8px; width: 355px; height: 22px; }
					#head_top .info .btn_search .search .keyword input { font-size: 1.4rem; }

			#head_top .info .btn_search .trigger {
				position: relative;
				z-index: 1;
			}

				#head_top .info .btn_search .trigger a { background-position: center center; background-repeat: no-repeat; }
				#head_top .info .btn_search.on .trigger a { background-image: url(../../img/pc/share/head_btn_search_close.png); }
				#head_top .info .btn_search.on .trigger img { opacity: 0; }

		#head_top .info .btn_account {}
		#head_top .info .btn_cart {width: 22px;}
		#head_top .info .menu { width: 20px; height: 16px; }
			#head_top .info .menu a { width: 100%; height: 100%; }
				#head_top .info .menu span { display: block; position: relative; width: 100%; height: 14px; border-top: solid #000 2px; text-indent: 100%; white-space: nowrap; overflow: hidden; }
				#head_top .info .menu span:before,
				#head_top .info .menu span:after { content: ' '; position: absolute; left: 0; width: 100%; height: 2px; background: #000; -webkit-transition: all .3s; transition: all .3s; }
				#head_top .info .menu span:before { top: 5px; }
				#head_top .info .menu span:after { bottom: 0; }
				#head_top .info .menu a.on span { margin-top: 0; height: 100%; border-top: none; }
				#head_top .info .menu a.on span:before { -webkit-transform: rotate(-45deg) translate3d(-2px,1px,0); transform: rotate(-45deg) translate3d(-2px,1px,0); }
				#head_top .info .menu a.on span:after { -webkit-transform: rotate(45deg) translate3d(-5px,-5px,0); transform: rotate(45deg) translate3d(-5px,-5px,0); }

/* head_bottom */
#head_bottom {
  background-color: #fff;
}

#head_bottom .inner {
  position: relative;
  overflow: hidden;
}

#head_bottom .inner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: calc( 100% - 50px);
  height: 1px;
  margin: 0 auto;
  background-color: #f0f0f0;
}

#head_bottom .nav {
  display: flex;
  justify-content: space-between;
  max-width: 1050px;
  margin: 0 auto;
  border-top: 1px solid #f0f0f0;
}

#head_bottom .nav li {
  position: relative;
  flex: 1;
}

#head_bottom .nav li + li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 12px;
  margin: auto 0;
  background-color: #f0f0f0;
}

#head_bottom .nav a {
  display: block;
  width: 100%;
  height: 39px;
  display: flex;
  padding: 0;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 700;
}

/* head_menu */
#head_menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	perspective: 400px;
	opacity: 0;
}

#head_menu,
#head_menu_contents .table,
#head_menu_bg {
	-webkit-transition: cubic-bezier(.08,.09,0.2,1) .4s;
	transition: cubic-bezier(.08,.09,0.2,1) .4s;
}

.head_menu_open #head_menu {
	pointer-events: auto;
	opacity: 1;
}

	#head_menu_contents {
		position: relative;
		width: 100%;
		height: 100%;
		z-index: 2;
	}

	#head_menu_contents .frame { width: 100%; height: 100%; overflow: hidden; }
	#head_menu_contents .table { display: table; width: 200%; height: 100%; }
	#head_menu_contents .table-cell { display: flex; justify-content: center; align-items: center; height: 100%; width: 100%; }

	.head_menu_sub_open #head_menu_contents .table { width: 100%; }
	
		#head_menu_contents .box {
			display: -webkit-flex;
			display: flex;
			float: left;
			width: 50%;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			-ms-box-sizing: border-box;
			-o-box-sizing: border-box;
			box-sizing: border-box;
			-webkit-justify-content: center;
			justify-content: center;
		}
	
		#head_menu_contents .main_box {}
		#head_menu_contents .sub_box {}
		#head_menu_contents .box .flex {}
	
			#gnav {
			}
		
				#gnav ul {
				}
		
					#gnav ul li {
						margin-top: 26px;
						font-size: 1.6rem;
						font-weight: 600;
						line-height: 1;
					}
					#gnav ul li:first-child { margin-top: 0; }

					.head_menu_sub_open #gnav ul li a { color: #b2b2b2; }
					.head_menu_sub_open #gnav ul li a.on { color: #000; }
	
			#head_menu_contents .sns {
				margin-top: 54px;
			}
		
				#head_menu_contents .sns li {
					display: inline-block;
					margin-left: 28px;
					vertical-align: top;
				}
				#head_menu_contents .sns li:first-child { margin-left: 0; }
		
					#head_menu_contents .sns li a { display: block; }
					.head_menu_sub_open #head_menu_contents .sns li a { opacity: .3; }

			#snav {
				padding-top: 30px;
			}
				#snav .product-title{
					font-size: 2.2rem;
					font-weight: 600;
					margin-bottom: 18px;
				}
				#snav > ul {
					display: flex;
				}
					#snav > ul > li {
					}
					#snav > ul > li~li {
						margin-left: 65px;
					}
		
				#snav dl {
					margin-top: 26px;
					font-size: 1.6rem;
					font-weight: 600;
					line-height: 1;
				}
				#snav dl:first-child { margin-top: 0; }

					#snav dl dt {
					}

					#snav dl dd {
						margin: 26px 0 0 20px;
					}

						#snav dl dd ul {}
							#snav dl dd ul li { margin-top: 26px; }
							#snav dl dd ul li:first-child { margin-top: 0; }
								#snav dl dd ul li a,
								#snav dl dd ul li a i { display: inline-block; vertical-align: top; }
								#snav dl dd ul li a {}
									#snav dl dd ul li a i { margin: -2px 10px 0 0; padding: 4px 8px; background: #000; font-size: 1.2rem; font-style: normal; color: #fff; }

	#head_menu_bg {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #fff;
		-webkit-transform: translate3d(0,0,-40px);
		transform: translate3d(0,0,-40px);
		opacity: 0;
		overflow: hidden;
		z-index: 1;
	}
	.head_menu_open #head_menu_bg {
		-webkit-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
		opacity: 1;
	}

/* main
------------------------------------------------ */
#main {
	display: block;
	position: relative;
	width: 100%;
}

/* page_title */
#page_title {
	position: relative;
	margin-bottom: 80px;
}

	#page_title .title {
		padding: 170px 0;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		text-align: center;
		font-size: 3.6rem;
		font-weight: 600;
		color: #fff;
	}

	#page_title .text_area {
		position: relative;
		margin: 0 auto;
		width: 1050px;
	}

		#page_title .copy {
			margin-top: -.8em;
			font-size: 3.2rem;
			font-weight: 400;
		}
	
			#page_title .copy .ab-1 { margin-top: 2px; padding: 3px 8px 1px; }
			#page_title .copy .ab-1:first-child { margin-top: 0; }
	
		#page_title .lead {
			margin-top: 36px;
			font-size: 1.6rem;
		}

/* title */
.title1 {
	position: relative;
	margin-bottom: 34px;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1;
}

.title2 {
	position: relative;
	margin-bottom: 20px;
	padding: 4px 0 4px 20px;
	border-left: solid #000 6px;
	font-size: 2.4rem;
	font-weight: 600;
}

.title3 {
	position: relative;
	margin-bottom: 35px;
	font-size: 2rem;
	font-weight: 600;
}

.title4 {
	position: relative;
	margin-bottom: 60px;
	padding-left: 12px;
	border-left: solid #000 4px;
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.2;
}

.title4:after {
	content: ' ';
	position: absolute;
	bottom: -8px;
	left: -3px;
	padding-left: 3px;
	width: 100%;
	height: 1px;
	background: #000;
}

/* stitle */
.stitle1 {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 4px;
	border-bottom: solid #000 1px;
	font-size: 2.4rem;
	font-weight: 400;
}

/* more */
.more1 {
	position: relative;
	margin: 40px auto 0;
	width: 270px;
	height: 52px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 50px;
}

	.more1 a:after,
	.more1 span { -webkit-transition: ease .2s !important; transition: ease .2s !important; }

	.more1 a {
		display: block;
		border: solid #000 1px;
	}

	.more1 a:after {
		content: ' ';
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 100%;
		background: #000;
		z-index: 1;
	}

	.more1 a:hover { opacity: 1; }
	.more1 a:hover:after { width: 100%; }

		.more1 span { display: block; position: relative; z-index: 2; }
		.more1 a:hover span { color: #fff; }

.more2 {
	position: relative;
	margin-top: 70px;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1;
}

	.more2 a {
		display: block;
	}

		.more2 span {
			display: inline-block;
			padding-right: 32px;
			background: url(../../img/pc/share/arrow_down1.png) no-repeat right center;
			vertical-align: top;
		}
		.more2 .on span { background-image: url(../../img/pc/share/arrow_up1.png); }

/* links_style */
.links_style1 {
	margin-top: 60px;
	border-bottom: solid #ccc 1px;
}

	.links_style1 li {
		border-top: solid #ccc 1px;
		font-size: 1.4rem;
		letter-spacing: -.02em;
	}

		.links_style1 li a {
			display: block;
			padding: 14px 14px 14px 0;
			background: url(../../img/pc/share/arrow4.png) no-repeat right 6px center;
		}

/* bnr_list */
.bnr_list1 {
	margin: 34px auto 0;
}
.bnr_list1.line-2 { width: 680px; }

	.bnr_list1 li {
		float: left;
		margin: 60px 60px 0 0;
		width: 310px;
	}
	.bnr_list1 li:nth-of-type(-n+3) { margin-top: 0; }
	.bnr_list1 li:nth-of-type(3n) { margin-right: 0; }
	.bnr_list1 li:nth-of-type(3n+1) { clear: both; }
	.bnr_list1.line-2 li:nth-of-type(-n+3) { margin-top: 60px; }
	.bnr_list1.line-2 li:nth-of-type(-n+2) { margin-top: 0; }
	.bnr_list1.line-2 li:nth-of-type(3n) { margin-right: 60px; }
	.bnr_list1.line-2 li:nth-of-type(2n) { margin-right: 0; }
	.bnr_list1.line-2 li:nth-of-type(3n+1) { clear: none; }
	.bnr_list1.line-2 li:nth-of-type(2n+1) { clear: none; }

		.bnr_list1 li a { display: block; }
			.bnr_list1 li span img,
			.bnr_list1 li .name { -webkit-transition: ease-out .2s; transition: ease-out .2s; }
			.bnr_list1 li span { display: block; overflow: hidden; }
			.bnr_list1 li .name { margin: 15px 20px 0; background: url(../../img/pc/share/arrow1.png) no-repeat right center; font-size: 1.6rem; font-weight: 500; line-height: 1.2; }
			.bnr_list1 li a:hover span img { -webkit-transform: scale(1.1); transform: scale(1.1); }
			.bnr_list1 li a:hover .name { margin-right: 0; }

.bnr_list2 {
	margin: 34px auto 0;
	width: 504px;
}

	.bnr_list2 li {
		margin-top: 24px;
	}
	.bnr_list2 li:first-child { margin-top: 0; }

		.bnr_list2 li a { display: block; }
			.bnr_list2 li span img,
			.bnr_list2 li .name { -webkit-transition: ease-out .2s; transition: ease-out .2s; }
			.bnr_list2 li .info { margin: 10px auto 0; font-size: 1.4rem; line-height: 1.2; letter-spacing: -0.04em; }
			.bnr_list2 li span { display: block; overflow: hidden; }
			.bnr_list2 li .explain { margin-top: 10px; font-size: 1.4rem; line-height: 1.2; }
			.bnr_list2 li a:hover span img { -webkit-transform: scale(1.1); transform: scale(1.1); }

/* link_list */
.link_list1 {
	margin: 0 auto;
}

	.link_list1 li {
		margin-top: 30px;
		text-align: center;
	}
	.link_list1 li:first-child { margin-top: 0; }

		.link_list1 li a {
			display: block;
			padding: 12px 0;
			border: solid #000 1px;
		}

			.link_list1 li strong,
			.link_list1 li span { display: block; }
			.link_list1 li strong { font-size: 2.6rem; }
			.link_list1 li span { font-size: 1.4rem; }

.link_list2 {
	margin: 0 auto;
}

	.link_list2 li {
		float: left;
		margin: 30px 30px 0 0;
		width: 330px;
		text-align: center;
	}
	.link_list2 li:nth-of-type(-n+3) { margin-top: 0; }
	.link_list2 li:nth-of-type(3n) { margin-right: 0; }
	.link_list2 li:nth-of-type(3n+1) { clear: both; }

		.link_list2 li a {
			display: block;
			padding-top: 10px;
			border: solid #000 1px;
		}

		.link_list2 li a:after {
			content: ' ';
			display: block;
			width: 100%;
			height: 14px;
			background: url(../../img/pc/share/arrow_down2.png) no-repeat center 4px #000;
		}

			.link_list2 li strong,
			.link_list2 li span { display: block; }
			.link_list2 li strong { font-size: 2.6rem; font-weight: normal; }
			.link_list2 li span { padding-bottom: 10px; font-size: 1.4rem; }

/* post_detail */
.post_detail {
	margin: 40px 30px 0;
}

	.post_detail .head {
		margin-bottom: 50px;
		padding-bottom: 40px;
		border-bottom: solid #ccc 1px;
	}

		.post_detail .head .date,
		.post_detail .head .sns,
		.post_detail .head .sns li {
			display: inline-block;
			vertical-align: middle;
		}

		.post_detail .head .date {
			width: 50%;
			font-size: 1.4rem;
			letter-spacing: .05em;
			line-height: 1;
		}

			.post_detail .head .date .ab-1 { padding: 4px 6px 3px; }

		.post_detail .head .sns {
			width: 50%;
			text-align: right;
		}

			.post_detail .head .sns li { margin-left: 22px; width: 22px; }
			.post_detail .head .sns li:first-child { margin-left: 0; }
				.post_detail .head .sns li a { display: block; }

		.post_detail .head .title {
			margin-top: 25px;
			font-size: 2.8rem;
			font-weight: normal;
		}

	.post_detail .detail {
	}

		.post_detail .content {
			font-size: 1.6rem;
			line-height: 2;
			word-break: break-word;
		}

			.post_detail .content p,
			.post_detail .content .photo,
			.post_detail .content .title { margin-top: 6.8rem; }
			.post_detail .content p:first-child,
			.post_detail .content .photo:first-child,
			.post_detail .content .title:first-child { margin-top: 0; }
			.post_detail .content .photo { margin: 2.4em -110px 0; }
			.post_detail .content .title { font-size: 1.6rem; font-weight: 600; line-height: 1.6; }
				.post_detail .content .title .ab-1 { padding: 2px 6px; }

	.post_detail .foot {
		margin-top: 70px;
		padding-top: 60px;
		border-top: solid #ccc 1px;
	}

		.post_detail .pager {
		}

			.post_detail .pager li {
				float: left;
				width: 50%;
				font-size: 1.8rem;
				font-weight: 600;
				line-height: 1.2;
			}
			.post_detail .pager .next { text-align: right; }

				.post_detail .pager li a { display: inline-block; vertical-align: middle; }
				.post_detail .pager .back a { padding-left: 22px; background: url(../../img/pc/share/pager_back1.png) no-repeat 3px center; }
				.post_detail .pager .next a { padding-right: 22px; background: url(../../img/pc/share/pager_next1.png) no-repeat right 3px center; }

/* next_contents */
#next_contents {
	margin-top: 120px;
}

	#next_contents .list {
	}

		#next_contents .list .bnr_list1 { margin-top: 0; }

/* topicpath */
#topicpath {
	margin-top: 140px;
}

	#topicpath li {
		float: left;
		font-size: 1.6rem;
		font-weight: 600;
		color: #999;
	}

		#topicpath li a { color: #000; }

/* sys_block */
.sys_block {
	margin-top: 70px;
	width: 600px;
}

/* form parts
------------------------------------------------ */
/* form_block */
.form_block {
}

.form_block input,
.form_block textarea,
.form_block select {
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0;
	box-shadow: none;
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, sans-serif;
}
.form_block input[type=text],
.form_block input[type=password],
.form_block input[type=email],
.form_block input[type=tel],
.form_block input[type=number],
.form_block textarea,
.form_block select { padding: 14px 20px; background: #f2f2f2; border: solid #bfbfbf 1px; font-size: 1.6rem; color: #666; }
.form_block input::-webkit-input-placeholder,
.form_block textarea::-webkit-input-placeholder { color: #a6a6a6; }
.form_block input::-moz-placeholder,
.form_block textarea::-moz-placeholder { color: #a6a6a6; }
.form_block input:-ms-input-placeholder,
.form_block textarea:-ms-input-placeholder { color: #a6a6a6; }
.form_block textarea { width: 100%; height: 200px; }
.form_block select { width: 100%;  padding: 10px 10px 12px; background: url(../../img/pc/share/select_arrow1.png) no-repeat right 15px center #f2f2f2; }
.form_block input[type=checkbox] { width: 24px; height: 24px; background: #f2f2f2; border: solid #bfbfbf 1px; }
.form_block input[type=checkbox]:checked { background: url(../../img/pc/share/checked1.gif) no-repeat center center #fff; background-size: 16px; }
.form_block label { font-size: 1.6rem; }
.form_block label input,
.form_block label span { display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; vertical-align: middle; }
.form_block label input { margin-right: 10px; }
.form_block label span { width: -webkit-calc(68% - 40px); width: calc(68% - 40px); text-align: left; }
.form_block label a { text-decoration: underline; }
.form_block .part_mailmagazine {text-align: center;}
.form_block .part_mailmagazine label span {padding-left: 10px;}
.form_block .part_privacy {text-align: center;}

	.form_block .require_txt {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}

	.form_block .require {
		color: #d42e2e;
	}

	.form_block .btn_group {
		margin-top: 35px;
		text-align: center;
	}

		.form_block .btn_group li {
			position: relative;
			margin: 40px auto 0;
		}
		.form_block .btn_group li:first-child { margin-top: 0; }

			.form_block .btn_group li input,
			.form_block .btn_group li a { display: block; width: 100%; font-size: 1.6rem; line-height: 1; cursor: pointer; }
		.form_block .btn_group .btn_submit { width: 290px; }
		.form_block .btn_group .btn_submit:after { content: ' '; position: absolute; top: 50%; right: 15px; margin-top: -4px; width: 29px; height: 8px; background: url(../../img/pc/share/arrow2.png) no-repeat center center; background-size: 100%; z-index: 2; }
			.form_block .btn_group .btn_submit input { position: relative; padding: 22px 0; background: #000; border: solid #000 1px; color: #fff; z-index: 1; }
		.form_block .btn_group .btn_submit:after,
		.form_block .btn_group .btn_submit input { -webkit-transition: ease .2s; transition: ease .2s; }
		.form_block .btn_group .btn_submit:hover:after { right: 4px; background-image: url(../../img/pc/share/arrow3.png); }
			.form_block .btn_group .btn_submit:hover input { background: #fff; color: #000; }
		.form_block .btn_group .btn_back { width: 210px; }
			.form_block .btn_group .btn_back a { padding: 20px 0; border: solid #b3b3b3 1px; color: #808080; }
			.form_block .btn_group .btn_back a:hover { background: #b3b3b3; color: #fff; }

	.form_block .error_box {
		position: relative;
		margin-top: 55px;
		margin-bottom: 55px;
		padding: 12px 28px 12px 20px;
		background: #d42e2e;
		color: #fff;
	}

		.form_block .error_box .text { font-size: 1.6rem; letter-spacing: -1px; }
		.form_block .error_box .close { position: absolute; top: 16px; right: 10px; width: 16px; }
			.form_block .error_box .close a { display: block; }

	.form_block .message_box {
		position: relative;
		margin-bottom: 20px;
		padding: 12px 28px 12px 22px;
		background: #f2f2f2;
	}

		.form_block .message_box .text { font-size: 1.6rem; letter-spacing: -1px; }
		.form_block .message_box .close { position: absolute; top: 16px; right: 16px; width: 16px; }
			.form_block .message_box .close a { display: block; }

/* form_table */
.form_table {
	width: 100%;
	border-spacing: 0;
}

	.form_table tr,
	.form_table th,
	.form_table td {
		display: block;
		width: 100%;
	}
	.form_table tr { margin-top: 40px; }
	.form_table tr:first-child { margin-top: 0; }
	.form_table .end_boxs{ margin-top: 80px; }
	.form_table th,
	.form_table td { text-align: left; }
	.form_table th { margin-bottom: 12px; font-size: 1.6rem; font-weight: normal; }
		.form_table th .require { margin-left: .5em; font-size: 1rem; }
	.form_table td {}
		.form_table td .text { font-size: 1.3rem; }
		.form_table td .note { font-size: 1.6rem; }
		.form_table td .part { position: relative; }
			.form_table td .part .balloon { position: absolute; top: -42px; right: 0; padding: 8px 16px; background: #d42e2e; font-size: 1.4rem; color: #fff; }
			.form_table td .part .balloon:after { content: ' '; position: absolute; bottom: -11px; left: 12px; width: 16px; height: 11px; background: url(../../img/pc/share/balloon1.png) no-repeat left top; background-size: 100%; }
		.form_table td .part_zip {}
			.form_table td .part_zip input { margin-left: 4%; width: 35%;}
		.form_table td .multi {}
			.form_table td .multi .part { float: left; margin-left: 4%; width: 48%; }
			.form_table td .multi .part:first-child { margin-left: 0; }
			.form_table td .multi .part_year { width: 35%; }
			.form_table td .multi .part_month,
			.form_table td .multi .part_day { margin-left: 3.33%; width: 19.16%; }
			.form_table td .multi .part_tel1,
			.form_table td .multi .part_tel2,
			.form_table td .multi .part_tel3 { margin-left: 0; }
			.form_table td .multi .part_tel1 { width: 23.33%; }
				.form_table td .multi .part_tel1 input { margin-right: 8%; width: 77%; }
			.form_table td .multi .part_tel2 { width: 22.5%; }
				.form_table td .multi .part_tel2 input { margin-right: 8%; width: 80%; }
			.form_table td .multi .part_tel3 { width: 15%; }
				.form_table td .multi .part:first-child .balloon { right: -75px; }

/* animation parts
------------------------------------------------ */
.anm {
}

.anm-txt1 {
	opacity: 0;
	-webkit-transition: ease-in .3s;
	transition: ease-in .3s;
}

.anm-txt1.is-done { opacity: 1; }

.anm-btn1 {
}

	.anm-btn1 a,
	.anm-btn1 span {
		opacity: 0;
		-webkit-transition: ease-in .3s;
		transition: ease-in .3s;
	}
	.anm-btn1 span { -webkit-transition-delay: .2s; transition-delay: .2s; }

	.anm-btn1.is-done a,
	.anm-btn1.is-done span { opacity: 1; }

.anm-btn2 {
}

	.anm-btn2 a {}

	.anm-btn2 a:after,
	.anm-btn2 span {
		opacity: 0;
		-webkit-transition: ease-in .3s;
		transition: ease-in .3s;
	}
	.anm-btn2 a:after { margin-right: 10px; -webkit-transition-delay: .2s; transition-delay: .2s; }

	.anm-btn2.is-done a:after,
	.anm-btn2.is-done span { opacity: 1; }
	.anm-btn2.is-done a:after { margin-right: 0; }

.anm-photo1 {
}

	.anm-photo1 span {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}

	.anm-photo1 span:after,
	.anm-photo1 img {
		-webkit-transition: .3s;
		transition: .3s;
		-webkit-transition-timing-function: cubic-bezier(.1,.1, .1,1);
		transition-timing-function: cubic-bezier(.1,.1, .1,1);
	}

	.anm-photo1 span:after {
		content: ' ';
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 100%;
		background: #000;
		z-index: 1;
	}

	.anm-photo1 img {
		position: relative;
		z-index: 2;
		-webkit-transition-delay: .2s;
		transition-delay: .2s;
		-webkit-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
	}

	.anm-photo1.is-done span:after { width: 100%; }
	.anm-photo1.is-done img { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }

.anm-photo2 {
}

	.anm-photo2 img {
		opacity: 0;
		-webkit-transition: ease-in .3s;
		transition: ease-in .3s;
	}

	.anm-photo2.is-done img { opacity: 1; }

.anm-title1 {
}

	.anm-title1 span {
		display: inline-block;
		vertical-align: top;
	}

	.anm-title1 .at-1,
	.anm-title1 .at-2 {
		overflow: hidden;
	}

	.anm-title1 .at-2,
	.anm-title1 .at-3 {
		-webkit-transition: .3s;
		transition: .3s;
		-webkit-transition-timing-function: cubic-bezier(.1,.1, .1,1);
		transition-timing-function: cubic-bezier(.1,.1, .1,1);
	}

	.anm-title1 .at-2 {
		-webkit-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
	}

	.anm-title1 .at-3 {
		-webkit-transform: translate3d(100%,0,0);
		transform: translate3d(100%,0,0);
	}

	.anm-title1.is-done .at-2,
	.anm-title1.is-done .at-3 { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }

.anm-list1 {
}

	.anm-list1 .al-1 {
		display: block;
		opacity: 0;
		-webkit-transition: ease-in .3s;
		transition: ease-in .3s;
	}
	.anm-list1 .al-1.is-done { opacity: 1; }

.anm-bnr1 {
}

	.anm-bnr1 span {
		display: block;
		opacity: 0;
		-webkit-transition: ease-in .3s;
		transition: ease-in .3s;
	}
	.anm-bnr1.is-done span { opacity: 1; }

.anm-band1 {
	color: #fff;
}

	.anm-band1 .ab-1 {
		display: inline-block;
		position: relative;
		vertical-align: top;
	}

	.anm-band1 .ab-1:before,
	.anm-band1 .ab-1:after {
		content: ' ';
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 2px;
		background: #000;
		z-index: 1;
		-webkit-transition: .3s;
		transition: .3s;
		-webkit-transition-timing-function: cubic-bezier(.1,.1, .1,1);
		transition-timing-function: cubic-bezier(.1,.1, .1,1);
	}
	.anm-band1 .ab-1:after { width: 100%; height: 0; }

	.anm-band1.is-done .ab-1:before { width: 100%; }
	.anm-band1.is-done .ab-1:after { height: 100%; }

	.anm-band1 .ab-1:nth-of-type(1):after { -webkit-transition-delay: .3s; transition-delay: .3s; }
	.anm-band1 .ab-1:nth-of-type(2):before { -webkit-transition-delay: .1s; transition-delay: .1s; }
	.anm-band1 .ab-1:nth-of-type(2):after { -webkit-transition-delay: .4s; transition-delay: .4s; }
	.anm-band1 .ab-1:nth-of-type(3):before { -webkit-transition-delay: .2s; transition-delay: .2s; }
	.anm-band1 .ab-1:nth-of-type(3):after { -webkit-transition-delay: .5s; transition-delay: .5s; }

	.anm-band1 .ab-2 {
		position: relative;
		opacity: 0;
		-webkit-transition: ease-in .3s;
		transition: ease-in .3s;
		z-index: 2;
	}

	.anm-band1.is-done .ab-2 { opacity: 1; -webkit-transition-delay: .3s; transition-delay: .3s; }

/* footer
------------------------------------------------ */
#footer {
	position: relative;
	margin-top: 26px;
}

	#pagetop {
		position: relative;
		text-align: center;
		font-size: 1.6rem;
		font-weight: 600;
		letter-spacing: .06em;
		line-height: 1;
	}

		#pagetop a {
			display: block;
			position: relative;
			padding: 18px 0;
			background: #e6e6e6;
			color: #808080;
		}

		#pagetop a:after {
			content: ' ';
			position: absolute;
			top: -15px;
			left: 50%;
			margin-left: -4px;
			width: 9px;
			height: 26px;
			background: url(../../img/pc/share/pagetop.png) no-repeat center top;
		}

/* foot_top */
#foot_top {
	background: #000;
	padding-bottom: 26px;
	background: #000;
	color: #999;
}
#foot_top a { color: #999; }

	#foot_top .sns {
		padding: 26px 0 20px;
		text-align: center;
	}

		#foot_top .sns li {
			display: inline-block;
			margin: 0 15px;
			vertical-align: top;
		}
		#foot_top .sns li:first-child { margin-left: 0; }
		#foot_top .sns li:last-child { margin-right: 0; }

			#foot_top .sns li a { display: block; }

	#foot_top .links {
		text-align: center;
	}

		#foot_top .links li {
			display: inline-block;
			vertical-align: top;
			font-size: 1.2rem;
		}
	#foot_top .btn_menu_pc {
		text-align: center;
		margin: 20px auto 0;
	}
		#foot_top .btn_menu_pc a {
			padding-left: 22px;
			display: inline-block;
			background: url("../../img/pc/share/worlld_icon.png") no-repeat left center;
		}

	#foot_logo {
		margin: 24px auto 0;
		width: 210px;
		font-size: .8rem;
		line-height: 1;
	}

	#copyright {
		margin-top: 12px;
		text-align: center;
	}

		#copyright small {
			font-size: 1rem;
		}