@charset "utf-8";

/* float clear */
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom: 1;
}
/* ページ内目次 */
#sp_page_index_link_wrap {
	display: none;
}

/* スマホ用メニュー */
.sp_button {
	display: none;
}

#spm_wrap {
	display: none;
}

#spm_sp {
	display: none;
	width: auto;
	height: auto;
	margin: 10px 20px;
	padding: 20px 100px;
	border-radius: 20px;
	background: rgba(0,0,0,0.75);
	z-index: 100;
	color: #FFFFFF;
	font-weight: bold;
	font-size: 1.6rem;
	border: none;
	text-align: left;
}

/* レスポンシブアコーディオン用 */
.acc_title + input {
	display: none;
}
.acc_icon {
	display: none;
}

.acc_title{
	padding: 0 !important;
}
.acc_title > label,.sidebar1_b{
	display: block;
	padding: 12px 0;
	position: relative;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.2em;
}
.acc_title > label{
	cursor: pointer;
}
.acc_title > label:before{
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border: 2px solid #8c1125;
	border-left: none;
	border-bottom: none;
	position: absolute;
	right: 5px;
	top: 50%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-transform: translateY(-50%) rotate(-45deg) ;
	        transform: translateY(-50%) rotate(-45deg) ;
}
.acc_title.acc_open > label:before{
	-webkit-transform: translateY(-50%) rotate(135deg);
	        transform: translateY(-50%) rotate(135deg);

}
.acc_title + input + *{
	display: none;
}
.acc_title + input:checked + *{
	display: block;
}


body {
	margin: 0;
	padding: 0;
	border: 0; /* 旧IE対応 */
	text-align: center;
	min-width: 960px; /* 可変ブラウザの最小 */
	background: #FFFFFF;
	font-size: 1.4rem;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "ＭＳ ゴシック", sans-serif ;
	line-height: 1.4em;
}
#container {
	width: auto;
	height: auto;
	text-align: left;
	margin: 0 auto;
	padding: 0;
/*	float: left;*/
	/* background: url(/img/header_bg1.png) repeat-x left top; */
}

/* リンク色を隠す */
.img_b {
	vertical-align: top;
	border: none;
}

/* 隠す */
.hide {
	position: absolute;
	left: -100em;
	top: -100em;
}

/* ヘッダーココから */
#header {
	clear: both;
	margin: 0;
	padding: 0;
	width: auto;
	height: auto;
	border-top: 8px solid #8c1125;
}
#header2 {
	clear: left;
	position: relative;
	width: 960px;
	height: 125px;
	margin: 0 auto;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	font-size: 1.2rem;
}
#he_left {
	/* position: absolute; */
	z-index: 10;
	/* top: -webkit-calc(50% - 31px); */
	/* top: calc(50% - 31px); */
	/* left: 0; */
	width: 243px;
	/* height: 62px; */
}
#he_left p {
	margin: 0;
	padding: 0;
}
#he_right {
	position: relative;
	text-align: right;
	/* height: 125px; */
}
#he_right_a {
	/*! position: absolute; */
	right: 0;
	top: 4px;
	text-align: right;
}
.header_nav {
	margin: 15px 0;
	padding: 0;
}
.header_nav > ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-table;
	vertical-align: middle;
}
.header_nav > ul > li {
	display: table-cell;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	padding-left: 15px;
}
.header_nav > ul >li dl{
	display: table;
	margin: 0;
}
.header_nav > ul > li dl dt,.header_nav > ul > li dl dd{
	display: table-cell;
	vertical-align: middle;
	padding: 0;
	padding-right: 4px;
}
.header_nav > ul > li dl dt{
	padding-right: 10px
}
.header_nav > ul > li#haikei_color a {
	display: block;
	width: 15px;
	height: 15px;
	border: 1px solid #ccc;
	border-radius: 50%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.header_nav > ul > li#haikei_color a#haikei_white {
	background-color: #fff;
}
.header_nav > ul > li#haikei_color #haikei_black {
	background-color: #000;
}
.header_nav > ul > li#haikei_color #haikei_blue {
	background-color: #00f;
}
.header_nav > ul > li#moji_size span {}

a#moji_default {
	font-size: 1.2rem;
}

li#moji_size a {
	display: block;
	outline: 1px solid rgba(0,0,0,0.5);
	line-height: 1em;
	padding: 4px 6px;
	margin: 0 3px;
}


li a#moji_large {
	font-size: 1.4rem;
	/* border-width: 2px; */
	outline-width: 2px;
}


