@charset "UTF-8";
/* CSS Document */

/* -------------------------------------------
	レイアウト
---------------------------------------------- */
#contents_wrap { font-size: 116.6%; }
#contents_wrap .pagetop { font-size: 85.7%; }

@media only screen and (max-width: 767px) {
	#contents_wrap { font-size: 100%; }
	#contents_wrap .pagetop { font-size: 100%; }
}


/* -------------------------------------------
	パーツ
---------------------------------------------- */
.bg_wrap { background-color: #f6f6f6; }
a.button { display: block; width: auto; padding: 12px 5px 10px; background-color: #fff; border: 1px solid #522f91; font-size: 100%; color: #522f91; }
a.button:hover { background-color: #faf7ff; }
.button .arr { background-image: url(../img/arr.png); margin: 0; }

.border_title { position: relative; text-align: center; }
.border_title:before { position: absolute; content: ""; top: 50%; left: 0;  width: 100%; border-top: 1px solid #d9d9d9; z-index: 0; }
.border_title span { position: relative; display: inline-block; padding: 0 65px; background-color: #fff; z-index: 1; }
.border_title span.sp_only { display: none; }
.bg_wrap .border_title span { background-color: #f6f6f6; }
.border_title img { max-width: 100%; vertical-align: bottom; }

#contents_wrap .return_corner_top { margin-top: 50px; padding-top: 1em; border-top: 1px solid #e8e8e8; text-align: center; color: #64439c; }
#contents_wrap .return_corner_top a { display: inline-block; padding-left: 17px; background: url(../img/arr_back.png) no-repeat 0 47%; }

@media only screen and (max-width: 767px) {
	a.button { padding: 18px 0 15px; font-size: 100%; box-sizing: }
	.button .arr { background-image: url(../img/arr_x2.png); background-size: 6px auto; }

	.border_title:before { display: none; }
	.border_title span { padding: 0; background: none; }
	.border_title span.pc_only { display: none; }
	.border_title span.sp_only { display: block; }

	#contents_wrap .return_corner_top { margin-top: 30px; padding: 1em 20px 40px; text-align: left; }
	#contents_wrap .return_corner_top a { padding-left: 17px; background: url(../img/arr_back_x2.png) no-repeat 0 47%; background-size: 14px auto; }
	#contents_wrap .return_corner_top a .sp_only { display: inline-block; }
}


/* -------------------------------------------
	扉
---------------------------------------------- */
#top_contents { padding: 37px 0 45px; }
#top_contents .border_title { margin-bottom: 1.5em; }
#top_contents .border_title span { padding: 0 20px; }
#top_contents .top_lead { text-align: center; }

#top_contents #top_products { margin-top: 2.35em; }
#top_contents #top_products .product_item { float: left; width: 24.592%; max-width: 241px; margin-left: 0.51%; padding: 1.75em 0 26px; background-color: #fff; text-align: center; }
#top_contents #top_products .product_item:first-child { margin-left: 0; }
#top_contents #top_products .product_item .text { margin-bottom: 0.5em; padding: 0 15px; font-weight: bold; color: #522f91; }
#top_contents #top_products .product_item .thumb { margin-bottom: 5px; padding: 0 21px; }
#top_contents #top_products .product_item .thumb img { max-width: 100%; vertical-align: bottom; }
#top_contents #top_products .product_item .label { margin-bottom: 1em; }
#top_contents #top_products .product_item .label span { display: block; margin-bottom: 0.5em; padding: 0 10px; font-size: 142.9%; font-weight: bold; }
#top_contents #top_products .product_item .link { padding: 0 24px; }

@media only screen and (max-width: 767px) {
	#top_contents { padding: 16px 0 40px; }
	#top_contents .top_lead { margin: 0 20px; text-align: left; }

	#top_contents #top_products { margin-top: 1.35em; }
	#top_contents #top_products .product_item { float: none; width: auto; max-width: inherit; margin: 20px 20px 0; padding: 1.75em 0 26px; }
	#top_contents #top_products .product_item:first-child { margin: 0 20px; }
	#top_contents #top_products .product_item .text { margin-bottom: 1.75em; padding: 0 15px; }
	#top_contents #top_products .product_item .thumb { margin-bottom: 1.35em; padding: 0 16px; }
	#top_contents #top_products .product_item .thumb img { max-width: 248px; }
	#top_contents #top_products .product_item .label { margin-bottom: 1.35em; }
	#top_contents #top_products .product_item .label span { font-size: 128.5%; }
	#top_contents #top_products .product_item .link { padding: 0 15px; }
	#top_contents #top_products .product_item .link .button { display: inline-block; padding: 8px 20px; }
}


/* -------------------------------------------
	タブ
---------------------------------------------- */
.page_nav.head { padding: 40px 0 50px; }
.page_nav.bottom { padding: 50px 0 0; }
.page_nav ul { display: table; width: 100%; }
.page_nav li { display: table-cell; width: 25%; vertical-align: top; }
.page_nav li a,
.page_nav li span { display: table-cell; width: 20%; padding: 0.65em 5px 0.5em; font-weight: bold; text-align: center; vertical-align: middle; }
.page_nav li a { background-color: #fff; border: 1px solid #d4d4d5; color: #333; }
.page_nav li a:hover { background-color: #faf7ff; }
.page_nav li span { position: relative; background-color: #522f91; border: 1px solid #522f91; color: #fff; }
.page_nav li + li a,
.page_nav li + li span { border-left: none; }
.page_nav.head li span:before { position: absolute; bottom: -13px; left: 50%; content: ""; display: block; width: 14px; height: 12px; margin-left: -7px; background: url(../img/bg_tab_nav.png) no-repeat; }

@media only screen and (max-width: 767px) {
	.page_nav.head { padding: 22px 20px 34px; }
	.page_nav.bottom { padding: 40px 0 10px; }
	.page_nav.head li span:before { bottom: -11px; width: 13px; height: 11px; background: url(../img/bg_tab_nav_x2.png) no-repeat; background-size: 13px auto; }
}

/* -------------------------------------------
	記事
---------------------------------------------- */
#head_wrap { padding-bottom: 55px; }
#head_wrap .border_title { margin-bottom: 3.5em; }
#head_wrap .product_thumb { float: right; width: 42.86%; max-width: 420px; text-align: right; box-sizing: border-box !important; -moz-box-sizing: border-box !important; -webkit-box-sizing: border-box !important; }
#head_wrap .product_thumb img { width: 100%; }
.report1 #head_wrap .product_thumb { padding: 60px 2.65% 0 2.75%; }
.report2 #head_wrap .product_thumb { padding: 0 5% 0 5.71%; }
.report3 #head_wrap .product_thumb { padding: 18px 9.08% 0 9.69%; }
.report4 #head_wrap .product_thumb { padding: 78px 3.47% 0 2.86%; }
#head_wrap .head_text { float: left; width: 54.1%; max-width: 530px; }
#head_wrap .head_text .head_catch { margin-bottom: 1em; font-size: 142.8%; font-weight: bold; }
#head_wrap .head_text .note_list { margin-top: 0.75em; font-size: 85.7%; line-height: 1.34; }
#head_wrap .head_text .link_product { margin-top: 2.35em; margin-bottom: -10px; }
#head_wrap .head_text .note_list + .link_product { margin-top: 1.35em; }
#head_wrap .head_text .link_product a { display: inline-block; margin: 0 10px 10px 0; padding-left: 20px; padding-right: 20px; }

#article_wrap { padding-top: 64px; }
#article_wrap #main_article { padding-bottom: 50px; border-bottom: 1px solid #dadada; }
#article_wrap #main_article .wrap + .wrap { margin-top: 65px; }
#article_wrap .col_left { float: left; }
#article_wrap .col_right { float: right; }
#article_wrap #main_article .article { width: 59.19%; max-width: 580px; }
#article_wrap #main_article .article p { margin-bottom: 2.75em; }
#article_wrap #main_article .article p.last { margin-bottom: 0; }
#article_wrap #main_article .article p em { font-weight: bold; color: #522f91; }
#article_wrap #main_article .col_left.thumb { width: 33.27%; max-width: 326px; }
#article_wrap #main_article .col_right.thumb { width: 33.78%; max-width: 331px; }
#article_wrap .thumb img { max-width: 100%; vertical-align: bottom; }
#article_wrap #main_article .thumb .caption { margin-top: 0.5em; }
#article_wrap #main_article + .note_list { margin-top: 2em; font-size: 85.7%; line-height: 1.34; }
#article_wrap #main_article + .note_list dd + dt,
#article_wrap #main_article + .note_list dd + dt + dd { margin-top: 0.35em; }

#article_wrap #staff_memo { margin-top: 3.5em; padding: 29px; background: url(../img/bg_staff_memo.png); border: 3px solid #e7e7e7; }
#article_wrap #staff_memo .col_left { width: 58.96%; max-width: 540px; }
#article_wrap #staff_memo .col_right.thumb { width: 36.14%; max-width: 331px; }
#article_wrap #staff_memo .label { margin-bottom: 0.3em; font-weight: bold; color: #522f91; }
#article_wrap #staff_memo .label img { width: 14px; vertical-align: middle; margin: -3px 5px 0 0; }
#article_wrap #staff_memo .memo_title { margin-bottom: 0.75em; font-size: 142.8%; font-weight: bold; color: #522f91; }
.report4 #article_wrap #staff_memo { padding: 29px 41px 40px; }
.report4 #article_wrap #staff_memo .memo_title { margin-bottom: 1.5em; }
.report4 #article_wrap #staff_memo .memo_col { float: left; width: 21.64%; max-width: 193px; margin-left: 4.48%; }
.report4 #article_wrap #staff_memo .memo_title + .memo_col { margin-left: 0; }
.report4 #article_wrap #staff_memo .thumb { margin-bottom: 1.5em; text-align: center; }
.report4 #article_wrap #staff_memo .name { margin-bottom: 0.5em; text-align: center; font-size: 128.5%; font-weight: bold; }
.report4 #article_wrap #staff_memo .text { margin-bottom: 1.2em; }

@media only screen and (max-width: 767px) {
	#head_wrap { padding: 0 20px 35px; }
	#head_wrap .border_title { margin-bottom: 25px; }
	#head_wrap .product_thumb { float: none; width: 100%; max-width: inherit; text-align: center; }
	.report1 #head_wrap .product_thumb { padding: 20px 2.65% 10px 2.75%; }
	.report2 #head_wrap .product_thumb { padding: 0 5% 0 5.71%; }
	.report3 #head_wrap .product_thumb { padding: 8px 21.6% 0 21.6%; }
	.report4 #head_wrap .product_thumb { padding: 20px 5.02% 0 5.02%; }
	#head_wrap .head_text { float: none; width: 100%; max-width: inherit; margin-top: 30px; }
	#head_wrap .head_text .head_catch { font-size: 114.2%; }
	#head_wrap .head_text .link_product { margin-top: 2.35em; }
	#head_wrap .head_text .note_list + .link_product { margin-top: 1.75em; }
	#head_wrap .head_text .link_product a { display: block; margin: 0 0 10px; padding: 1em 10px; }

	#article_wrap { padding: 36px 20px 0; }
	#article_wrap #main_article { padding-bottom: 0.75em; }
	#article_wrap #main_article .wrap + .wrap { margin-top: 0; }
	#article_wrap .col_left,
	#article_wrap .col_right { float: none; }
	#article_wrap #main_article .article { width: 100%; max-width: inherit; }
	#article_wrap #main_article .article p { margin-bottom: 2em !important; }
	#article_wrap #main_article .thumb { text-align: center; margin-bottom: 2em !important; }
	#article_wrap #main_article .article + .col_right.thumb { margin-top: 0; }
	#article_wrap #main_article .col_left.thumb { width: 100%; max-width: inherit; }
	#article_wrap #main_article .col_right.thumb { width: 100%; max-width: inherit; }
	#article_wrap .thumb img { width: 100%; max-width: 280px; vertical-align: bottom; }

	#article_wrap #staff_memo { margin-top: 2em; padding: 1.35em 16px; background-size: 5px auto; }
	#article_wrap #staff_memo .col_left { width: 100%; max-width: inherit; }
	#article_wrap #staff_memo .col_right.thumb { width: 100%; max-width: inherit; margin-bottom: 1.35em; text-align: center; }
	#article_wrap #staff_memo .col_right.thumb img { max-width: 280px; }
	#article_wrap #staff_memo .label { margin-bottom: 0.5em; text-align: center; }
	#article_wrap #staff_memo .memo_title { margin-bottom: 1em; font-size: 114.2%; text-align: center; }
	.report4 #article_wrap #staff_memo { padding: 1.35em 16px; }
	.report4 #article_wrap #staff_memo .memo_col { float: none; width: 100%; max-width: inherit; margin: 45px 0 0; }
	.report4 #article_wrap #staff_memo .memo_title + .memo_col { margin: 0; }
	.report4 #article_wrap #staff_memo .thumb { margin-bottom: 1em; }
	.report4 #article_wrap #staff_memo .thumb img { max-width: 237px; }
	.report4 #article_wrap #staff_memo .name { margin-bottom: 1em; font-size: 114.3%; }
	.report4 #article_wrap #staff_memo .text { margin-bottom: 1.5em; }
	.report4 #article_wrap #staff_memo .link_product .button { padding: 14px 20px; }
}