@charset "utf-8";
/* CSS information
file name  : common_smp.css
style info : スマートフォン表示用style */

@media screen and (max-width: 736px){

/* ---------------------------------------------
   header
------------------------------------------------ */
.header_control {
	position: relative ;
	background-color: #fff ;
	border-bottom: 3px solid #3257ab ;
	padding: 11px 0 9px ;
}
.header_logo {
	width: 90px ;
	margin: 0 auto ;
}
.header_logo img {
	width: 100% ;
}
/* header メニューopen/closeボタン */
.header_nav_btn {
	position: absolute ;
	top: 14px ;
	right: 17px ;
	width: 26px ;
	cursor: pointer ;
}
.header_nav_btn_open {
	height: 25px ;
	background: url(/share/img/header_control_menu.png) 50% 100% no-repeat ;
	background-size: 100% auto ;
	border-top: 3px solid #3257ab ;
}
.header_nav_btn_open:before,
.header_nav_btn_open:after {
	content:"";
	position: absolute ;
	left: 0 ;
	display: block ;
	width: 100% ;
	height: 3px ;
	background-color: #3257ab ;
}
.header_nav_btn_open:before { top:  7px ;}
.header_nav_btn_open:after  { top: 14px ;}

.header_nav_btn_close {
	display: none ;
	position: relative ;
	height: 28px ;
	background: url(/share/img/header_control_close.png) 50% 100%  no-repeat ;
	background-size: 100% auto ;
}
.header_nav_btn_close:before,
.header_nav_btn_close:after {
	content:"";
	position: absolute ;
	top: 0 ;
	left: 50% ;
	display: block ;
	height: 17px ;
	width: 2px ;
	margin-left: -1px ;
	background-color: #ccc ;
}
.header_nav_btn_close:before { transform: rotate(45deg) ; -webkit-transform: rotate(45deg);}
.header_nav_btn_close:after  { transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}

/* header プルダウンメニュー */
.header_nav {
	display: none ;
	font-size: 0.85rem ;
	border-bottom: 3px solid #ccc ;
}
.header_nav li {
	list-style-type: none ;
}
.header_nav a {
	position: relative ;
	display: block ;
	color: #555 ;
	text-decoration: none ;
	border-bottom: 1px dashed #b2b2b2 ;
	padding: 18px 60px 17px 15px ;
}
.header_nav a:before {
	content:"";
	position: absolute ;
	top: 50% ;
	right: 15px ;
	display: block ;
	height: 8px ;
	width: 8px ;
	margin-top: -5px ;
	border-top: 3px solid #ebd8aa ;
	border-right: 3px solid #ebd8aa ;
	transform         : rotate(45deg);
	-webkit-transform : rotate(45deg);
}
.header_nav_hap a {
	position: relative ;
	border-bottom: 1px solid #cccccc ;
}
.header_nav_hap a:before {
	display: none ;
}
.header_nav_hap .ico_other_link {
	position: absolute ;
	top: 50% ;
	right: 11px ;
	margin-top: -8px ;
}
/* menu下 とじる */
.header_nav_close_wrap {
	color: #555 ;
	text-align: center ;
	background-color: #f3f3f3 ;
	padding: 16px 0 15px ;
}
.header_nav_close_btn {
	position: relative ;
	display: inline-block ;
	height: 16px ;
	width: 16px ;
	vertical-align: bottom ;
	background-color: #fff ;
	border: 1px solid #ccc ;
	border-radius: 3px ;
	margin-right: 5px ;
}
.header_nav_close_btn:before,
.header_nav_close_btn:after {
	content:"";
	position: absolute ;
	top: 50% ;
	left: 7px ;
	display: block ;
	height: 10px ;
	width: 2px ;
	margin-top: -5px ;
	background-color: #ccc ;
}
.header_nav_close_btn:before { transform: rotate(45deg);  -webkit-transform: rotate(45deg);}
.header_nav_close_btn:after  { transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}

/* 21yeas logo */
.header_21years,
.header_anniversary-years {
	position: absolute ;
	top: 6px ;
	left: 10px ;
	width: 43px ;
	height: 43px ;
}
.header_21years img,
.header_anniversary-years img {
	width: 100% ;
	height: auto ;
}

/* ---------------------------------------------
   footer
------------------------------------------------ */
.footer {
	border-top: 3px solid #3257ab ;
	padding-bottom: 50px ;
}
/* footer nav menu */
.footer_nav_menu {
	width: 100% ;
	list-style-type: none ;
}
.footer_nav_menu:after{
	/* clearfix */
	content:"";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.footer_nav_menu li {
	float: left ;
	width: 50% ;
	border-bottom: 1px dashed #ccc ;
	box-sizing: border-box ;
}
.footer_nav_menu li:nth-child(even){
	border-left: 1px solid #ccc ;
}
.footer_nav_menu li:nth-child(7),
.footer_nav_menu li:nth-child(8){
	border-bottom: 1px solid #ccc ;
}
.footer_nav_menu a {
	position: relative ;
	display: block ;
	color: #333 ;
	font-size: 0.75rem ;
	text-decoration: none ;
	padding: 20px 20px 20px 12px ;
}
.footer_nav_menu a:before {
	content:"";
	position: absolute ;
	top: 50% ;
	right: 13px ;
	display: block ;
	height: 8px ;
	width: 8px ;
	margin-top: -5px ;
	border-top: 2px solid #ebd8aa ;
	border-right: 2px solid #ebd8aa ;
	transform         : rotate(45deg);
	-webkit-transform : rotate(45deg);
}
/* footer copyright */
.footer_copyright {
	text-align: center ;
	padding-top: 20px ;
}
.footer_copyright_corp a {
	color: #333 ;
	font-size: 0.8rem ;
	font-weight: bold ;
	text-decoration: none ;
}
.footer_copyright_copy {
	color: #555 ;
	font-size: 0.5rem ;
	padding-top: 8px ;
}

/* ---------------------------------------------
   privacy
------------------------------------------------ */
.privacy {
	background-color: #fff ;
	zoom: 1 ;
}
.privacy:after,
.privacy_privacy:after,
.privacy_kousei:after,
.privacy_wfp:after {
	/* clearfix */
	content:"";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.privacy_privacy,
.privacy_kousei,
.privacy_wfp {
	position: relative ;
	border-bottom: 1px dashed #ccc ;
	padding: 18px 0 15px ;
}
.privacy_wfp {
	border-bottom: 0 ;
}
.privacy_certification_mark {
	position: absolute ;
	top: 50% ;
}
/* icon position */
.privacy_privacy .privacy_certification_mark { left: 19px ; margin-top: -21px ;}
.privacy_kousei .privacy_certification_mark  { left: 17px ; margin-top: -17px ;}
.privacy_wfp .privacy_certification_mark     { left: 14px ; margin-top: -14px ;}
/* icon size */
.privacy_certification_mark a {
	display: block ;
	margin: 0 auto ;
}
.privacy_certification_mark img {
	width: 100% ;
}
.privacy_privacy .privacy_certification_mark a  { width:  42px ;}
.privacy_kousei .privacy_certification_mark img { width:  45px ;}
.privacy_wfp .privacy_certification_mark a      { width: 105px ;}
/* privacy txt */
.privacy_sentence {
	position: relative ;
	padding-left: 80px ;
}
.privacy_wfp .privacy_sentence { padding-left: 135px ;}
.privacy_sentence_title {
	font-size: 0.8rem ;
}
.privacy_sentence_txt {
	font-size: 0.6rem ;
	line-height: 140% ;
	padding-top: 7px ;
}
.privacy_sentence_txt a {
	position: relative ;
	display: inline-block ;
	text-decoration: none ;
	margin-top: 7px ;
	padding-left: 10px ;
}
.privacy_sentence_txt a:before {
	content:"";
	position: absolute ;
	top: 50% ;
	left: 0 ;
	display: block ;
	height: 0 ;
	width: 0 ;
	margin-top: -4px ;
	border: 4px solid transparent ;
	border-left-color: #aaa ;
}

/* ---------------------------------------------
   contents
------------------------------------------------ */
.contents_article {
	border-top: 4px solid #3257ab ;
	padding-bottom: 30px ;
	margin: 10px ;
}
/* contents title --------------- */
.contents_title {
	position: relative ;
	line-height: 140%;
	font-size: 1.3rem ;
	font-weight: bold ;
	text-align: center ;
	border-bottom: 3px solid #dee5e9 ;
	padding: 25px 0 8px ;
	margin-bottom: 10px ;
}
/* contents title underline */
.contents_title:before {
	content:"";
	position: absolute ;
	bottom: -3px ;
	left: 50% ;
	display: block ;
	height: 3px ;
	width: 200px ;
	margin-left: -100px ;
	background-color: #3257ab ;
}
.contents_news .contents_title:before { width: 180px ; margin-left: -90px ;}

/* 一覧リンク */
.contents_link_arrow01 {
	border: 1px solid #e5d19f ;
	border-radius: 3px ;
	background-color: #fffaec ;
}
.contents_link_arrow01 a {
	position: relative ;
	display: block ;
	color: #333 ;
	font-size: 0.9rem ;
	text-decoration: none ;
	padding: 15px 40px 15px 20px ;
}
.contents_link_arrow01 a:after {
	content:"";
	position: absolute ;
	top: 50% ;
	right: 15px ;
	display: block ;
	height: 8px ;
	width: 8px ;
	margin-top: -5px ;
	border-top  : 3px solid #ebd8aa ;
	border-right: 3px solid #ebd8aa ;
	transform         : rotate(45deg);
	-webkit-transform : rotate(45deg);
}
.contents_link_arrow02 a {
	position: relative ;
	display: block ;
	color: #333 ;
	font-weight: bold ;
	text-decoration: none ;
	background-color: #fff ;
	padding: 20px 35px 18px 15px ;
	border: 1px solid #e0ca92 ;
	border-radius: 3px ;
}
.contents_link_arrow02 a:before {
	content:"";
	position: absolute ;
	top: 50% ;
	right: 13px;
	display: block ;
	height: 8px;
	width: 8px;
	margin-top: -5px;
	border-top  : 2px solid #e4c77e;
	border-right: 2px solid #e4c77e;
	transform        : rotate(45deg);
	-webkit-transform: rotate(45deg);
}

/* TOPお知らせ */
.special_newscast {
	width: 85% ;
	max-width: 960px ;
	border: 2px solid #dee5e9 ;
	padding: 20px 15px 15px ;
	margin: 30px auto ;
}
.special_newscast_title {
	font-size: 1.1rem ;
	position: relative ;
	border-bottom: 2px solid #dee5e9 ;
	padding-bottom: 8px ;
	margin-bottom: 15px ;
}
.special_newscast_title:after {
	content:"";
	position: absolute ;
	bottom: -2px ;
	left: 0 ;
	display: block ;
	width: 70% ;
	height: 2px ;
	background-color: #e24444 ;
}
.special_newscast_txt {
	font-size: 0.9rem ;
	line-height: 1.3rem ;
}
.special_newscast_txt strong {
	font-size: 1rem ;
}

/*---------------------------------
 ページTOPへボタンの実装 2017/11/13
-----------------------------------*/

.page_top_botton{
	display:none;
	width:40px;
	height:40px;
	position:fixed;
	right:25px;
	bottom:40px;
}


.page_top_botton img{
	width:100%;
	height:100%;
	filter:alpha(opacity=1);
	-moz-opacity: 1.0;
	opacity: 1.0;
}


















}