li#select_lang ul{
	display: block;
	margin: 0;
	padding: 0;
	padding-left: 15px;
	background: url(/img/icon_foreign.png) no-repeat left center;
}
li#select_lang li{
	display: inline-block;
	margin: 0;
	padding: 0;
}

li#select_lang li a {
	display: block;
	border-left: 1px solid rgba(0,0,0,0.5);
	padding: 0 5px;
}

li#select_lang li:first-child a {
	border-left: none;
}

.header_nav:nth-child(2) > ul > li a{
	display: block;
	padding-left: 15px;
	position: relative;
}
.header_nav:nth-child(2) > ul > li a:before{
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border: 1px solid #8c1125;
	border-left: none;
	border-bottom: none;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	position: absolute;
	left: 0;
	top: calc(50% - 4px)
}

/* ヘッダーココまで */

/*フッター*/
#footer {
	clear: both;
	margin: 0;
	padding: 0;
	padding-top: 50px;
	width: auto;
	height: auto;
	background: #8c1125;
	color: #fff;
}
#footer a,#footer a:link,#footer a:hover,#footer a:active,#footer a:visited,#footer a:focus{
	color: #fff;
}


#footer_sitemap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 960px;
	margin: 0px auto 40px;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
#footer_sitemap ul {
	width: 25%;
	margin: 0;
	padding: 0;
	list-style: none;
}
#footer_sitemap li {
	margin: 15px 0;
}
#footer_sitemap li a {
	display: inline-block;
	padding: 0;
	padding-left: 30px;
	position: relative;
}
#footer_sitemap li a:before{
	content: '>';
	display: inline-block;
	margin-right: 10px;
	font-size: 2rem;
	line-height: 1rem;
	-webkit-transform: scaleX(0.5);
	        transform: scaleX(0.5);
}


#copyright {
	clear: both;
	display: block;
	width: 960px;
	margin: 0 auto;
	padding: 1em 0;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.75);
}
/*フッターここまで*/

#content_box{
	background: url(/img/content_bg.png) repeat center top;
}

/* 3カラム */
#mymainback {
	clear: both;
	width: 960px;
	height: auto;
	float: none;
	margin: 0 auto;
	/* line-height: 1.4em; */
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
#sidebar1 {
	width: 225px;
	position: relative;
	background: #fff;
	/* padding: 15px; */
	padding: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.sidebar1_box {
	width: auto;
}
#sidebar1 h2 {
	clear: both;
	font-size: 110%;
	margin: 0;
	padding: 12px;
}
#sidebar1 .soshiki_back {
	padding: 0;
	width: 100%;
}
#main {
	width: 715px;
	text-align: left;
	margin-top: 0;
	padding: 20px;
	position: relative;
	background: #fff;
	border: 2px solid rgb(240,240,240);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#main_a {
	z-index: 2;
}
#sidebar2 {
	width: 225px;
	position: relative;
	margin: 0;
	padding: 00;
}
#sidebar2 p {
	margin: 0;
	padding: 2px;
}
#sidebar2_top, #sidebar2_bottom img {
	display: none;
}
/* トップページ、詳細ページ（ここまで） */

/* パンくずナビここから */
#pankuzu_box{
	clear: both;
	width: 960px;
	height: auto;
	margin: 0 auto;
	padding: 0;
}
.pankuzu {
	clear: both;
	font-size: 90%;
	padding: 0.4em 0 0.4em 0px;
	margin: 0 0 6px;
	text-align: left;
	background: none;
}
/* パンくずナビここまで */

/* 印刷用アイコン */
#content_header {
	margin: 8px 0;
}
#print_mode_link {
	width: 12em;
	text-align: right;
	margin: 0 0 0 0;
	padding: 0 0 0 22px;
	background: url(/img/print-icon.jpg) no-repeat left center;
	height: 1em;
}
#main #main_a #lifestage {
	margin: 0;
	padding: 0;
	text-align: center;
}
#main #main_a #lifestage h2 {
	text-align: left;
}
#main #main_a #lifestage ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#main #main_a #lifestage ul li {
	display: inline-block;
	width: 120px;
	height: 90px;
	background: url(/img/lifestage/lifestage_bg.png) repeat-x left top #ffffff;
	border: 1px solid #cccccc;
	border-left: none;
}
#main #main_a #lifestage ul li:first-child {
	border-left: 1px solid #cccccc;
}
#main #main_a #lifestage ul li:hover {
	background-position: left bottom;
}