@charset "UTF-8";

/*----------------------------------
BASIC
---------------------------------- */
html {overflow: auto;}
	
body {
	background: #FFF;
	text-align: center;
	font: 13px;	/* Firefox、Safari、Opera等 */
	*font-size: small;	/* IE6、IE7 */
	font-family : 'Microsoft Yahei', "宋体", "微软雅黑", 'SimSun', sans-serif;
	font-style: normal;
	line-height: 1.3;
	color: #555;
	overflow: hidden;
}
.wrap {width: 100%; margin: 0 auto;}

a:hover img {
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	opacity: 0.7;
}

/*----------------------------------
グローバルメニュー
---------------------------------- */
.header {position: relative;}
.logo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 18px 0 12px 0;
	margin: 0 auto;
	width: 85px;
	height: 96px;
	z-index: 1;
}

@media (max-width:767px) {
	.logo {position: relative;}
}

.navi {
	display: none;
	position: relative;
	width: 100%;
}

/*----------------------------------
グローバルメニュー OEM
---------------------------------- */
.header_oem {position: relative; background: #333;}

.header_oem .navi_lang_l .lang_brd {border-left: 1px #fff solid;}
.header_oem .navi_lang_l .lang_brd2 {border-right: 1px #fff solid;}
.header_oem .navi_lang_l li {color: #fff;}

.header_oem .navi_lang_l a:link {color: #fff; text-decoration: none;}
.header_oem .navi_lang_l a:visited {color: #fff; text-decoration: none;}
.header_oem .navi_lang_l a:hover {color: #E4007F; text-decoration: none;}
.header_oem .navi_lang_l a:active {color: #E4007F; text-decoration: none;}
.header_oem .navi_lang_l .lang_cr {color: #E4007F;}

/*----------------------------------
グローバルメニュー　言語選択　スマホ
---------------------------------- */
.navi_lang li {
	float: left;
	background: #d6d6d6;
	width: 50%;
	box-sizing: border-box;
	text-align: left;
	padding: 7px 0;
	font-size: 13px;
}
.navi_lang li:nth-child(odd) {border-right: 1px #fff solid;}
.navi_lang li:nth-child(1), .navi_lang li:nth-child(2) {border-bottom: 1px #fff solid;}

.navi_lang li:hover {background: #e6e6e6;}
.navi_lang li a {display: block; padding-left: 20px;}
.navi_lang li a:link {color: #555; text-decoration: none;}
.navi_lang li a:visited {color: #555; text-decoration: none;}
.navi_lang li a:hover {color: #E4007F; text-decoration: none;}
.navi_lang li a:active {color: #E4007F; text-decoration: none;}

/*----------------------------------
グローバルメニュー　言語選択　PC・タブレット
---------------------------------- */
.navi_lang_wrap {width: 970px; margin: 0 auto; position: relative;}

.navi_lang_l {
	position: absolute;
	top: 10px;
	right: 0px;
	width: 315px;
	height: 22px;
	z-index: 10;
}
.navi_lang_l .lang_brd {border-left: 1px #999 solid;}
.navi_lang_l .lang_brd2 {border-right: 1px #999 solid;}

.navi_lang_l ul {padding-top: 3px;}
.navi_lang_l li {
	float: left;
	font-size: 12px;
	padding: 0;
	letter-spacing: -0.2px;
}

.navi_lang_l a:link {color: #999; text-decoration: none;}
.navi_lang_l a:visited {color: #999; text-decoration: none;}
.navi_lang_l a:hover {color: #E4007F; text-decoration: none;}
.navi_lang_l a:active {color: #E4007F; text-decoration: none;}
.navi_lang_l .lang_cr {color: #E4007F;}

@media (min-width:768px) and (max-width: 980px) {
	.navi_lang_wrap {width: 97%;}
}
@media (min-width:768px) {
	.navi_lang {display: none;}
	.navi_lang_l {display: block !important;}
}
@media (max-width: 767px) {
	.navi_lang {display: block !important;}
	.navi_lang_l {display: none;}
}

/*----------------------------------
グローバルメニュー　menu
---------------------------------- */
.navi_menu {
	display: block;
	width: 100%;
	background: #d6d6d6;
	border-top: 5px #fff solid;
	text-align: center;
}
.navi .basic {border-bottom: 3px #000 solid;}

.navi_menu ul {
	width: 545px;
	margin: 0 auto;
}

.navi_menu li {
	float: left;
	font-family: 'Noto Serif SC', serif;
	font-size: 16px;
	color: #333;
	box-sizing: border-box;
}

.navi_menu li a {
	display: block;
	padding: 6px 35px;
	text-shadow: 0.1px 0.1px 5px #aaa;
}

.navi_menu li a:link {color: #333; text-decoration: none;}
.navi_menu li a:visited {color: #333; text-decoration: none;}
.navi_menu li a:hover {color: #E4007F; text-decoration: none; text-shadow: 0.1px 0.1px 5px #f17fbf;}
.navi_menu li a:active {color: #E4007F; text-decoration: none; text-shadow: 0.1px 0.1px 5px #f17fbf;}

.navi_menu .selected {color: #E4007F; text-decoration: none; text-shadow: 0.1px 0.1px 5px #f17fbf;}
.navi_menu .selected a:link {color: #E4007F; text-decoration: none; text-shadow: 0.1px 0.1px 5px #f17fbf;}
.navi_menu .selected a:visited {color: #E4007F; text-decoration: none; text-shadow: 0.1px 0.1px 5px #f17fbf;}

.navi_menu li i {display: none;}
.navi_menu .cr {display: block; padding: 6px 22px; color: #E4007F; text-shadow: 0.1px 0.1px 5px #f17fbf;}

.cart {
	position: absolute;
	left: 50%;
	margin-left: 270px;
	display: inline-block;
	width: 38px;
	height: 38px;
	background: #E4007F;
	-moz-border-radius: 38px;
	-webkit-border-radius: 38px;
	-o-border-radius: 38px;
	-ms-border-radius: 38px; 
	border-radius: 38px;
	box-shadow: 1.5px 1.5px 3px #999;
}
.cart i {color: #fff; font-size: 25px; padding: 6px;}

/*----------------------------------
グローバルメニュー　Webshopボタン
---------------------------------- */
.navi_shop li {
	width: 100%;
	box-sizing: border-box;
	background: #E4007F;
	color: #fff;
	font-size: 16px;
}
.navi_shop li:hover {background: #f64c9f;}
.navi_shop li a {display: block; padding: 14px 0;}
.navi_shop li a:link {color: #fff; text-decoration: none;}
.navi_shop li a:visited {color: #fff; text-decoration: none;}
.navi_shop li a:hover {color: #fff; text-decoration: none;}
.navi_shop li a:active {color: #fff; text-decoration: none;}
.navi_shop li i {font-size: 20px; margin-right: 5px;}

/*----------------------------------
グローバルメニュー　スマホ用トグルボタン
---------------------------------- */
.menubtn {
	position: absolute;
	top: 22px;
	right: 25px;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
	background: #000;
	box-shadow: 0px 0px 4px #999;
	cursor: pointer;
}

.menubtn i {font-size: 22px; padding: 7px 4px; color: #fff;}

/*----------------------------------
カート部分　ツールチップ
---------------------------------- */
#screenshot{
	position: absolute;
	display: none;
	color: #FFF;
  text-align: center;
	z-index: 2;
}

/*----------------------------------
グローバルメニュー　mediaクエリ
---------------------------------- */
@media (min-width: 768px) {
	#navi {display: block !important;}
	.navibtn {display: none}
}
@media (min-width: 1016px) {
	.navi_shop, .footer .navi_menu, button {display: none;}
	.navi {padding-top: 126px;}
	.cart {top: 110px;}
}
@media (min-width:768px) and (max-width:1015px) {
	.navi_shop, .footer .navi_menu, button {display: none;}
	.navi {padding-top: 126px;}
	.cart {top: 110px;}
}

@media (max-width:767px) {
	.navi_menu {
		border-bottom: 0px;
		text-align: left;
		display: block;
		background: #666;
	}
	
	.navi_menu ul {width: 100%;}
	.navi_menu li {
		float: none;
		width: 100%;
		font-family: 'Cardo', serif;
		font-size: 14px;
		color: #fff;
		border-bottom: 1px #999 dotted;
	}
	
	.navi_menu li a {text-shadow: none; padding: 12px 30px;}
	.navi_menu li:hover {background: #777;}
	.navi_menu li a:link {color: #fff;}
	.navi_menu li a:visited {color: #fff;}
	.navi_menu li a:hover {color: #fff; text-shadow: none;}
	.navi_menu li a:active {color: #fff; text-shadow: none;}
	.navi_menu li i {display: inline; color: #fff; font-size: 20px; padding: 1px 15px 0 0;}
	.cart {position: relative; display: none;}

	.navi .basic {border-bottom: 0px;}
	.footer .navi_menu {display: block;}
}

/*----------------------------------
リンクボタン（Information一覧）
---------------------------------- */
.link_btn {
	margin: 0 auto;
	border-radius: 20px;
	border: 2px #E4007F solid;
	font-size: 14px;
	padding: 8px 0;
}
.link_btn i {padding-right: 15px; font-size: 18px;}
.link_btn a {display: block;}
.link_btn a:hover {text-decoration: none;}
.link_btn:hover {background: #fee;}

/*----------------------------------
リンクボタン（竹宝堂とは）
---------------------------------- */
.link_bt {width: 230px; font-size :14px;}
.link_bt p {width: 100%; border: 1px #E4007F solid; margin-bottom: 8px; border-radius: 8px;}
.link_bt p:last-child {margin-bottom: 30px;}
.link_bt p:hover {background: #E4007F;}
.link_bt i {font-size: 18px; padding-right: 10px;}
.link_bt a {display: block; padding: 7px 0 7px 15px;}

.link_bt a:link, .link_bt a:visited {color: #E4007F; text-decoration: none;}
.link_bt a:hover, .link_bt a:active {color: #fff; text-decoration: none;}

/*----------------------------------
パンくずリスト
---------------------------------- */
.breadcrumb {
	width: 100%;
	border-bottom: 1px #999 dotted;
	text-align: center;
}

.breadcrumb .breadcrumb_inner {
	width: 960px;
	margin: 0 auto;
}

.breadcrumb li {
	float: left;
	font-size: 12px;
	line-height: 1.2;
	color: #555;
	display: block;
	padding: 8px 10px 8px 0;
}

.breadcrumb li:after {content: "\003e"; padding-left: 8px;}
.breadcrumb li:last-child:after {content: ""; padding-left: 0px;}
.breadcrumb .mark:after {content: "｜"; padding-left: 0;}
.breadcrumb .mark {padding: 8px 2px 8px 0;}

.breadcrumb a:link {color: #E4007F; text-decoration: none;}
.breadcrumb a:visited {color: #E4007F; text-decoration: none;}
.breadcrumb a:hover {color: #E4007F; text-decoration: underline;}
.breadcrumb a:active {color: #E4007F; text-decoration: underline;}

@media (min-width:768px) and (max-width: 980px) {
	.breadcrumb .breadcrumb_inner {width: 95%;}
}

@media (max-width: 767px) {
	.breadcrumb {border-top: 1px #999 solid;}
	.breadcrumb .breadcrumb_inner {width: 95%;}
}

/*----------------------------------
レスポンシブル　画像表示
---------------------------------- */
.pc {display: inline-block !important; }
.sp {display: none !important; }
.pc_block {display: block !important; }
.sp_block {display: none !important; }
 
@media screen and (max-width: 767px) {
	.pc {display: none !important; }
	.sp {display: inline-block !important;}
	.pc_block {display: none !important;}
	.sp_block {display: block !important;}
}

.br {display: inline-block !important;}
.br_pc {display: inline-block !important; }
.br_sp {display: none !important; }
 
@media screen and (max-width: 525px) {
	.br {display: inline-block !important;}
	.br_pc {display: none !important; }
	.br_sp {display: inline-block !important;}
}

/*----------------------------------
レスポンシブル　TELリンク
---------------------------------- */
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*----------------------------------
ボタン基本
---------------------------------- */
.btn {
	position: relative;
	width: 180px;
	margin: 8px auto 0;
	background: #666;
	font-size: 13px;
	text-align: center;
	border: 2px #DDD solid;
	color: #fff;
	white-space: nowrap;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	box-shadow: 1px 1px 2px #999;
}

.btn a {display: block; padding: 7px 0 7px 15px;}
.btn i {position: absolute; top: 4px; left: 15px; font-size: 20px; color: #fff;}
.btn a:link, .btn a:visited, .btn a:hover, .btn a:active {color: #fff; text-decoration: none;}
.btn:hover {opacity: 0.85;}

/*----------------------------------
フッター
---------------------------------- */
.footer {width: 100%; position: relative;}

.footer_menu {
	width: 100%;
	padding: 9px 0;
	background: #e4007f;
	text-align: center;
	font-size: 11px;
	color: #FFF;
}

.footer_menu li {padding: 0 15px; border-left: 1px #fff solid;}
.footer_menu li:last-child {border-right: 1px #fff solid;}

.inline {text-align: center;}
.inline li {display: inline;}

.footer_menu li a:link {color: #fff; text-decoration: none;}
.footer_menu li a:visited {color: #fff; text-decoration: none;}
.footer_menu li a:hover {color: #fcc; text-decoration: none;}
.footer_menu li a:active {color: #fcc; text-decoration: none;}

@media (max-width:767px) {
	.footer_menu {padding: 0; background: #e8e8dc;}

	.footer_menu li {
		float: left;
		width: 50%;
		box-sizing: border-box;
		text-align: left;
		padding: 0 0 0 20px;
		border: 0px;
		border-bottom: 1px #fff solid;
	}
	
	.footer_menu li:nth-child(odd) {border-right: 1px #fff solid;}
	.footer_menu li:last-child {border-bottom: 0px;}
	
	.footer_menu li:hover {background: #f3f3ed;}
	.footer_menu li a {display: block; padding: 8px 0;}
	.footer_menu li a:link, .footer_menu li a:visited {color: #555;}
	.footer_menu li a:hover, .footer_menu li a:active {color: #E4007F;}
}

/*----------------------------------
フッター　ページTOPへ戻る
---------------------------------- */
.bt_pageTop {position: fixed; bottom: 20px; right: 20px;}
.bt_pageTop i {padding-top: 7px; font-size: 20px;}

.bt_pageTop a {
	display: block;
  z-index: 999;
  padding: 0;
	border: 2px #fff solid;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;
  border-radius: 40px;
  width: 40px;
  height: 40px;
  background: #000;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
	box-shadow: 0px 0px 4px #E4007F;
}
.bt_pageTop a:hover {background: #555;}

.copyright {
	padding: 8px 0;
	font-size: 11px;
	text-align: center;
}

/*----------------------------------
言語
---------------------------------- */
.cn {
    font-family : "Microsoft Yahei", "微软雅黑",'SimSun', sans-serif;
}

/*----------------------------------
テキストリンク
---------------------------------- */
a:link {
	color: #E4007F;
	text-decoration: none;
}

a:visited {
	color: #E4007F;
	text-decoration: none;
}

a:hover {
	color: #E4007F;
	text-decoration: underline;
}

/*----------------------------------
エフェクト
---------------------------------- */
.fadeup {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein-up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}

@media (max-width:767px) {
  .border {height: 250px;}
  .year_num {padding-top: 0px;}
  .main_topics {font-size: 20px;}
  .main_topics .brsp {padding: 0 0;}
  .txt_area {font-size: 14px;}
  .cont2003 {margin: 30px auto 80px;}
  .area2003 {background: none;}
  .cont2003 .tesshyu_photo {display: block; text-align: center;}
  .cont2003 .tesshyu_photo img {width: 90%; max-width: 364px; height: auto;}
  
  @keyframes border_anim {
	0%{
		height: 0px;
	}
	100%{
		height: 250px;
	}
}
}

/*----------------------------------
文字
---------------------------------- */
.cnt {text-align: center;}
.pink {color: #E4007F;}
.black {color: #333;}
.bold {font-weight: bold;}
.txt11 {font-size: 11px;}
.txt12 {font-size: 12px;}
.pad_right15 {padding-right: 15px;}
.mrg_bottom30 {margin-bottom: 30px;}