@charset "utf-8";

body {
	margin: 0;
	font-size: 14px;
	font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	color: #333;
	background-color: #FFF;
	background-image: none;
}

p {
	line-height: 24px;
}

/* clearfix */

.clearfix {
	overflow: hidden;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

* html .clearfix {
	zoom: 1;
}

/* 画像透過 */

a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	background: #FFF;
}

/* float解除 */

.clear_both {
	clear: both;
}

/* 改行 */
.br-sp {
	display: none;
}

/* margin指定 */

.mt-10 {
	margin-top: 10px;
}

.mt-20 {
	margin-top: 20px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-50 {
	margin-top: 50px;
}

.left_margin {
	margin-right: 6px;
}

.mb_15 {
	margin-bottom: 15px;
}

.mb_20 {
	margin-bottom: 20px;
}

.mb_30 {
	margin-bottom: 30px;
}

.ml {
	margin-left: 40px;
}

/* テキスト装飾 */

.text_center {
	text-align: center;
}

.bold {
	font-weight: bold;
}

.bold_20 {
	font-weight: bold;
	font-size: 20px;
	color: #DC0067;
	margin-bottom: 15px;
}

.f_18 {
	font-size: 18px;
}

.p_price {
	font-size: 140%;
}

.red {
	color: #F00;
}

.green_bold {
	color: #209b87;
	font-size: 14px;
	font-weight: bold;
	margin-left: 15px;
}

.orange_bold {
	color: #F18C00;
	font-size: 16px;
	font-weight: bold;
}

.under {
	text-decoration: underline !important;
}

.marker {
	background-color: yellow;
}

/* リンク */

a:link {
	color: #333;
	text-decoration: none;
}

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

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

/* ページＴＯＰ帯・文字 */

.nsp-demo-site-label {
	width: 100%;
	min-height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 4px 16px;
	background: #bd1e2d;
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.2;
}

.head_line {
	width: 100%;
	background-color: black;
}

.head_line p {
	width: 950px;
	margin: 0 auto;
	padding: 4px 0;
	color: #eee;
	font-size: 11px;
	font-weight: bold;
}

h1 {
	font-family: "TBUDゴシック E", "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}

h1.title,
h2.post_title {
	width: 100%;
	height: 50px;
	box-sizing: border-box;
	border-radius: 5px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	padding-left: 50px;
	color: #fff;
	font-size: 21px;
	background-color: #209b87;
	background-image: url('../images/cmn/h1_back.png');
	background-repeat: no-repeat;
	background-position: 8px 12px !important;
}

h1#title_top {
	width: 720px;
	height: 40px;
	box-sizing: border-box;
	border-radius: 5px;
	margin: 0 auto 10px auto;
	display: flex;
	align-items: center;
	padding-left: 50px;
	color: #fff;
	font-size: 21px;
	background-color: #209b87;
	background-image: url('../images/cmn/h1_back.png');
	background-repeat: no-repeat;
	background-position: 7px 7px;
}


/*---------------------------------------
   #header
---------------------------------------*/

#header {
	width: 100%;
	height: 148px;
	background-image: url('../images/cmn/header_back.jpg');
	background-repeat: no-repeat;
	background-position: center top;
	text-align: center;
}

.logo {
	padding-top: 7px;
}

.logo_sp,
.menu_sp,
.tel_btn_sp,
.pure-container {
	display: none;
}

.go_contact {
	position: absolute;
	top: 60px;
	right: 2px;
}

.catch_copy {
	position: absolute;
	top: 108px;
	left: 0px;
	font-size: 14px;
	font-weight: bold;
	color: #000000;
}

/*
   #header end
-------------------------------------*/


/*-------------------------------------
   #nav_bg
-------------------------------------*/

#top_nav_sp {
	display: none;
}

#nav_bg {
	width: 100%;
	height: 50px;
	margin-top: 0;
	padding-top: 3px;
	padding-bottom: 3px;
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #C0C0C0;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #C0C0C0;
	background-color: #666;
}

#nav {
	width: 970px;
	height: 50px;
	margin: 0 auto;
	background-color: #666;
	transform: translate(-23px, 0);
}

#nav .clearfix {
	text-align: center;
}

#nav ul li a {
	display: block;
	width: 145px;
	height: 50px;
	margin: 0px;
	float: left;
	border-right-style: dotted;
	border-right-width: 1px;
	border-right-color: #C0C0C0;
}

#nav ul li a:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
	cursor: pointer;
}

#nav ul li a.gnav01 {
	width: 85px;
	height: 50px;
	margin: 0px;
	float: left;
	border-left-style: dotted;
	border-left-width: 1px;
	border-left-color: #C0C0C0;
	background-image: url('../images/cmn/gnav_btn1.png');
	background-repeat: no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

#nav ul li a.gnav02 {
	background-image: url('../images/cmn/gnav_btn3.png');
	background-repeat: no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

#nav ul li a.gnav03 {
	background-image: url('../images/cmn/gnav_btn8.png');
	background-repeat: no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

#nav ul li a.gnav04 {
	background-image: url('../images/cmn/gnav_btn4.png');
	background-repeat: no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

#nav ul li a.gnav05 {
	background-image: url('../images/cmn/gnav_btn5.png');
	background-repeat: no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

#nav ul li a.gnav06 {
	background-image: url('../images/cmn/gnav_btn9.png');
	background-repeat: no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

#nav ul li a.gnav07 {
	background-image: url('../images/cmn/gnav_btn7.png');
	background-repeat: no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

/*
   #nav_bg end
-------------------------------------*/


/*-------------------------------------
   #item_menu
-------------------------------------*/

#item_bg {
	width: 100%;
	height: 100px;
}

#item_menu {
	width: 970px;
	height: 110px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
	z-index: 999;
	transform: translate(-23px, 5px);
}

#item_menu .clearfix {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	text-align: center;
}

#item_menu ul.clearfix:after {
	display: none;
}

#item_menu ul li {
	display: block;
	float: none;
	width: auto;
	height: 51px;
	margin: 0px;
	padding-top: 15px;
	padding-left: 50px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #C0C0C0;
	border-right-style: solid;
	border-right-width: 1px;
	border-right-color: #C0C0C0;
	background-color: #eee;
	text-align: left;
	letter-spacing: -1px;
	box-sizing: border-box;
}

#item_menu ul li.double {
	padding-top: 10px;
	line-height: 110%;
}

#item_menu ul li a {
	color: #333333;
	font-size: 12px;
	font-weight: bold;
}

#item_menu ul li a:hover {
	text-decoration: underline;
}

#item_sp,
#itemmenu_sp {
	display: none;
}

/*　アイテムメニュー画像設定　*/

/*　基本設定
 *　	padding-top: 15px;
 *　	padding-left: 50px;
 */

/*　アイテム固定ページ上部画像設定　*/
.item_topimg {
  text-align: center;
}

/*　クラスＴシャツ　*/
#item_menu ul li.menu01 {
	border-top: solid 1px #C0C0C0;
	border-left: solid 1px #C0C0C0;
	border-top-left-radius: 5px;
	background-position: 15px 4px;
	background-image: url('../images/cmn/item_menu01.png');
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-left: 60px;
}

/*　Ｔシャツ　*/
#item_menu ul li.menu02 {
	border-top: solid 1px #C0C0C0;
	background-position: 15px 5px;
	background-image: url('../images/cmn/item_menu02.png');
	background-repeat: no-repeat;
	padding-left: 55px;
}

/*　ロングＴシャツ　*/
#item_menu ul li.menu03 {
	border-top: solid 1px #C0C0C0;
	background-position: 15px 6px;
	background-image: url('../images/cmn/item_menu03.png');
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-left: 60px;
}

/*　ポロシャツ　*/
#item_menu ul li.menu04 {
	border-top: solid 1px #C0C0C0;
	background-position: 10px 5px;
	background-image: url('../images/cmn/item_menu04.png');
	background-repeat: no-repeat;
}

/*　スウェット・パーカー　*/
#item_menu ul li.menu05 {
	border-top: solid 1px #C0C0C0;
	background-position: 10px 2px;
	background-image: url('../images/cmn/item_menu05.png');
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-left: 55px;
}

/*　スポーツ　*/
#item_menu ul li.menu06 {
	border-top: solid 1px #C0C0C0;
	background-position: 15px 5px;
	background-image: url('../images/cmn/item_menu06.png');
	background-repeat: no-repeat;
	padding-left: 60px;
}

/*　ブルゾン　*/
#item_menu ul li.menu07 {
	border-top: solid 1px #C0C0C0;
	border-top-right-radius: 5px;
	background-position: 15px 5px;
	background-image: url('../images/cmn/item_menu07.png');
	background-repeat: no-repeat;
	padding-left: 60px;
}

/*　レディース　*/
#item_menu ul li.menu08 {
	background-position: 10px 2px;
	background-image: url('../images/cmn/item_menu08.png');
	background-repeat: no-repeat;
}

/*　マスク　*/
#item_menu ul li.menu17 {
	border-left: solid 1px #C0C0C0;
	border-bottom-left-radius: 5px;
	background-position: 13px 5px;
	background-image: url('../images/cmn/item_menu17.png');
	background-repeat: no-repeat;
	padding-left: 65px;
	clear: both;
}

/*　バッグ　*/
#item_menu ul li.menu16 {
	border-left: solid 1px #C0C0C0;
	border-bottom-left-radius: 5px;
	background-position: 10px 0px;
	background-image: url('../images/cmn/item_menu12.png');
	background-repeat: no-repeat;
	padding-left: 60px;
}

/*　キッズ・ベビー　*/
#item_menu ul li.menu09 {
	background-position: 12px 2px;
	background-image: url('../images/cmn/item_menu09.png');
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-left: 60px;
}

/*　キャップ　*/
#item_menu ul li.menu10 {
	background-position: 10px 5px;
	background-image: url('../images/cmn/item_menu10.png');
	background-repeat: no-repeat;
	padding-left: 58px;
}

/*　タオル　*/
#item_menu ul li.menu15 {
	background-position: 10px -1px;
	background-image: url('../images/cmn/item_menu15.png');
	background-repeat: no-repeat;
	padding-left: 65px;
}

/*　エプロン　*/
#item_menu ul li.menu11 {
	background-position: 7px -1px;
	background-image: url('../images/cmn/item_menu11.png');
	background-repeat: no-repeat;
	padding-left: 52px;
}

/*　アロハシャツ　*/
#item_menu ul li.menu12 {
	background-position: 12px 2px;
	background-image: url('../images/cmn/item_menu16.png');
	background-repeat: no-repeat;
	padding-left: 60px;
}

/*　ステッカー・その他　*/
#item_menu ul li.menu13 {
	border-right: solid 1px #C0C0C0;
	border-bottom-right-radius: 5px;
	background-position: 7px 2px;
	background-image: url('../images/cmn/item_menu13.png');
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-left: 55px;
}

/*　魚拓風加工・現在未使用　*/
#item_menu ul li.menu14 {
	width: 122px;
	border-right: solid 1px #C0C0C0;
	border-bottom-right-radius: 5px;
	background-position: 4px 13px;
	background-image: url('../images/cmn/item_menu14.png');
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-left: 70px;
	letter-spacing: 1px;
}

/*　アイテムメニュー画像設定　end */

/*
   #item_menu end
---------------------------------------*/


/*---------------------------------------
   両翼追従バナー
---------------------------------------*/

#wing_bnr {
	position: absolute;
	width: 1300px;
	height: auto;
	top: 242px;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	-moz-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	display: flex;
	justify-content: space-between;
	z-index: 0;
	margin: 0 auto;
	padding: 0 10px;
}

#wing_bnr.fixed {
	position: fixed;
	top: 5px;
}

#shipping_free {
	width: 135px;
}

#empty {
	width: 970px;
}

#web_ps {
	width: 185px;
}

@media (max-width: 1100px) {
	#wing_bnr {
		display: none;
	}
}

/*
   両翼追従バナー end
---------------------------------------*/


/*---------------------------------------
   パンくず
---------------------------------------*/

#topic_path {
	width: 730px;
	height: 22px;
	background-image: url(../images/cmn/topicpath1_bg.jpg);
}

#topic_path p {
	padding-top: 1px;
	margin-left: 13px;
}

#topic_path_faq,
#topic_path_design,
#topic_path_how_to,
#topic_path_class,
#topic_path_company,
#topic_path_delivery,
#topic_path_estimate,
#topic_path_first,
#topic_path_print,
#topic_path_tie_up {
	height: 22px;
	margin-bottom: 15px;
}

#topic_path_faq,
#topic_path_class,
#topic_path_company {
	width: 169px;
	background: url(../images/cmn/topicpath_faq_bg.jpg) no-repeat;
}

#topic_path_design,
#topic_path_print {
	width: 251px;
	background: url(../images/cmn/topicpath_design_bg.jpg) no-repeat;
}

#topic_path_how_to,
#topic_path_delivery,
#topic_path_estimate,
#topic_path_first,
#topic_path_tie_up {
	width: 169px;
	background: url(../images/cmn/topicpath_faq_bg.jpg) no-repeat;
}

#topic_path_faq p,
#topic_path_design p,
#topic_path_how_to p,
#topic_path_class p,
#topic_path_company p,
#topic_path_delivery p,
#topic_path_estimate p,
#topic_path_first p,
#topic_path_print p,
#topic_path_tie_up p {
	padding-top: 2px;
	margin-left: 13px;
	font-size: 12px;
}

.topic1 a:link {
	color: #FFF;
	text-decoration: none;
}

.topic1 a:visited {
	color: #FFF;
	text-decoration: none;
}

.topic1 a:hover {
	color: #18BC9F;
	text-decoration: none;
}

.topic1 {
	font-weight: bold;
	color: #FFF;
}

.topic2 {
	color: #219a87;
	margin-left: 28px;
	font-weight: bold;
}

.topic2 a:link {
	color: #219a87;
	text-decoration: none;
}

.topic2 a:visited {
	color: #219a87;
	text-decoration: none;
}

.topic2 a:hover {
	color: #18BC9F;
	text-decoration: none;
}

/*
   パンくず end
---------------------------------------*/


/*---------------------------------------
   レフトナビ
---------------------------------------*/

/* レフトナビ上部 */
#left_sp {
	display: none;
}

#left {
	float: left;
	width: 200px;
	margin: 0 10px 40px 7px;
	position: relative;
}

#left .side_cont1 {
	width: 200px;
	padding-bottom: 0px;
}

#left .side_cont1 ul {
	text-align: center;
	padding-top: 0px;
}

#left .side_cont1 ul li {
	margin-bottom: 5px;
}

#left .side_cont1 ul li.side-product-search-item {
	width: 200px;
	margin-bottom: 5px;
	text-align: left;
}

#left .side-product-search {
	width: 200px;
	padding: 7px;
	border: 2px solid #169b88;
	background: #fff;
	box-sizing: border-box;
}

#left .side-product-search label {
	display: block;
	margin: 0 0 5px;
	color: #073553;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

#left .side-product-search-controls {
	display: flex;
	width: 100%;
	height: 32px;
}

#left .side-product-search input[type="search"] {
	min-width: 0;
	width: 128px;
	height: 32px;
	margin: 0;
	padding: 5px 7px;
	border: 1px solid #9aaeba;
	border-right: 0;
	border-radius: 0;
	background: #fff;
	color: #073553;
	font-family: inherit;
	font-size: 12px;
	line-height: 20px;
	box-sizing: border-box;
}

#left .side-product-search input[type="search"]:focus {
	position: relative;
	z-index: 1;
	border-color: #007f70;
	box-shadow: 0 0 0 2px rgba(22, 155, 136, 0.18);
	outline: 0;
}

#left .side-product-search button {
	width: 54px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 1px solid #007f70;
	border-radius: 0;
	background: #169b88;
	color: #fff;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 30px;
	cursor: pointer;
	box-sizing: border-box;
}

#left .side-product-search button:hover,
#left .side-product-search button:focus-visible {
	background: #007f70;
}

/* お問い合わせ */
#left .side_forms {
	width: 200px;
	margin-top: 15px;
	font-weight: normal;
	font-size: 14px;
	box-sizing: border-box;
}

#left .side_forms ul li a {
	display: block;
	width: 200px;
	height: 40px;
	box-sizing: border-box;
	padding: 10px 0 8px 40px;
	border-bottom: solid 1px #219a87;
}

#left .side_forms ul li a:hover {
	background-color: rgba(0, 0, 0, 0.1);
	text-decoration: none;
}

.forms_icon1 {
	background: url(../images/cmn/forms_icon1.png) no-repeat;
	background-position: 7px 13px;
}

.forms_icon2 {
	background: url(../images/cmn/forms_icon2.png) no-repeat;
}

.forms_icon3 {
	background: url(../images/cmn/forms_icon3.png) no-repeat;
	background-position: 6px 12px;
}

.forms_icon4 {
	background: url(../images/cmn/forms_icon4.png) no-repeat;
	background-position: 6px 13px;
}

.forms_icon5 {
	background: url(../images/cmn/forms_icon5.png) no-repeat;
	background-position: 6px 12px;
}

.forms_icon6 {
	background: url(../images/cmn/forms_icon5.png) no-repeat;
}

.forms_icon7 {
	background: url(../images/cmn/forms_icon7.png) no-repeat;
	background-position: 8px 8px;
}

.forms_icon8 {
	background: url(../images/cmn/forms_icon8.png) no-repeat;
	background-position: 8px 8px;
}

.forms_icon9 {
	background: url(../images/cmn/forms_icon9.png) no-repeat;
	background-position: 7px 10px;
}

/* アイテムから探す */
#left .side_item {
	width: 200px;
	margin-top: 25px;
	font-weight: normal;
	font-size: 14px;
	box-sizing: border-box;
}

#left .side_item ul li a {
	display: block;
	width: 200px;
	height: 40px;
	box-sizing: border-box;
	padding: 10px 0 8px 40px;
	border-bottom: solid 1px #219a87;
}

#left .side_item ul li a:hover {
	background-color: rgba(0, 0, 0, 0.1);
	text-decoration: none;
}

.item_icon2 {
	background: url(../images/cmn/item_photo02.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon3 {
	background: url(../images/cmn/item_photo03.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon4 {
	background: url(../images/cmn/item_photo04.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon5 {
	background: url(../images/cmn/item_photo05.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon6 {
	background: url(../images/cmn/item_photo06.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon7 {
	background: url(../images/cmn/item_photo07.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon8 {
	background: url(../images/cmn/item_photo08.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon9 {
	background: url(../images/cmn/item_photo09.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon10 {
	background: url(../images/cmn/item_photo10.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon11 {
	background: url(../images/cmn/item_photo11.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon12 {
	background: url(../images/cmn/item_photo12.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon13 {
	background: url(../images/cmn/item_photo13.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon14 {
	background: url(../images/cmn/item_photo14.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon15 {
	background: url(../images/cmn/item_photo15.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon16 {
	background: url(../images/cmn/item_photo16.png) no-repeat;
	background-position: 2px 4px;
}

.item_icon17 {
	background: url(../images/cmn/item_photo17.png) no-repeat;
	background-position: 2px 4px;
}

/* 利用シーンから探す */
#left .side_scene {
	width: 200px;
	margin-top: 25px;
	font-weight: normal;
	font-size: 14px;
	box-sizing: border-box;
}

#left .side_scene ul li a {
	display: block;
	width: 200px;
	height: 40px;
	box-sizing: border-box;
	padding: 10px 0 8px 40px;
	border-bottom: solid 1px #219a87;
	background: url(../images/cmn/side_scene_icon.png) no-repeat;
	background-position: 15px 12px;
}

#left .side_scene ul li a:hover {
	background-color: rgba(0, 0, 0, 0.1);
	text-decoration: none;
}

/* レフトナビ下部 */
#left .calendar {
	margin-top: 20px;
}

#left .side_banner {
	margin-top: 20px;
}

#left .side_banner ul li {
	margin-bottom: 5px;
}

#left .qr {
	margin-top: 20px;
}

/*
   レフトナビ end
-------------------------------------*/


/*-------------------------------------
   コンテンツ right部分
-------------------------------------*/

#right {
	float: right;
	width: 750px;
	position: relative;
	box-sizing: border-box;
}

#right p {
	margin: 0;
}

#right .cmn_contact {
	width: 720px;
	box-sizing: border-box;
	background-color: #fff;
	padding-bottom: 10px;
	border: 3px solid #219a87;
	margin: 30px 0;

}

#right .cmn_contact div,
#right .cmn_contact h3 {
	margin-bottom: 10px;
}

#right .cmn_contact .left {
	float: left;
	margin-left: 10px;
}

#right .cmn_contact .right {
	float: right;
	margin-right: 5px;
}

/*
   コンテンツ right部分 end
-------------------------------------*/


/*-------------------------------------
   #footer
-------------------------------------*/
#footer {
	width: 1100px;
	clear: both;
	padding: 10px 0;
	margin: 0 auto;
	font-size: small;
}

.to_top {
	width: 970px;
	text-align: right;
	margin: 15px auto;
	clear: both;
	transform: translate(-60px, 0);
}

.to_top a {
	outline: none;
}

.to_top2 {
	text-align: right;
	margin: 15px auto;
	padding-bottom: 5px;
	border-bottom: 1px dashed #CCC;
	clear: both;
}

.to_top3 {
	text-align: right;
	margin: 15px auto;
	clear: both;
}

.to_top2 a:hover,
.to_top3 a:hover {
	outline: none;
}

#footer_bg {
	width: 100%;
	clear: both;
	background-color: #333;
	margin-top: 1em;
	padding-top: 0;
	padding-bottom: 10px;
	background-image: url('../images/cmn/fotter_bg.jpg');
	background-repeat: no-repeat;
	background-position: center top;
}

.footer_nav {
	margin-left: 50px;
}

.footer_category {
	font-weight: bold;
	font-family: sans-serif;
	margin-top: 30px;
	margin-bottom: 0;
	margin-left: -25px;
	color: #fff;
	padding: 0 1em;
	border-left: solid 3px #fff
}

.footer_nav ul {
	text-align: left;
}

.footer_nav ul li {
	display: inline-block;
	width: 130px;
}

.footer_nav ul li.long {
	width: 260px;
}

.footer_nav ul li a {
	color: #ddd;
}

.footer_nav ul li a:before {
	content: "\025b8";
}


&#9654;

.footer_nav ul li a:hover {
	text-decoration: underline;
}

.footer_nav .footer_item {
	margin-bottom: 20px;
}

.footer_nav .footer_item li {
	display: inline-block;
	padding: 0 20px;
	margin-top: 10px;
}

.bottom_line {
	width: 100%;
	padding: 0.5em 1em;
	background-color: black;
	text-align: center;
	box-sizing: border-box;
	margin-bottom: 0;
}

.bottom_line p {
	color: #eee;
	font-size: 12px;
}

/*
   #footer end
-------------------------------------*/


/*-------------------------------------
   パンくずリスト
-------------------------------------*/

#breadcrumbsarea {
	width: 100%;
	margin-top: 5px;
	margin-bottom: 10px;
	color: #666;
	font-size: small;
	position: relative;
	z-index: 1;
	flex-direction: row-reverse;
	color: #666;
	font-weight: bold;
	text-align: right;
	display: none; /* 非表示に */
}

#breadcrumbsarea ol.breadcrumbs {
	display: flex;
	flex-direction: row;
	padding-right: 5px;
}

#breadcrumbsarea ol.breadcrumbs li:not(:first-child):before {
	content:"\00a0\03e\00a0";
}

/*
   パンくずリスト end
-------------------------------------*/

/*-------------------------------------
   #index_contents
   TOPページ
-------------------------------------*/
.content_wrap_index {
	width: 720px;
	padding-left: 10px;
	box-sizing: border-box;
	background-color: #fff;
}

h2.top {
	width: 720px;
	height: 40px;
	box-sizing: border-box;
}

.holiday_info {
	padding: 10px;
	border: thin solid #808080;
	line-height: 150%;
	font-weight: bold;
	text-decoration: blink;
	margin-bottom: 20px;
}

.top_bn_title {
	margin-top: 10px;
}

.top_bn_title img {
	margin-top: 10px;
}

img.top_bn_img {
	margin-bottom: 20px;
}

#main_contents {
	width: 970px;
	margin: 10px auto;
	transform: translate(-30px, 10px);
}

#main_contents #right .blueline_box {
	width: 720px;
	box-sizing: border-box;
	padding: 10px;
	border: 3px solid #219a87;
}

#main_contents #right .blueline_box p {
	font-size: small;
	text-align: justify;
	margin-top: 0.5em;
}

#main_contents #right .cont1 p.large,
#main_contents #right .blueline_box p.large {
	font-size: large;
	color: #219a87;
}

#main_contents #right .cont1 p.medium,
#main_contents #right .blueline_box p.medium {
	font-size: medium;
	color: #219a87;
}

#main_contents #right .cont1 p.bold {
	font-weight: bold;
	color: #219a87;
}

#main_contents #right .cont1 .left {
	float: left;
	width: 720px;
}

#main_contents #right .cont1 .right {
	float: right;
	margin-top: 35px;
}

#main_contents #right .search {
	width: 720px;
	box-sizing: border-box;
	background-color: #ddd;
	margin: 0 auto 20px auto;
	padding-bottom: 8px;
}

#main_contents #right .search ul li {
	width: 230px;
	box-sizing: border-box;
	float: left;
	margin: 8px 0 0 8px;
	background-color: #fff;
	padding-top: 10px;
	text-align: center;
}

.menu_icon1,
.menu_icon2,
.menu_icon3,
.menu_icon4,
.menu_icon5,
.menu_icon6,
.menu_icon7,
.menu_icon8,
.menu_icon9,
.menu_icon10,
.menu_icon11,
.menu_icon12 {
	font-size: 15px;
	line-height: 12px;
	text-align: center;
	margin: 5px;
	padding: 10px;
	border-bottom: solid 1px #333;
	font-family: "TBUDゴシック E", "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}

.menu_dcp {
	font-size: 12px;
	text-align: left;
	padding: 10px;
	text-align: justify;
}

.top_info {
	width: 720px;
	height: auto;
	border: solid 2px #219a87;
	box-sizing: border-box;
	overflow: auto;
	background-color: #eee;
	display: flex;
	flex-direction: row;
	justify-content: center;
}

.top_info_box {
	width: 250px;
	height: auto;
	float: left;
	margin: 10px;
}

.top_info_box img {
	padding-bottom: 5px;
}

/* TOP page columns */
.birth-column {
	width: 720px;
	margin: 18px 0 0;
	border: 2px solid #219a87;
	background: #fff;
	box-sizing: border-box;
	overflow: hidden;
}

.birth-column__heading {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 60px;
	padding: 10px 16px;
	background: #219a87;
	color: #fff;
	box-sizing: border-box;
}

.birth-column__heading-mark {
	flex: 0 0 auto;
	padding-right: 14px;
	border-right: 1px solid rgba(255, 255, 255, .48);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
}

.birth-column__heading h2 {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font-size: 25px;
	line-height: 1.25;
	letter-spacing: 0;
}

.birth-column__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	padding: 12px;
}

.birth-column__card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 1px solid #ccd9dc;
	background: #fff;
	color: #123044;
	text-decoration: none;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.birth-column__card:hover,
.birth-column__card:focus-visible {
	border-color: #219a87;
	box-shadow: 0 5px 14px rgba(13, 59, 71, .14);
	color: #123044;
	transform: translateY(-2px);
}

.birth-column__image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	overflow: hidden;
	background: #edf3f4;
}

.birth-column__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	object-fit: cover;
}

.birth-column__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 10px 11px 11px;
	box-sizing: border-box;
}

.birth-column__category {
	margin-bottom: 5px;
	color: #168372;
	font-size: 11px;
	font-weight: 700;
}

.birth-column__title {
	margin: 0;
	padding: 0;
	border: 0;
	color: #123044;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
}

.birth-column__more {
	margin-top: auto;
	padding-top: 9px;
	color: #168372;
	font-size: 12px;
	font-weight: 700;
	text-align: right;
}

.movie-wrap {
	position: relative;
	padding-bottom: 49.03%;
	/*縦横比*/
	height: 0;
	overflow: hidden;
	margin: 20px 0;
}

.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.nine_benefits {
	width: 720px;
	height: auto;
	border: solid 2px #219a87;
	box-sizing: border-box;
	overflow: auto;
	position: relative;
	margin-top: 20px;
}

.top_info_linkbtn a {
	position: absolute;
	top: 13px;
	left: 330px;
	display: block;
	outline: none;
	width: 150px;
	padding: 5px;
	background-color: #ff9900;
	color: #fff;
	border-radius: 5px;
	text-align: center;
}

.top_info_linkbtn a:hover {
	color: #000;
}

.nine_benefits_sp {
	display: none;
}

.to_delivery {
	width: 720px;
	height: auto;
	margin-bottom: 30px;
	margin-top: 5px;
	font-size: medium;
	text-align: right;
	font-weight: bold;
}

.to_delivery a {
	font-weight: normal;
	color: #333;
}

.to_delivery a:hover {
	text-decoration: underline;
}

.to_delivery_sp {
	display: none;
}

/*
   #index_contents
   TOPページ end
-------------------------------------*/


/*-------------------------------------
   .content_wrap
-------------------------------------*/
.content_wrap {
	padding: 10px;
	border: solid 1px #ccc;
	background-color: #fff;
}

/*
   #content_wrap end
-------------------------------------*/


/*---------------------------------------
   how_to_contents
   入稿方法
---------------------------------------*/

.how_to_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.how_to_contents .content_wrap .cont1 {
	box-sizing: border-box;
	padding: 0 20px;
}

.how_to_contents .content_wrap .cont1 h4 {
	margin: 30px 0 20px 0;
}

.how_to_contents .content_wrap .cont1 .ai,
.how_to_contents .content_wrap .cont1 .ps,
.how_to_contents .content_wrap .cont1 .other {
	padding-left: 20px;
	margin-top: 20px;
	font-size: 16px;
	font-weight: bold;
}

.how_to_contents .content_wrap .cont1 .ai {
	background: url(../images/howto/ai_icon.jpg) no-repeat 0px 5px;
}

.how_to_contents .content_wrap .cont1 .ps {
	background: url(../images/howto/ps_icon.jpg) no-repeat 0px 5px;
}

.how_to_contents .content_wrap .cont1 .other {
	background: url(../images/howto/other_icon.jpg) no-repeat 0px 5px;
}

.how_to_contents .content_wrap .cont1 ul {
	margin: 15px 0 0 30px;
}

.how_to_contents .content_wrap .cont1 h6 {
	margin-bottom: 20px;
	color: #F00;
	font-size: 20px;
	font-weight: bold;
}

.line_how_to {
	width: 720px;
	box-sizing: border-box;
	border-top: 1px dashed #CCC;
	margin: 40px auto;
}

.beginner_text h4 {
	margin-top: 30px;
}

/*
   #how_to_contents
   入稿方法 end
---------------------------------------*/

/*-------------------------------------
   class_contents
   クラスTシャツ
-------------------------------------*/

.class_lead {
	color: #000080;
	font-size: 21px;
	font-weight: bold;
	margin-top: 30px;
	line-height: 150%;
}

.class_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

h4 a:hover,
h4 a:active {
	outline: none;
}

.content_wrap #navi ul {
	width: 605px;
	box-sizing: border-box;
	margin: 20px auto;
}

.content_wrap #navi li {
	float: left;
	width: 111px;
	height: 157px;
	padding: 0 10px 0 0;
	margin: 0 0 10px 0;
}

.content_wrap #navi li a {
	display: block;
}

.content_wrap #navi li a img {
	max-width: 111px;
	max-height: 157px;
}

.content_wrap #navi li a:link {}

.content_wrap #navi li a:visited {}

.content_wrap #navi li a:hover {
	opacity: 0.8;
}

.content_wrap #navi li a:active {
	opacity: 0.8;
}

.content_wrap #navi li a:hover img {
	filter: alpha(opacity=80);
}

.content_wrap #photo {
	position: relative;
	width: 625px;
	height: 872px;
	box-sizing: border-box;
	padding: 15px;
	margin: 20px auto;
	background: #e9e9e9;
}

.content_wrap #photo img {
	position: absolute;
	top: 15px;
	left: 15px;
	display: block;
	width: 595px;
	height: 842px;
	object-fit: contain;
}

.create_point {
	padding: 15px;
	width: 605px;
	margin: 0 auto 30px auto;
	background-color: #EEE;
	border-radius: 10px;
	text-align: justify;
}

.create_point h2 {
	font-size: medium;
	font-weight: bold;
}

#classarea #gallery_contents {
	width: auto;
	margin: 50px auto 0 auto;
}

/*
   class_contents
   クラスTシャツ end
-------------------------------------*/


/*---------------------------------------
   first_contents
   初めての方
---------------------------------------*/

.first_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.beginner_text {
	font-size: 14px;
	margin: 30px 0 20px 20px;
}

.beginner_text p {
	margin-bottom: 15px;
}

.beginner_text h3 img {
	width: 600px;
	height: auto;
}

.beginner_text h4 {
	margin-top: 30px;
}

.link_btn a {
	display: block;
	outline: none;
	width: 150px;
	padding: 5px;
	background-color: #666666;
	color: #fff;
	border-radius: 5px;
	text-align: center;
}

.link_btn a:hover {
	background-color: #999999;
	color: #FFFF00;
}

/*
   first_contents
   初めての方 end
---------------------------------------*/


/*---------------------------------------
   design_contents
   デザイン集・フォントカラー
---------------------------------------*/
.design_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.design_contents .content_wrap .cont1 h4 {
	margin-top: 20px;
}

.design_menu ul {
	margin: 20px 1px;
}

.design_menu ul li {
	width: 232px;
	float: left;
	padding: 0px;
	margin: 0px;
}

#font_sample h3,
#color_sample h3,
#design_sample h3 {
	margin: 30px 0 10px 0;
}

#font_sample h4,
#color_sample h4,
#design_sample h4 {
	text-align: center;
	margin-top: 20px;
}

/*
   design_contents
   デザイン集・フォントカラー end
---------------------------------------*/


/*---------------------------------------
   print_contents
   プリント料金・プリント方法
---------------------------------------*/
.print_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.print_contents .content_wrap .cont1 h4 {
	margin-top: 20px;
}

.print_contents .content_wrap .cont1 ul {
	margin: 20px 0;
}

.print_contents .content_wrap .cont1 ul li {
	float: left;
	padding: 0px;
	margin: 0px;
}

.print_wrap {
	margin-top: 40px;
}

.print_wrap h3 {
	float: left;
	margin-left: 15px;
}

.print_box {
	width: 700px;
	box-sizing: border-box;
	padding: 20px;
	border: 1px solid #ccc;
	margin-left: 15px;
}

.price_table {
	width: 700px;
	margin: 30px auto;
}

.price_table table {
	border-collapse: collapse;
	font-size: 13px;
	width: 100%;
}

.price_table table tr th {
	width: 107px;
	height: 40px;
	padding: 0 5px;
	border: 1px solid #CCC;
	font-weight: normal;
	text-align: center;
}

.price_table table tr td {
	height: 40px;
	padding-left: 10px;
	border: 1px solid #CCC;
}

.price_table table tr.bg_color {
	background-color: #eee;
}

.price_table table tr td.p_price {
	font-size: 140%;
	text-align: center;
}

.good {
	color: #219a87;
	font-size: 18px;
	font-weight: bold;
}

.bad {
	color: #E9802C;
	font-size: 18px;
	font-weight: bold;
}

#fullcolor h3,
#silk h3 {
	margin: 30px 0 10px 0;
}

#inkjet {
	display: block;
	margin-top: 10px !important;
}

#inkjet h3 {
	margin: 10px 0;
}

#inkjet p,
#fullcolor p,
#silk p {
	margin-bottom: 20px;
}

.noutan {
	width: 660px;
	color: #000080;
	font-weight: bold;
}

.point_box {
	padding-top: 0px;
	margin: 20px 0 0 20px;
}

.circle_pink {
	color: #FF66FF;
}

.circle_navy {
	color: #000080;
}

.circle_green {
	color: #66cc00;
}

.circle_orange {
	color: #ff9900;
}

.print_menu ul {
	margin: 20px 1px;
}

.print_menu ul li {
	width: 232px;
	float: left;
	padding: 0px;
	margin: 0px;
}

.print_box ul {
	width: 100%;
	margin: 0;
}

.print_box ul li {
	width: 30%;
	float: left;
}

/*
   print_contents
   プリント料金・プリント方法 end
---------------------------------------*/


/*---------------------------------------
   tie_up_contents
   業務提携
---------------------------------------*/
.tie_up_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.tie_up_contents .content_wrap .cont1 {
	width: 720px;
	box-sizing: border-box;
	padding: 0 20px;
}

.tie_up_contents .content_wrap .cont1 .tie {
	margin-top: 30px !important;
	margin-left: 0 !important;
	font-size: 16px;
	font-weight: bold;
}

.tie_up_contents .content_wrap .cont1 ul {
	margin-top: 30px;
}

.tie_up_contents .content_wrap .cont1 ul li {
	display: block;
	width: 670px;
}

.merit {
	margin: 15px 0 10px 0;
	color: #F00;
	font-size: 18px;
	font-weight: bold;
}

/*
   tie_up_contents
   業務提携 end
---------------------------------------*/


/*---------------------------------------
   question_contents
   よくあるご質問
---------------------------------------*/
.question_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.question_contents .content_wrap .cont1 .text_box {
	width: 670px;
	box-sizing: border-box;
	text-align: justify;
	margin: 1em;
	padding: 1em;
}

.about1 a:link {
	color: #333;
	text-decoration: none;
}

.about1 a:visited {
	color: #333;
	text-decoration: none;
}

.about1 a:hover {
	color: #219a87;
	text-decoration: none;
}

.about1 {
	margin: 30px 20px 0 20px;
}

.about1 .box {
	padding-bottom: 15px;
	border-bottom: solid 1px #ccc;
	margin-bottom: 20px;
}

.about1 .box h3 {
	padding-left: 10px;
	border-left: 4px solid #FF9933;
	color: #219a87;
	font-size: 14px;
	font-weight: bold;
}

.about1 .box ul {
	margin: 20px 0 0 10px;
}

.about1 .box ul li {
	background: url(../images/faq/arrow_faq.jpg) no-repeat 0px 10px;
	padding-left: 10px;
	margin-left: 15px;
	line-height: 30px;
}

.about2 {
	margin-top: 40px;
}

.about2 h3 {
	width: 700px;
	box-sizing: border-box;
	padding: 5px 0 5px 20px;
	border-left: 4px solid #F0D836;
	background-color: #219a87;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	border-left-color: #FF9933;
}

.about2 .box {
	margin: 30px 20px 0 30px;
}

.about2 .box dl dt {
	float: left;
	width: 30px;
	clear: both;
	margin-bottom: 10px;
}

.about2 .box dl dd {
	padding-top: 2px;
	margin: 0 0 10px 30px;
}

/*
   question_contents
   よくあるご質問 end
---------------------------------------*/


/*---------------------------------------
   delivery_contents
   お届け日
---------------------------------------*/
.delivery_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.delivery_contents h2 {
	width: 100%;
	box-sizing: border-box;
	margin-top: 10px;
	padding: 5px 0 5px 20px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	background-color: #ff9933;
}

.delivery_contents .content_wrap ul {
	margin: 20px;
}

.delivery_contents .content_wrap ul li {
	display: 5p;
}

.deliver_cont_text {
	margin: 10px 0 0 0;
	font-size: 16px;
}

.deliver_box {
	width: 100%;
	box-sizing: border-box;
	padding: 20px;
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	border-left: 1px solid #CCC;
}

.deliver_box ul li {
	display: block;
	margin-left: -5px;
}

.del_texta {
	margin-bottom: 15px;
	font-size: 16px;
}

/*
   delivery_contents
   お届け日 end
---------------------------------------*/


/*---------------------------------------
   estimate_contents
   お見積り・ご注文
---------------------------------------*/

/* estimate_contact_01 */
.estimate_contents_01 {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.estimate_contents_01 .content_wrap .cont1 ul {
	margin: 20px 0;
}

.estimate_contents_01 .content_wrap .cont1 ul li {
	display: inline;
	padding-right: 0px;
}

/* #estimate_contact_02 */
#other_form {
	display: none;
}

#estimate_contact_02 h2,
#estimate_contact_02 h3,
#estimate_contact_02 h4,
#estimate_contact_02 h5,
#estimate_contact_02 h6 {
	position: relative;
	color: #FF6600;
	border-bottom: 1px solid #FF6600;
	margin: 1em 0 0.5em 0;
	margin-top: 1em;
	font-size: 1.2em;
	font-weight: bold;
}

#estimate_contact_02 h6 p {
	position: absolute;
	bottom: 0px;
	right: 0px;
	text-align: right;
}

#estimate_contact_02 p.att {
	font-size: 0.8em;
}

#estimate_contact_02 span.req {
	color: #FF0000;
}

#estimate_contact_02 table {
	width: 100%;
	border-collapse: collapse;
	font-size: inherit;
}

/* フォーム入力 */
.wpcf7-list-item {
	margin-right: 1em;
}

.wpcf7-list-item input {
	margin-right: 0.5em;
}

#estimate_contact_02 input[type=text],
#estimate_contact_02 input[type=email],
#estimate_contact_02 textarea,
#estimate_contact_02 select {
	width: 80%;
}

#estimate_contact_02 table th,
#estimate_contact_02 table td {
	padding: 0.2em 0.4em;
	text-align: left;
}

#estimate_contact_02 table th {
	vertical-align: top;
}

#estimate_contact_02 table.product th {
	padding-top: 0.6em;
	border-top: 1px dotted #CCC;
}

#estimate_contact_02 table.product th.top {
	padding-top: 0em;
	border-top-width: 0px;
}

#estimate_contact_02 table.product td {
	padding-bottom: 1em;
	vertical-align: top;
}


#estimate_contact_02 table.sheet {
	width: 500px;
	border-collapse: collapse;
	empty-cells: show;
}

#estimate_contact_02 table.sheet tr.title {
	background-color: #eee;
}

#estimate_contact_02 table.sheet th,
#estimate_contact_02 table.sheet td {
	border-collapse: collapse;
	border: 1px solid #CCC;
	font-size: small;
	padding: 0.5em 1em;
}

#estimate_contact_02 table.sheet th.left {
	width: 108px;
	padding: 1em;
}

#estimate_contact_02 table.sheet td input {
	width: 50px;
}

#estimate_contact_02 table.print {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 25px;
}

#estimate_contact_02 table.print tr.title {
	background-color: #eee;
}

#estimate_contact_02 table.print th,
#estimate_contact_02 table.print td {
	border: 1px solid #CCC;
	font-size: small;
	padding: 1em;
}

#estimate_contact_02 table.print th.left {
	width: 90px;
	padding: 1em;
}

#estimate_contact_02 table.print tr {
	border-bottom: 1px solid #CCC;
}

#estimate_contact_02 table.print tr.title th {
	width: 20%;
	text-align: center;
	background-color: #eee;
}

#estimate_contact_02 table.print td {
	text-align: center;
}

#estimate_contact_02 table.print tr.title td {
	width: 20%;
}

#estimate_contact_02 table.data td {
	width: 50%;
	vertical-align: top;
}

#estimate_contact_02 table.data td textarea {
	width: 100%;
	height: 6em;
	margin-top: 0.5em;
}

#estimate_contact_02 table.adding td textarea {
	width: 100%;
	height: 6em;
}

#estimate_contact_02 table th {
	width: 9em;
}

#estimate_contact_02 table.user td textarea {
	height: 6em;
}

#estimate_contact_02 .btn {
	margin: 4em 0 2em 0;
	text-align: center;
}

#estimate_contact_02 .btn input {
	padding: 0.3em 1em;
}

#form1 .data tr td textarea {
	color: #CCC;
}

span.delivery_date {
	display: inline-block;
	margin-left: 0.5em;
	color: red;
	font-size: medium;
	text-decoration: underline;
}

/*
   #estimate_contents
   お見積り・ご注文 end
---------------------------------------*/


/*---------------------------------------
   company_contents
   会社案内
---------------------------------------*/

.company_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
}

.company_contents .content_wrap p {
	margin-bottom: 1em;
}

.company_contents .content_wrap .cont1 .text_box {
	width: 670px;
	box-sizing: border-box;
	text-align: justify;
	margin: 1em;
	padding: 1em;
}

.company_contents .content_wrap table,
.company_contents .content_wrap table th,
.company_contents .content_wrap table td {
	border-collapse: collapse;
}

.company_contents .content_wrap table {
	margin: 30px 0;
}

.company_contents .content_wrap table th,
.company_contents .content_wrap table td {
	border: 1px solid #CCC;
	padding: 0.5em 1em;
	text-align: left;
}

.company_contents .content_wrap table th {
	width: 32%;
	vertical-align: top;
	background-color: #eee;
}

.company_contents .content_wrap table td ul li {
	list-style-type: disc;
	margin-left: 1em;
}

.company_contents .content_wrap table td dl dt {
	margin-top: 1em;
	font-weight: bold;
}

.company_contents .content_wrap table td dl dd {
	margin-left: 1em;
}

.company_contents .content_wrap p.center {
	text-align: center;
}

.company_contents .content_wrap dl.cap {
	margin-left: 50px;
}

/*
   company_contents
   会社案内 end
---------------------------------------*/


/*---------------------------------------
   #gallery_contents
   ギャラリー
---------------------------------------*/

#gallery_contents {
	width: 970px;
	box-sizing: border-box;
	position: relative;
	background-color: #fff;
}

/* 売れ筋ランキング */
#gallery_contents .ranking {
	margin-bottom: 40px;
}

#gallery_contents .ranking .nsp-gallery-ranking-details > summary {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	padding: 4px 0;
	border-top: 2px solid #138A74;
	border-bottom: 2px solid #138A74;
	margin-bottom: 20px;
	color: #138A74;
	text-align: center;
	cursor: pointer;
	list-style: none;
}

#gallery_contents .ranking .nsp-gallery-ranking-details > summary::-webkit-details-marker {
	display: none;
}

#gallery_contents .ranking .nsp-gallery-ranking-details > summary small {
	display: none;
}

#gallery_contents .ranking p {
	font-weight: bold;
	padding: 4px 0;
	border-top: 2px solid #138A74;
	border-bottom: 2px solid #138A74;
	margin-bottom: 20px;
	color: #138A74;
	text-align: center;
}

#gallery_contents .ranking .box_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

#gallery_contents .ranking .box {
	width: 111px;
	border: 1px solid #CCC;
	background-color: #fff;
}

#gallery_contents .ranking .box p {
	margin-bottom: 6px;
	text-align: center;
}

#gallery_contents .ranking .box a img {
	outline: 1px solid #CCC;
}

/* 商品一覧 */
#gallery_contents p {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

#gallery_contents .list {
	margin-bottom: 40px;
}

#gallery_contents .list .box_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

#gallery_contents .list .box {
	width: 234px;
	box-sizing: border-box;
	padding: 8px;
	border: 1px solid #CCC;
	background-color: #fff;
}

#gallery_contents .list .box.end {
	margin-right: 0;
}

#gallery_contents .list .box p.name {
	padding-bottom: 2px;
	border-bottom: 1px dotted #CCC;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: bold;
}

#gallery_contents .list .box p.img {
	outline: 1px solid #CCC;
	margin-bottom: 6px;
	text-align: center;
}

#gallery_contents .list .box p.img img {
	width: 210px;
}

#gallery_contents .list .box p.txt {
	padding-bottom: 2px;
	border-bottom: 1px dotted #CCC;
	margin-bottom: 6px;
	font-size: 12px;
}

#gallery_contents .list .box p.price {
	overflow: hidden;
	padding-bottom: 6px;
	border-bottom: 1px dotted #CCC;
	margin-bottom: 10px;
	color: #C32929;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	white-space: nowrap;
}

#gallery_contents .list .box span.birth_price {
	font-size: 12px;
	font-weight: normal;
}

#gallery_contents .list .box .nsp-gallery-price-value {
	display: inline-block;
	font-size: 13px;
	letter-spacing: 0;
	white-space: nowrap;
}

#gallery_contents .list .box .nsp-gallery-price-tax {
	display: inline-block;
	margin-left: 2px;
	font-size: 9px;
	line-height: 1.2;
	white-space: nowrap;
}

#gallery_contents .list .box p.details {
	text-align: center;
}

/* 商品下部カタログバナー等 */
.under_catalog_banner {
	width: 720px;
	box-sizing: border-box;
	margin: 20px auto 10px auto;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-width: 3px;
	border-bottom-width: 3px;
	border-top-color: #DDD;
	border-bottom-color: #DDD;
	padding-top: 20px;
	padding-bottom: 25px;
}

.under_catalog_banner p {
	margin-bottom: 10px;
}

.under_catalog_banner p a:hover {
	color: #CC0000;
}

.under_catalog_banner ul {
	margin-top: 10px;
}

.under_catalog_banner ul li {
	float: left;
	margin-right: 5px;
}

.under_catalog_banner ul li:nth-child(5) {
	margin-right: 0;
}

/* 商品詳細 */
#gallery_contents .min {
	font-size: 10px;
	margin-bottom: 10px;
}

#gallery_contents .items {
	margin-bottom: 20px;
}

/* 商品画像 */
#gallery_contents .items .images {
	float: left;
	width: 322px;
}

#gallery_contents .items .images .mainImage {
	margin-bottom: 20px;
}

#gallery_contents .items .images li {
	float: left;
	width: 70px;
	margin-right: 12px;
}

#gallery_contents .items .images li.end {
	margin-right: 0;
}

/* 商品情報 */
#gallery_contents .items .details {
	float: right;
	width: 368px;
}

#gallery_contents .items .details h1.ttl {
	padding-left: 20px;
	margin-bottom: 10px;
	background: url(../images/gallery/bg_h1.gif) repeat-y;
	font-size: 20px;
	color: #000000;
}

#gallery_contents .items .details .price {
	border-bottom: 4px solid #209b87;
	margin-bottom: 10px;
}

#gallery_contents .items .details .price .title {
	border: 1px solid #209b87;
	margin-bottom: 10px;
	text-align: center;
}

#gallery_contents .items .details .price .title .main {
	float: left;
	width: 179px;
	padding: 4px;
	background-color: #209b87;
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
}

#gallery_contents .items .details .price .title .thum {
	padding: 4px;
	font-size: 16px;
}

#gallery_contents .items .details .price .value {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
}

#gallery_contents .items .details .price .value span {
	font-size: 30px;
}

#gallery_contents .nsp-stock-panel {
	clear: both;
	margin: 22px 0 26px;
	padding: 18px;
	border: 1px solid #d6e0e6;
	background: #fff;
	font-size: 13px;
	line-height: 1.5;
	box-sizing: border-box;
	max-height: 720px;
	overflow: auto;
}

#gallery_contents .nsp-stock-panel h2 {
	margin: 0 0 12px;
	padding-left: 9px;
	border-left: 4px solid #00a99d;
	font-size: 18px;
	font-weight: bold;
	color: #002b4f;
}

#gallery_contents .nsp-stock-panel--notice p {
	margin: 0;
	color: #c00;
}

#gallery_contents .nsp-stock-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

#gallery_contents .nsp-stock-summary span {
	display: inline-block;
	padding: 5px 8px;
	border: 1px solid #dbe4ea;
	background: #f7fafc;
	color: #263f52;
}

#gallery_contents .nsp-stock-summary strong {
	font-size: 16px;
	color: #e60012;
}

#gallery_contents .nsp-stock-color-list {
	border-top: 1px solid #d8e1e6;
}

#gallery_contents .nsp-stock-color-code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	padding: 3px 8px;
	background: #eef4f7;
	color: #4b6475;
	font-size: 12px;
	font-weight: bold;
	box-sizing: border-box;
}

#gallery_contents .nsp-stock-color-section {
	padding: 16px 0;
	border-bottom: 1px solid #d8e1e6;
}

#gallery_contents .nsp-stock-color-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

#gallery_contents .nsp-stock-color-header h3 {
	margin: 0;
	font-size: 15px;
	font-weight: bold;
	color: #002b4f;
}

#gallery_contents .nsp-stock-size-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
	gap: 10px 8px;
}

#gallery_contents .nsp-stock-size-card {
	min-height: 76px;
	border: 1px solid #dce5ea;
	background: #fff;
	text-align: center;
	box-sizing: border-box;
}

#gallery_contents .nsp-stock-size-label {
	display: block;
	padding: 3px 6px;
	background: #22b8b5;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
}

#gallery_contents .nsp-stock-price {
	display: block;
	margin-top: 6px;
	font-weight: bold;
	color: #0069b4;
}

#gallery_contents .nsp-stock-qty {
	display: block;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.35;
}

#gallery_contents .nsp-stock-qty.is-ok {
	color: #148a2f;
}

#gallery_contents .nsp-stock-qty.is-low {
	color: #b36b00;
}

#gallery_contents .nsp-stock-qty.is-none {
	color: #c00;
}

@media screen and (max-width: 750px) {
	#gallery_contents .nsp-stock-panel {
		margin: 18px 0 22px;
		padding: 12px;
		max-height: 620px;
	}

	#gallery_contents .nsp-stock-panel h2 {
		font-size: 16px;
	}

	#gallery_contents .nsp-stock-size-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px 6px;
	}

	#gallery_contents .nsp-stock-size-card {
		min-height: 70px;
	}

	#gallery_contents .nsp-stock-size-label {
		font-size: 13px;
	}

	#gallery_contents .nsp-stock-price,
	#gallery_contents .nsp-stock-qty {
		font-size: 12px;
	}
}

#gallery_contents .items .details .explanation {
	margin-bottom: 10px;
}

#gallery_contents .items .details .explanation img {
	margin-bottom: 6px;
}

#gallery_contents .items .details .explanation p.txt {
	margin-bottom: 6px;
	font-size: 14px;
}

#gallery_contents .items .details .explanation p.info {
	font-size: 12px;
}

#gallery_contents .size,
#gallery_contents .estimated,
#gallery_contents .color {
	margin-bottom: 20px;
}

#gallery_contents .size h2.ttl,
#gallery_contents .estimated h2.ttl,
#gallery_contents .color h2.ttl {
	padding-left: 20px;
	margin-bottom: 10px;
	background: url(../images/gallery/bg_h1.gif) repeat-y;
	font-size: 20px;
}

#gallery_contents .size h2.ttl span,
#gallery_contents .estimated h2.ttl span,
#gallery_contents .color h2.ttl span {
	font-size: 12px;
}

#gallery_contents .return {
	margin: 20px 0;
}

/*
   #gallery_contents
   ギャラリー end
---------------------------------------*/


/*---------------------------------------
   benefits_contents
   ９大特典ページ
---------------------------------------*/
.benefits_contents {
	width: 950px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 1em;
}

.benefit_box {
	width: 675px;
	box-sizing: border-box;
	margin: 30px auto 50px auto;
}

.benefit_box h4 {
	width: 675px;
	border-bottom: solid 2px #81BE25;
}

.benefit_note {
	display: block;
	width: 675px;
	box-sizing: border-box;
	margin: 1em 0 !important;
}

/*
   benefits_contents
   ９大特典ページ end
---------------------------------------*/


/*---------------------------------------
   gyotaku_contents
   魚拓風加工ページ
---------------------------------------*/

.gyotaku_box {
	width: 720px;
	box-sizing: border-box;
	height: auto;
	margin: 50px 20px 30px 10px;
}

.gyotaku_img {
	float: left;
	width: 45%;
}

.gyotaku_txt {
	float: left;
	width: 45%;
	margin-left: 20px;
}

.gyotaku_name {
	font-size: medium;
	font-weight: bold;
	color: #000080;
}

.gyotaku_items {
	padding-left: 10px;
}

.gyotaku_price {
	font-size: large;
	font-weight: bold;
	text-align: right;
	padding-right: 20px;
}

.gyotaku_line {
	clear: both;
	border-top: dotted 1px #ccc;
	margin-top: 20px;
}

.gyotaku_contact {
	clear: both;
	width: 680px;
	height: auto;
	text-align: center;
	font-size: medium;
	margin: 0 auto;
}

.gyotaku_contact a {
	display: block;
	outline: none;
	width: 600px;
	padding: 5px;
	background-color: #666666;
	color: #fff;
	border-radius: 5px;
	text-align: center;
	margin: 0 auto;
}

.gyotaku_contact a:hover {
	background-color: #999999;
	color: #FFFF00;
}

.tyuui_box {
	width: 700px;
	margin-bottom: 20px;
}

.tyuui {
	float: left;
	width: 140px;
	height: 130px;
	vertical-align: middle;
	font-size: medium;
	margin-left: 50px;
	padding-top: 10px;
}

.tyuui_txt {
	float: left;
	width: 500px;
	height: 130px;
	vertical-align: middle;
	font-size: small;
}

/*
   gyotaku_contents
   魚拓風加工ページ end
---------------------------------------*/


/*---------------------------------------
   catalog_contents
   カタログ請求
---------------------------------------*/

p.catalog_topnote,
p.form_memo {
	width: 680px;
	text-align: left;
	margin-left: 15px !important;
}

#catalog_box .catalog {
	width: 640px;
	border: solid 2px #ccc;
	border-left: solid 30px #ccc;
	margin: 0 0 20px 5px;
	display: table;
	padding: 20px 0 5px 0;
}

#catalog_box .catalog:hover {
	background-color: rgba(165, 223, 0, 0.5);
	cursor: pointer;
}

#catalog_box .catalog .check {
	float: left;
	width: 20px;
	height: 170px;
	padding: 5px;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
	margin-left: -25px;
	outline: none;
}

#catalog_box .catalog .img {
	float: left;
	width: 20%;
	height: auto;
	text-align: center;
	width: 125px;
	vertical-align: middle;
	padding: 0 10px 10px 10px;
	cursor: pointer;
}

#catalog_box .catalog .img img {
	display: inline;
	padding: 2px;
	border: solid 1px #ddd;
}

#catalog_box .catalog .right {
	float: left;
	width: 450px;
	height: auto;
	padding-top: 0;
	padding-left: 5px;
	vertical-align: top;
	cursor: pointer;
}

#catalog_box .catalog .right:after {
	clear: both;
}

#catalog_box .catalog .right .catalog_name {
	font-size: medium;
	margin-top: 0;
	margin-bottom: 0;
}

#catalog_box .catalog .right p.catalog_note {
	margin-top: 5px;
	margin-bottom: 15px;
}

#catalog_box .catalog .right .dijital a {
	padding: 8px;
	width: 200px;
	height: auto;
	color: #fff;
	font-size: small;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
	border-radius: 5px;
	cursor: default;
	background-color: #777;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #bbb), color-stop(1.00, #777));
	background: -webkit-linear-gradient(#bbb, #777);
	background: -moz-linear-gradient(#bbb, #777);
	background: -o-linear-gradient(#bbb, #777);
	background: -ms-linear-gradient(#bbb, #777);
	background: linear-gradient(#bbb, #777);
}

#catalog_box .catalog .right .dijital a:hover {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #ff4d4e), color-stop(0.50, #ff4d4d), color-stop(0.50, #f43434), color-stop(1.00, #fe7b7b));
	background: -webkit-linear-gradient(top, #ff4d4e 0%, #ff4d4d 50%, #f43434 50%, #fe7b7b 100%);
	background: -moz-linear-gradient(top, #ff4d4e 0%, #ff4d4d 50%, #f43434 50%, #fe7b7b 100%);
	background: -o-linear-gradient(top, #ff4d4e 0%, #ff4d4d 50%, #f43434 50%, #fe7b7b 100%);
	background: -ms-linear-gradient(top, #ff4d4e 0%, #ff4d4d 50%, #f43434 50%, #fe7b7b 100%);
	background: linear-gradient(to bottom, #ff4d4e 0%, #ff4d4d 50%, #f43434 50%, #fe7b7b 100%);
}

/*
   catalog_contents
   カタログ請求 end
---------------------------------------*/


/*---------------------------------------
   #item_contents
   アイテム一覧ページ
---------------------------------------*/

/*アイテム一覧ページ追加*/
#item_contents .search {
	width: 728px;
	background-color: #ddd;
	margin-bottom: 20px;
}

#item_contents .search ul {
	margin-left: 3px;
	padding-top: 20px;
}

#item_contents .search ul img {
	margin-bottom: 5px;
}

#item_contents .search ul li {
	width: 216px;
	padding: 4px;
	float: left;
	width: 210px;
	margin: 0 0 20px 15px;
	background-color: #fff;
}

/*
   #item_contents
   アイテム一覧ページ end
---------------------------------------*/


/**商品ページ追加フィールド分******************************/

.table_wrap {
	overflow-x: auto;
	width: 690px;
	scrollbar-base-color: #66cc00;
}

table.sizelist {
	width: auto;
	height: auto;
	margin: 0 0 10px;
	padding: 0;
	border-spacing: 1px;
}

table.sizelist th,
table.sizelist td {
	font-size: 14px;
	width: 45px;
	text-align: center;
	height: 20px;
}

table.sizelist th {
	font-size: 13px;
	background-color: #FF6633;
	color: #fff;
	line-height: 18px;
}

.estimate input[type=number] {
	position: relative;
	height: 20px;
	border: solid 1px #FF6633;
}

table.sizelist input {
	text-align: center;
	width: 44px;
	line-height: 28px;
}

/*
table.sizelist th:first-child,table.sizelist td:first-child{
	width:auto !important;
	width:53px !important;
}
*/
.note {
	color: #FF0004;
	margin-bottom: 10px;
}

table.colorlist {
	margin-bottom: 20px;
}

table.colorlist th {
	white-space: nowrap;
}

table.colorlist td label {
	display: inline-block;
	/*white-space: nowrap;*/

	margin-right: 20px;
}

.input_no {
	font-size: medium;
	font-weight: bold;
	color: #FF6633;
	margin-bottom: 10px;
	width: 150px;
	float: left;
}

.ps_note {
	margin: 10px 0 20px 0;
}

.orange {
	font-size: medium;
	font-weight: bold;
	color: #FF6633;
}

.order_info {
	margin-top: 0;
	margin-bottom: 20px;
	padding: 20px 5px 0 15px;
	border: solid 2px #6c0;
}

.itemcolor_notes {
	font-size: medium;
	margin: 1em auto;
}


/*---------------------------------------
   送信フォーム関連
---------------------------------------*/

.contact-wrap {
	width: 680px;
	margin: 0px auto 0px auto;
}

/**注文フォームたたみ袋説明******************************/

.tatami_note label {
	text-decoration: none;
	cursor: pointer;
}

.modal3 .checkbox {
	display: none;
}

/* Gray background */
.modal3 .modal-overlay3 {
	opacity: 0;
	transition: all 0.3s ease;
	width: 50%;
	position: absolute;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -100;
	transform: scale(1);
	display: flex;
	background-color: rgba(0, 0, 0, 0.5);
}

/* Box */
.modal3 .modal-wrap3 {
	background-color: #fff;
	padding: 10px 20px;
	width: 520px;
	margin: auto;
	text-align: center;
	align-self: flex-start;
	border-radius: 2px;
	transition: all 0.5s ease;
}

.modal3 .modal-wrap3.small {
	width: 30%;
}

.modal3 .modal-wrap3.full {
	width: 100%;
	height: 100%;
}

.modal3 .modal-wrap3.a-center {
	align-self: center;
}

/* Close button */
.modal3 .modal-overlay3 .close3 {
	position: absolute;
	right: 5px;
	top: 5px;
	font-size: 16px;
	width: 20px;
	height: 20px;
	color: #282c34;
}

.modal3 .modal-overlay3 .close3:hover {
	cursor: pointer;
	color: #4b5361;
}

.modal3 .o-close3 {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -100;
}

.modal3 input:checked~.o-close3 {
	z-index: 9998;
}

.modal3 input:checked~.modal-overlay3 {
	transform: scale(1);
	opacity: 1;
	z-index: 9997;
	overflow: auto;
}

.modal3 input:checked~.modal-overlay3 .modal-wrap3 {
	transform: translateY(0);
	z-index: 9999;
}

/* Responsive Design */
/* Tablet size */
@media (max-width: 800px) {
	.modal3 .modal-wrap3 {
		width: 80%;
		padding: 20px;
	}
}

/* Phone size */
@media (max-width: 500px) {
	.modal3 .modal-wrap3 {
		width: 90%;
	}
}

/**注文フォームたたみ袋説明ここまで******************************/

/*
   送信フォーム関連 end
---------------------------------------*/


/* 404ページ */
.not_found {
	font-size: medium;
}

.page_not_found {
	font-size: xx-large;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	color: #808080;
}

/* デザイン送信フォーム一時非表示 */
#left .side_forms ul li a.forms_icon2 {
	display: none;
}

/*カテゴリ説明エリア*/
.gallery_desc {
	margin-bottom: 20px;
}

.gallery_desc img {
	width: 100%;
	height: auto;
}

.gallery_desc h1,
.gallery_desc h2 {
	width: 100%;
	padding: 4px 0;
	border-top: 2px solid #138A74;
	border-bottom: 2px solid #138A74;
	margin: 0 auto 20px auto;
	color: #138A74;
	text-align: center;
	font-size: 14px;
}

/*---------------------------------------
   エプロンTOPページ
---------------------------------------*/

h1 img.alignnone {
	margin-left: 60px;
}

h2.apron {
	clear: both;
	font-size: medium;
	margin: 30px 1em 20px 0;
	padding: 10px 0;
	border-bottom: solid thin #999;
	text-align: left;
	width: inherit;
}

.apron_lead {
	color: #008000;
	text-align: justify;
	margin-top: 20px !important;
}

.apron_lead2 {
	color: #333333;
	text-align: justify;
	margin-top: 20px !important;
}

#apron_menu ul {
	padding-top: 30px;
	padding-left: 60px;
}

#apron_menu ul li {
	width: 38%;
	float: left;
	margin-bottom: 10px;
	list-style-type: none;
	text-decoration: underline;
}

#apron_menu ul li:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: 4px;
	margin-left: 4px;
	border: transparent solid 5px;
	border-left-color: #000;
}

#apron_menu ul li:nth-child(2n) {
	margin-left: 20px;
}

#apron_menu ul li:nth-child(2n-1) {
	clear: both;
}

#apron_menu ul li:last-child {
	margin-bottom: 30px;
}

#apron_menu ul li a {
	text-decoration: none;
	color: #333333;
}

#apron_needs_menu ul {
	padding-top: 30px;
	padding-left: 80px;
	text-align: left;
}

#apron_needs_menu ul li {
	width: 100%;
	margin-bottom: 10px;
	list-style-type: disc;
}

#apron_needs_menu ul li:last-child {
	margin-bottom: 50px;
}

/*　エプロンページ・テイスト、作成シーン枠　*/

.first_contents .search {
	width: 700px;
	box-sizing: border-box;
	background-color: #ddd;
	margin-bottom: 20px;
}

.first_contents .search ul li {
	padding: 20px 0 10px 10px;
}

.first_contents .search ul img {
	margin-bottom: 5px;
}

.first_contents .search ul li {
	display: block;
	width: 224px;
	box-sizing: border-box;
	float: left;
	padding: 9px 0 9px 9px;
	background-color: #fff;
}

/*
   エプロンTOPページ end
---------------------------------------*/


/*アイテムから探す＆利用シーンから探すページ*/

h1.search_title {
	width: 720px;
	box-sizing: border-box;
	margin-bottom: 20px;
}


/*---------------------------------------
   検索条件用
---------------------------------------*/

.searcharea {
	background-color: #ddd;
	width: 100%;
	padding: 12px 10px;
	font-weight: bold;
	position: relative;
	box-sizing: border-box;
	margin-bottom: 18px;
}

.searcharea label {
	line-height: 1;
	vertical-align: middle;
	margin-right: 15px;
}

.searcharea label input[type=checkbox] {
	line-height: 26px;
	margin-right: 5px;
	vertical-align: middle;
	width: 14px;
	height: 14px;
}

.searcharea select {
	line-height: 26px;
	height: 26px;
	margin-right: 5px;
	vertical-align: middle;
	font-size: 14px;
	padding: 0 10px;
	width: 150px;
}

.searcharea input[type=submit] {
	vertical-align: middle;
	line-height: 26px;
	height: 26px;
	width: 100px;
	color: #fff;
	border: 0;
	text-align: center;
	background-color: #666;
	font-size: 14px;
	position: absolute;
	top: 12px;
	right: 10px;
	z-index: 1;
}

.nsp-gallery-category-nav {
	box-sizing: border-box;
	margin: 0 0 14px;
	padding: 14px;
	border: 1px solid #d4dfe3;
	border-top: 3px solid #009b8f;
	border-radius: 6px;
	background: #fff;
}

.nsp-gallery-category-title {
	margin: 0 0 10px;
	color: #0b344e;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
}

.nsp-gallery-category-nav ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nsp-gallery-category-nav li {
	margin: 0;
	padding: 0;
}

.nsp-gallery-category-nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	box-sizing: border-box;
	padding: 6px 8px;
	border: 1px solid #aebfc7;
	border-radius: 4px;
	background: #fff;
	color: #16425a;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}

.nsp-gallery-category-nav a:hover,
.nsp-gallery-category-nav a:focus-visible {
	border-color: #008c82;
	background: #eef9f7;
	color: #006d65;
	text-decoration: none;
}

.nsp-gallery-category-nav a.is-current {
	border-color: #008c82;
	background: #009b8f;
	color: #fff;
}

.searcharea.nsp-gallery-searcharea {
	padding: 18px;
	border: 1px solid #d4dfe3;
	border-top: 3px solid #009b8f;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(15, 45, 63, 0.08);
	font-weight: normal;
}

.nsp-gallery-searcharea form {
	margin: 0;
}

.nsp-gallery-filter-details {
	margin: 0;
}

.nsp-gallery-filter-details > summary {
	display: none;
}

.nsp-gallery-keyword-row {
	display: grid;
	grid-template-columns: 146px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
}

.nsp-gallery-keyword-label {
	color: #0b344e;
	font-size: 15px;
	font-weight: bold;
}

.nsp-gallery-keyword-controls {
	display: flex;
	gap: 10px;
	align-items: center;
	min-width: 0;
}

.nsp-gallery-keyword-controls input[type=search] {
	width: 100%;
	min-width: 0;
	height: 46px;
	box-sizing: border-box;
	padding: 0 14px;
	border: 1px solid #aebfc7;
	border-radius: 6px;
	background: #fbfcfd;
	color: #002d4b;
	font-size: 16px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.nsp-gallery-keyword-controls input[type=search]:focus {
	border-color: #009b8f;
	outline: none;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0, 155, 143, 0.16);
}

.nsp-gallery-search-button,
.nsp-gallery-filter-button {
	flex: 0 0 auto;
	height: 46px;
	padding: 0 26px;
	border: 1px solid #008c82;
	border-radius: 6px;
	background: #009b8f;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.nsp-gallery-search-button:hover,
.nsp-gallery-search-button:focus,
.nsp-gallery-search-button:focus-visible {
	border-color: #006d65;
	background: #007f76;
	box-shadow: 0 0 0 3px rgba(0, 155, 143, 0.18);
}

.nsp-gallery-search-clear {
	flex: 0 0 auto;
	color: #466474;
	font-size: 13px;
	text-decoration: none;
}

.nsp-gallery-search-clear:hover,
.nsp-gallery-search-clear:focus {
	color: #006d65;
	text-decoration: underline;
}

.nsp-gallery-filter-row {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #e1e8eb;
}

.nsp-gallery-filter-row .flabel {
	flex: 0 0 auto;
	color: #0b344e;
	font-size: 14px;
	font-weight: bold;
}

.searcharea .nsp-gallery-filter-row label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 38px;
	box-sizing: border-box;
	padding: 0 10px;
	border: 1px solid #d8e1e5;
	border-radius: 5px;
	background: #f7f9fa;
	margin: 0;
	font-weight: normal;
	white-space: nowrap;
	cursor: pointer;
}

.searcharea .nsp-gallery-filter-row label:hover {
	border-color: #9fb5bf;
	background: #fff;
}

.searcharea .nsp-gallery-filter-row input[type=checkbox] {
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: #009b8f;
}

.searcharea .nsp-gallery-filter-row select {
	width: 154px;
	height: 40px;
	margin: 0 0 0 auto;
	padding: 0 32px 0 12px;
	border: 1px solid #aebfc7;
	border-radius: 5px;
	background: #fff;
	color: #16394f;
	font-size: 14px;
}

.searcharea .nsp-gallery-filter-row select:focus {
	border-color: #009b8f;
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 155, 143, 0.14);
}

.nsp-gallery-filter-row .nsp-gallery-filter-button {
	height: 40px;
	padding: 0 18px;
	border-color: #76909e;
	background: #fff;
	color: #173f56;
	font-size: 14px;
}

.nsp-gallery-filter-row .nsp-gallery-filter-button:hover,
.nsp-gallery-filter-row .nsp-gallery-filter-button:focus,
.nsp-gallery-filter-row .nsp-gallery-filter-button:focus-visible {
	border-color: #009b8f;
	background: #eef8f7;
	color: #006d65;
	box-shadow: 0 0 0 3px rgba(0, 155, 143, 0.12);
}

.nsp-gallery-search-summary {
	margin: 0 0 16px !important;
	padding: 11px 14px;
	border: 1px solid #dce7e9;
	border-left: 4px solid #009b8f;
	border-radius: 4px;
	background: #f7fbfb;
	color: #173f56;
	font-size: 14px;
}

/*
   検索条件用 end
---------------------------------------*/


/*---------------------------------------
   投稿ページ
---------------------------------------*/
#eye_catch {
	width: 610px;
	text-align: center;
	padding: 0;
	margin: 1em auto 2em auto;
}

.post_text {
	width: 610px;
	margin: 0 auto;
	text-align: justify;
}

.post_text p {
	width: 610px;
	margin-bottom: 1em;
}

.post_text h2 {
  font-weight: bold;
  vertical-align: middle;
  padding: 10px;
  border-top: 2px solid #138A74;
  border-bottom: 2px solid #138A74;
  margin-bottom: 20px;
  color: #138A74;
}

.to_top_post {
	width: 610px;
	text-align: right;
	margin: 15px auto;
	clear: both;
}

.to_top_post a:hover {
	outline: none;
}

#right .columnH1 {
	width: 730px;
	height: 60px;
	background-position: 10px 20px;
	margin-top: 0;
}

.columnH2 {
	font-size: 1.2rem;
}

.columnH3 {
	padding: 0.5rem 1rem;
	border-left: 4px solid #138A74;
	margin-bottom: 1rem;
	font-size: 1.2rem;
}

.columnSection {
	margin-bottom: 3rem;
}

#right .columnSection p {
	margin-bottom: 1rem;
}

#right .post_text .marginP {
	margin-bottom: 3rem;
}

.mark_yellow{
	background: linear-gradient(transparent 70%, #fcff40 70%);
}

.column-table {
	border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin: 20px 0;
	background: #fff;
}

.column-table th,
.column-table td {
    padding: 10px 10px;
    border: 1px solid #ddd;
}

.column-table th {
    background: #f2f2f2;
	text-align: center;
	width: 30%;
}

.external:link {
	color: #138A74;
}

.external:visited {
	color: #138A74;
}

.columnH4 {
	display:flex;
	align-items: center;
}

.columnH4:before {
content : "●";
font-size: 2em;
color: #138A74;
margin-right: 0.3em;
}

.columnSection ul,.columnSection ol {
	border-top: 1px solid #138A74;
	border-bottom: 1px solid #138A74;
	list-style-type: disc;
	margin: 20px 0;
	padding: 11px 20px 20px 35px;
}

.columnSection ul li,.columnSection ol li {
	margin-top: 10px;
}

.columnSection .column-table  ul  {
	border: none;
}

.columnSection ol {
	list-style-type: decimal;
}

.columnDl dd {
	margin-bottom: 10px;
}

.columnSection .columnDl dd ul  {
	border: none;
	margin: 0;
	padding: 0 0 0 35px;
}


/*---------------------------------------
   カテゴリページ
---------------------------------------*/
.category_container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
.category_box {
  width: 215px;
  width: 45%;
  padding: 15px;
  border: 1px solid #999;
  background-color: #eee;
  margin-bottom: 2rem;
}
.category_box img {
  width: 100%;
  height: auto;
  margin: 1em 0;
}
.post_title {
  font-weight: bold;
  margin-top: 0.75em;
}
.category_text {
	width: 100%;
	margin: 0 auto;
	text-align: justify;
}
.category_text p {
	width: 100%;
	margin-bottom: 1em;
}
a.to_detail {
	display: block;
	width: 100%;
	height: 26px;
	background-color: #555;
	text-align: center;
	padding-top: 7px;
	margin-top: 1em;
	color: #fff;
	text-decoration: none;
}
a.to_detail:hover {
	background-color: #CE0218;
}

.to_top_category {
	width: 712px;
	text-align: right;
	padding-top: 20px;
	clear: both;
}

.to_top_category a:hover {
	outline: none;
}


/*ヘッダー画像幅よりブラウザ幅が狭い場合*/
@media only screen and (min-width: 1920px) {
	#header {
		background-size: cover;
	}
}

	/*---------------------------------------
   スマホ用
---------------------------------------*/

	@media only screen and (max-width: 750px) {

		#header:after {
			content: " ";
			clear: both;
			display: table;
		}

		/*エプロンTOPページ*/
		h1 img.alignnone {
			margin-left: 0;
		}

		/*クラスＴシャツページ*/
		.class_lead {
			font-size: medium;
		}

		.create_point {
			width: 100%;
			box-sizing: border-box;
		}

		/*パンくずリスト*/
		#breadcrumbsarea {
			display: block;
			width: 100%;
			box-sizing: border-box;
			margin: 10px auto;
		}

		.breadcrumbs {
			position: absolute;
			z-index: 1;
		}

		/*固定ページマージン調整*/
		.apron #top_nav_sp,
		.class #top_nav_sp,
		.class_standerd_tshirt #top_nav_sp,
		.gyotaku #top_nav_sp,
		.design #top_nav_sp,
		.print #top_nav_sp,
		.how_to #top_nav_sp,
		.delivery #top_nav_sp,
		.faq #top_nav_sp,
		.first #top_nav_sp,
		.simulation #top_nav_sp,
		.contact #top_nav_sp,
		.order #top_nav_sp,
		.reorder #top_nav_sp,
		.download_orderform #top_nav_sp,
		.send_orderform #top_nav_sp,
		.catalog #top_nav_sp,
		.form_sample #top_nav_sp,
		.company #top_nav_sp,
		.tie_up #top_nav_sp,
		.benefits #top_nav_sp,
		#estimate_new #top_nav_sp,
		#gallery #top_nav_sp {
			margin: 10px 0 30px !important;
		}
	}


/*パンくずリスト*/
.breadcrumb {
	margin: 0 auto 0.5rem auto;
	position: relative;
	text-align: right;
	padding-right: 20px;
}
.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	list-style: none;
}
.breadcrumb ol li:not(:last-of-type)::after {
  content: "»";
  margin: 0 .6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}
/* Gallery product list */
#gallery_contents .list .box_container.nsp-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	align-items: stretch;
	justify-content: stretch;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box {
	display: flex;
	width: auto;
	min-width: 0;
	margin: 0;
	flex-direction: column;
	box-sizing: border-box;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.name {
	display: -webkit-box;
	height: 4.2em;
	min-height: 4.2em;
	overflow: hidden;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.img {
	display: flex;
	aspect-ratio: 1 / 1;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.img > a {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.txt {
	display: -webkit-box;
	height: 6.6em;
	min-height: 6.6em;
	border-bottom: 0;
	overflow: hidden;
	flex: 0 0 6.6em;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.price,
#gallery_contents .list .box_container.nsp-gallery-grid .box p.details {
	flex: 0 0 auto;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.price {
	margin-top: auto;
	padding-top: 6px;
	border-top: 1px dotted #CCC;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.details {
	width: 100%;
	overflow: hidden;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.details a,
#gallery_contents .list .box_container.nsp-gallery-grid .box p.details img {
	display: block;
	width: 100%;
	max-width: 100%;
}

#gallery_contents .list .box_container.nsp-gallery-grid .box p.details img {
	height: auto;
}

#gallery_contents .list .box_container.nsp-gallery-grid .nsp-gallery-list-sales-ended {
	display: inline-block;
	min-width: 108px;
	margin-top: 6px;
	padding: 4px 10px;
	border: 1px solid #b71c1c;
	background: #c62828;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	text-align: center;
}

#gallery_contents .list .box_container.nsp-gallery-grid .nsp-gallery-list-limited-stock {
	display: inline-block;
	min-width: 108px;
	margin-top: 6px;
	padding: 4px 10px;
	border: 1px solid #b26a00;
	background: #fff1c7;
	color: #704000;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	text-align: center;
}

#gallery_contents .list .nsp-gallery-admin-meta {
	margin-bottom: 6px;
	color: #c62828;
	font-size: 12px;
	line-height: 1.4;
}

#gallery_contents .list .nsp-gallery-admin-meta span {
	display: block;
}

#gallery_contents .list .nsp-gallery-empty {
	grid-column: 1 / -1;
	padding: 32px 16px;
	border: 1px solid #ccc;
	background: #fff;
	text-align: center;
}

#gallery_contents .list .nsp-gallery-pagination {
	width: 100%;
	margin: 24px 0;
	text-align: center;
}

#gallery_contents .list .nsp-gallery-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

#gallery_contents .list .nsp-gallery-pagination .page-numbers a,
#gallery_contents .list .nsp-gallery-pagination .page-numbers span {
	display: inline-flex;
	min-width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0 10px;
	border: 1px solid #9bb2bd;
	background: #fff;
	color: #06496d;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

#gallery_contents .list .nsp-gallery-pagination .page-numbers .current {
	border-color: #009d8f;
	background: #009d8f;
	color: #fff;
}

#gallery_contents .list .nsp-gallery-pagination .page-numbers a:hover,
#gallery_contents .list .nsp-gallery-pagination .page-numbers a:focus-visible {
	border-color: #007f74;
	background: #e6f7f5;
	color: #005d56;
}

@media screen and (max-width: 767px) {
	#gallery_contents .list .box_container.nsp-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box {
		width: auto;
		margin: 0;
		padding: 5px;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box p.name {
		height: 3.9em;
		min-height: 3.9em;
		padding-bottom: 2px;
		margin-bottom: 4px;
		font-size: 11px;
		line-height: 1.3;
		-webkit-line-clamp: 3;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box p.name a,
	#gallery_contents .list .box_container.nsp-gallery-grid .box p.name a:visited {
		color: #17324d;
		text-decoration: none;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box p.img {
		aspect-ratio: 3 / 2;
		margin-bottom: 4px;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box p.txt {
		display: -webkit-box;
		height: 5.8em;
		min-height: 5.8em;
		padding-bottom: 4px;
		margin-bottom: 4px;
		overflow: hidden;
		flex: 0 0 5.8em;
		color: #46545f;
		font-size: 10.5px;
		line-height: 1.45;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box p.price {
		padding: 5px 2px 3px;
		margin-bottom: 0;
		font-size: 12px;
		line-height: 1.2;
		text-align: left;
		white-space: normal;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box span.birth_price {
		display: block;
		margin-bottom: 1px;
		color: #5b6872;
		font-size: 10px;
		font-weight: 600;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box .nsp-gallery-price-value {
		font-size: 17px;
		font-weight: 700;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box .nsp-gallery-price-suffix {
		font-size: 15px;
		font-weight: 700;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box .nsp-gallery-price-tax {
		display: inline-block;
		margin-left: 3px;
		font-size: 9px;
		font-weight: 600;
	}

	#gallery_contents .list .box_container.nsp-gallery-grid .box p.details {
		display: none;
	}
}


@media screen and (min-width: 768px) and (max-width: 820px) {
	body#class #classarea #gallery_contents .list .box_container.nsp-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Class T product cards use the same typeface as the main gallery. */
body#class #gallery_contents .list .box_container.nsp-gallery-grid .box {
	font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 游ゴシック体, "Yu Gothic", YuGothic, sans-serif;
}

/* Class T catalog page only */
body#class {
	font-family: "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	color: #17324d;
	background: #f3f6f8;
}

body#class #left {
	display: none;
}

body#class #right {
	float: none;
	width: min(950px, calc(100% - 24px));
	margin: 0 auto;
}

body#class #right .content_wrap {
	width: min(920px, calc(100% - 32px));
	box-sizing: border-box;
	margin: 28px auto 40px;
	padding: 30px 34px 34px;
	background: #fff;
	border: 1px solid #dce5eb;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(21, 51, 76, .08);
}

body#class .nsp-class-hero {
	position: relative;
	width: calc(100% + 68px);
	margin: -30px -34px 28px;
	padding: 30px 32px 18px;
	overflow: hidden;
	border-radius: 14px 14px 0 0;
	box-sizing: border-box;
	color: #fff;
	background: #0a2b57;
}

body#class .nsp-class-hero::before,
body#class .nsp-class-hero::after {
	content: "";
	position: absolute;
	pointer-events: none;
	transform: rotate(-8deg);
}

body#class .nsp-class-hero::before {
	top: -64px;
	right: -42px;
	width: 230px;
	height: 125px;
	background: #ef476f;
}

body#class .nsp-class-hero::after {
	right: 92px;
	bottom: -76px;
	width: 190px;
	height: 105px;
	background: #10a9a3;
}

body#class .nsp-class-hero__heading {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

body#class .nsp-class-hero__eyebrow {
	display: inline-block;
	margin: 0 0 10px;
	padding: 4px 9px;
	color: #0a2b57;
	font-size: 12px;
	font-weight: 700;
	background: #ffd53d;
	border-radius: 3px;
}

body#class .nsp-class-hero h1 {
	margin: 0;
	color: #fff;
	font-family: "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	font-size: 37px;
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: 0;
}

body#class .nsp-class-hero h1 em {
	color: #ffd53d;
	font-style: normal;
}

body#class .nsp-class-hero__lead {
	margin: 10px 0 0;
	color: #dce9f2;
	font-size: 14px;
	line-height: 1.5;
}

body#class .nsp-class-hero__max {
	flex: 0 0 auto;
	min-width: 220px;
	padding: 11px 15px 12px;
	color: #0a2b57;
	text-align: center;
	background: #fff;
	border-bottom: 5px solid #ffd53d;
	transform: rotate(1deg);
}

body#class .nsp-class-hero__max span,
body#class .nsp-class-hero__max b {
	font-size: 14px;
	font-weight: 700;
}

body#class .nsp-class-hero__max strong {
	margin: 0 4px;
	color: #e83d60;
	font-size: 36px;
	font-weight: 800;
	line-height: 1;
}

body#class .nsp-class-hero__benefits {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
}

body#class .nsp-class-hero__benefits div {
	min-width: 0;
	padding: 11px 10px 10px;
	color: #12334f;
	background: #fff;
	border-top: 4px solid #10a9a3;
	box-sizing: border-box;
}

body#class .nsp-class-hero__benefits div.is-primary {
	border-top-color: #ef476f;
}

body#class .nsp-class-hero__benefits span,
body#class .nsp-class-hero__benefits strong,
body#class .nsp-class-hero__benefits small {
	display: block;
}

body#class .nsp-class-hero__benefits span {
	color: #365468;
	font-size: 13px;
	font-weight: 700;
}

body#class .nsp-class-hero__benefits strong {
	margin: 3px 0 5px;
	color: #e83d60;
	font-size: 19px;
	font-weight: 800;
}

body#class .nsp-class-hero__benefits small {
	min-height: 34px;
	color: #647b8c;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.45;
}

body#class .nsp-class-hero__note {
	position: relative;
	z-index: 1;
	margin: 10px 0 0;
	color: #c9d9e5;
	font-size: 10px;
	text-align: right;
}

/* Class page campaign header: playful without relying on a hero image. */
body#class .nsp-class-hero {
	padding: 26px 28px 18px;
	color: #102f5f;
	background: #ffd83d;
}

body#class .nsp-class-hero::before {
	top: -86px;
	right: -22px;
	width: 310px;
	height: 170px;
	background: #ed3f75;
	transform: rotate(10deg);
}

body#class .nsp-class-hero::after {
	right: auto;
	bottom: -60px;
	left: -35px;
	width: 260px;
	height: 110px;
	background: #10aaa2;
	transform: rotate(7deg);
}

body#class .nsp-class-hero__pattern {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

body#class .nsp-class-hero__pattern span {
	position: absolute;
	padding: 5px 13px;
	color: rgba(255,255,255,.88);
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	background: #102f5f;
	transform: rotate(-7deg);
}

body#class .nsp-class-hero__pattern span:nth-child(1) {
	top: 12px;
	right: 150px;
	background: #10aaa2;
}

body#class .nsp-class-hero__pattern span:nth-child(2) {
	top: 52px;
	right: 42px;
	background: #102f5f;
	transform: rotate(5deg);
}

body#class .nsp-class-hero__pattern span:nth-child(3) {
	right: 30px;
	bottom: 26px;
	background: #ed3f75;
	transform: rotate(-4deg);
}

body#class .nsp-class-hero__pattern span:nth-child(4) {
	display: none;
}

body#class .nsp-class-hero__heading {
	align-items: center;
	margin-bottom: 20px;
}

body#class .nsp-class-hero__heading > div:first-child {
	position: relative;
	z-index: 1;
	width: 58%;
	padding: 18px 23px 17px;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 8px 8px 0 #10aaa2;
	transform: rotate(-.8deg);
}

body#class .nsp-class-hero__eyebrow {
	color: #fff;
	background: #102f5f;
}

body#class .nsp-class-hero h1 {
	color: #102f5f;
	font-size: 39px;
}

body#class .nsp-class-hero h1 em {
	color: #e5006d;
}

body#class .nsp-class-hero__lead {
	color: #466075;
}

body#class .nsp-class-hero__max {
	position: relative;
	z-index: 1;
	min-width: 236px;
	padding: 14px 16px;
	color: #fff;
	background: #e5006d;
	border: 0;
	box-shadow: 7px 7px 0 #102f5f;
	transform: rotate(2deg);
}

body#class .nsp-class-hero__max strong {
	color: #fff23d;
	font-size: 38px;
}

body#class .nsp-class-hero__benefits {
	padding: 10px;
	background: #102f5f;
}

body#class .nsp-class-hero__benefits div,
body#class .nsp-class-hero__benefits div.is-primary {
	border-top: 0;
	border-bottom: 6px solid #ed3f75;
}

body#class .nsp-class-hero__benefits div:nth-child(2) {
	border-bottom-color: #10aaa2;
}

body#class .nsp-class-hero__benefits div:nth-child(3) {
	border-bottom-color: #f29a2e;
}

body#class .nsp-class-hero__benefits div:nth-child(4) {
	border-bottom-color: #5384d8;
}

body#class .nsp-class-hero__benefits div:nth-child(5) {
	border-bottom-color: #a26ac4;
}

body#class .nsp-class-hero__benefits strong {
	color: #e5006d;
}

body#class .nsp-class-hero__note {
	display: table;
	margin: 8px 0 0 auto;
	padding: 3px 7px;
	color: #102f5f;
	background: rgba(255,255,255,.86);
}

/* Final image + HTML text composition. */
body#class .nsp-class-hero {
	padding: 0 0 14px;
	background: #fff;
	border: 1px solid #d8e1e8;
}

body#class .nsp-class-hero::before,
body#class .nsp-class-hero::after,
body#class .nsp-class-hero__pattern {
	display: none;
}

body#class .nsp-class-hero__visual {
	position: relative;
	min-height: 342px;
	overflow: hidden;
	background: #eaf4f8;
}

body#class .nsp-class-hero__visual picture {
	position: absolute;
	inset: 0;
	display: block;
}

body#class .nsp-class-hero__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

body#class .nsp-class-hero__heading {
	position: absolute;
	z-index: 2;
	top: 28px;
	left: 28px;
	display: flex;
	width: 440px;
	flex-direction: column;
	align-items: flex-start;
	gap: 13px;
	margin: 0;
}

body#class .nsp-class-hero__heading > div:first-child {
	width: 100%;
	padding: 18px 22px 17px;
	background: rgba(255,255,255,.95);
	box-shadow: 7px 7px 0 #10aaa2;
	transform: none;
}

body#class .nsp-class-hero h1 {
	font-size: 37px;
}

body#class .nsp-class-hero__max {
	min-width: 215px;
	padding: 10px 14px;
	box-shadow: 6px 6px 0 #102f5f;
	transform: rotate(-1deg);
}

body#class .nsp-class-hero__max strong {
	font-size: 34px;
}

body#class .nsp-class-hero__benefits {
	margin: 0;
	padding: 11px 12px 10px;
}

body#class .nsp-class-hero__note {
	margin-right: 12px;
	margin-bottom: 0;
}

body#class .nsp-class-hero {
	padding: 0;
	background: #fff;
}

body#class .nsp-class-hero > picture,
body#class .nsp-class-hero > picture > img {
	display: block;
	width: 100%;
	height: auto;
}

body#class .nsp-class-hero > picture > img {
	position: static;
	inset: auto;
	aspect-ratio: auto;
	object-fit: contain;
	object-position: center;
}

/* Class page: design, forms and order actions. */
body#class .nsp-class-actions {
	width: min(760px, calc(100% - 40px));
	margin: 34px auto 42px;
	padding: 26px;
	box-sizing: border-box;
	color: #102f5f;
	font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
	background: #f6f9fc;
	border: 1px solid #d8e3ec;
	border-top: 4px solid #0aa59d;
	border-radius: 8px;
}

body#class .nsp-class-actions * {
	box-sizing: border-box;
	letter-spacing: 0;
}

body#class .nsp-class-actions__header {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 18px;
}

body#class .nsp-class-actions__step {
	color: #008f89;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

body#class .nsp-class-actions__header h2 {
	margin: 0;
	padding: 0;
	color: #102f5f;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	background: none;
	border: 0;
}

body#class .nsp-class-actions__primary,
body#class .nsp-class-actions__order {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 72px;
	padding: 13px 17px;
	color: #fff;
	text-decoration: none;
	border-radius: 6px;
	transition: filter .18s ease, transform .18s ease;
}

body#class .nsp-class-actions__primary {
	background: #008f89;
	box-shadow: 0 3px 0 #006f6a;
}

body#class .nsp-class-actions__order {
	margin-top: 18px;
	background: #f27814;
	box-shadow: 0 3px 0 #bd5708;
}

body#class .nsp-class-actions__primary:hover,
body#class .nsp-class-actions__order:hover {
	color: #fff;
	filter: brightness(1.06);
	transform: translateY(-1px);
}

body#class .nsp-class-actions__primary strong,
body#class .nsp-class-actions__order strong {
	display: block;
	color: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

body#class .nsp-class-actions__primary small,
body#class .nsp-class-actions__order small {
	display: block;
	margin-top: 2px;
	color: inherit;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	opacity: .9;
}

body#class .nsp-class-actions__icon {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	background: rgba(255,255,255,.16);
	border-radius: 50%;
}

body#class .nsp-class-actions svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body#class .nsp-class-actions__arrow {
	font-size: 29px;
	font-weight: 400;
	line-height: 1;
	text-align: right;
}

body#class .nsp-class-actions__documents {
	margin-top: 18px;
}

body#class .nsp-class-actions__documents > p {
	margin: 0 0 10px;
	color: #536b7c;
	font-size: 12px;
	line-height: 1.7;
	text-align: left;
}

body#class .nsp-class-actions__document-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

body#class .nsp-class-actions__document-grid > a {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 62px;
	padding: 10px 12px;
	color: #173954;
	text-decoration: none;
	background: #fff;
	border: 1px solid #bdceda;
	border-radius: 6px;
}

body#class .nsp-class-actions__document-grid > a:hover {
	color: #008f89;
	border-color: #008f89;
}

body#class .nsp-class-actions__file-icon {
	display: grid;
	width: 34px;
	height: 34px;
	color: #d83b38;
	place-items: center;
	background: #fff0ef;
	border-radius: 5px;
}

body#class .nsp-class-actions__file-icon svg {
	width: 18px;
	height: 18px;
}

body#class .nsp-class-actions__document-grid strong {
	display: block;
	color: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

body#class .nsp-class-actions__document-grid small {
	display: block;
	margin-top: 2px;
	color: #718492;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.4;
}

body#class .content_wrap h1.title {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 0 14px 16px;
	border-left: 5px solid #00a59b;
	border-bottom: 1px solid #dce5eb;
	border-radius: 0;
	color: #12334f;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 700;
	line-height: 1.35;
	background: transparent;
	background-image: none;
}

body#class .content_wrap .class_lead {
	max-width: 720px;
	margin: 18px auto 24px;
	color: #506779;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.9;
}

body#class .content_wrap #photo {
	width: min(625px, 100%);
	height: auto;
	aspect-ratio: 625 / 872;
	box-sizing: border-box;
	padding: 15px;
	margin: 24px auto 18px;
	background: #edf1f3;
	border: 1px solid #d6e0e6;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}

body#class .content_wrap #photo img {
	top: 15px;
	left: 15px;
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	border-radius: 3px;
}

body#class .content_wrap #navi ul {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	width: min(620px, 100%);
	margin: 18px auto 28px;
}

body#class .content_wrap #navi li {
	float: none;
	width: auto;
	height: auto;
	padding: 4px;
	margin: 0;
	background: #f0f3f5;
	border: 1px solid #d5e0e6;
	border-radius: 7px;
	transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

body#class .content_wrap #navi li:hover,
body#class .content_wrap #navi li:focus-within {
	background: #e4f5f3;
	border-color: #00a59b;
	transform: translateY(-2px);
}

body#class .content_wrap #navi li a.is-active {
	outline: 3px solid #00a59b;
	outline-offset: 2px;
}

body#class .content_wrap #navi li a,
body#class .content_wrap #navi li a img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	max-height: none;
}

body#class .content_wrap > p.text_center:not(.class_lead) {
	max-width: 700px;
	margin: 18px auto;
	color: #607789;
	font-size: 14px;
	line-height: 1.8;
}

body#class .content_wrap a img[alt*="全ページ表示"] {
	width: min(459px, 100%);
	height: auto;
	border-radius: 7px;
	box-shadow: 0 5px 12px rgba(21, 51, 76, .12);
	transition: transform .15s ease, box-shadow .15s ease;
}

body#class .content_wrap a:hover img[alt*="全ページ表示"],
body#class .content_wrap a:focus img[alt*="全ページ表示"] {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(21, 51, 76, .18);
}

/* Class page: lively, readable introduction under the discount header. */
body#class .content_wrap .class_lead {
	display: grid;
	width: min(860px, calc(100% - 28px));
	max-width: none;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
	margin: 18px auto 28px;
	color: #123354;
	font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
}

body#class .class_lead * {
	box-sizing: border-box;
	letter-spacing: 0;
}

body#class .class_lead__item {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 82px;
	padding: 11px 13px;
	background: #fff;
	border: 1px solid #cbd8e3;
	border-top-width: 4px;
	border-radius: 7px;
}

body#class .class_lead__item--calendar {
	background: #edfafd;
	border-top-color: #00a89d;
}

body#class .class_lead__item--student {
	background: #fff1f7;
	border-top-color: #ed2f79;
}

body#class .class_lead__item--team {
	background: #fff8dc;
	border-top-color: #f2a313;
}

body#class .class_lead__icon {
	display: grid;
	width: 42px;
	height: 42px;
	color: #fff;
	place-items: center;
	border-radius: 50%;
}

body#class .class_lead__item--calendar .class_lead__icon {
	background: #00a89d;
}

body#class .class_lead__item--student .class_lead__icon {
	background: #ed2f79;
}

body#class .class_lead__item--team .class_lead__icon {
	background: #ef9412;
}

body#class .class_lead__icon svg {
	display: block;
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body#class .class_lead__item strong {
	display: block;
	margin-top: 2px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.35;
}

body#class .class_lead__item--calendar strong {
	color: #008d85;
}

body#class .class_lead__item--student strong {
	color: #d91864;
}

body#class .class_lead__item--team strong {
	color: #d67900;
}

/* Keep dense catalog text crisp by avoiding an oversized desktop preview. */
body#class .content_wrap #photo {
	width: min(500px, 100%);
	padding: 12px;
	aspect-ratio: 625 / 872;
}

body#class .content_wrap #photo img {
	top: 12px;
	left: 12px;
	width: calc(100% - 24px);
	height: calc(100% - 24px);
}

body#class .content_wrap #navi ul {
	width: min(500px, 100%);
	gap: 6px;
}

/* NSP contact menu separators: start */
#left .side_forms ul li a,
#left_sp .side_forms ul li a {
	border-bottom: none;
}

#left .side_forms ul li.side_forms_section_end a,
#left_sp .side_forms ul li.side_forms_section_end a {
	border-bottom: solid 1px #219a87;
}

#left .side_forms ul li.side_forms_group_end a,
#left_sp .side_forms ul li.side_forms_group_end a {
	border-bottom: solid 3px #219a87;
}
/* NSP contact menu separators: end */


/* NSP compact tax-inclusive price display */
#gallery_contents .list .box p.price {
	text-overflow: clip;
}

#gallery_contents .list .box .nsp-gallery-price-value {
	font-size: 13px;
}

#gallery_contents .list .box .nsp-gallery-price-tax {
	margin-left: 1px;
	font-size: 9px;
	font-weight: 600;
}

#gallery_contents .list .box .nsp-gallery-price-suffix {
	display: inline-block;
	margin-left: 1px;
	font-size: 12px;
	white-space: nowrap;
}

/* 商品一覧 スペックバッジ（D案: オンス主役） */
.nsp-spec-badges{
	display:flex; flex-wrap:wrap; gap:7px; align-items:center;
	margin:6px 0 8px;
}

.nsp-spec-badges .nsp-oz{
	display:inline-flex;
	align-items:baseline;
	gap:1px;
	color:#fff;
	padding:3px 9px 4px;
	border:0;
	border-radius:7px;
	line-height:1;
	box-shadow:0 2px 0 rgba(0,0,0,.13);
	font-family:inherit;
}

/* 数値（主役） */
.nsp-spec-badges .nsp-oz em{
	font-size:15px;
	font-weight:700;
	font-style:normal;
	letter-spacing:-.3px;
	line-height:1;
}

/* 単位 oz */
.nsp-spec-badges .nsp-oz i{
	font-size:10.5px;
	font-weight:700;
	font-style:normal;
	opacity:.85;
	line-height:1;
}

/* 区分ラベル（薄手・標準・厚手・超厚手） */
.nsp-spec-badges .nsp-oz b{
	font-size:10px;
	font-weight:700;
	margin-left:5px;
	opacity:.9;
	align-self:baseline;
	letter-spacing:.4px;
	line-height:1;
}

/* 地色（4段階） */
.nsp-spec-badges .nsp-oz--thin  { background:#0b8ce8; }
.nsp-spec-badges .nsp-oz--mid   { background:#16a34a; }
.nsp-spec-badges .nsp-oz--thick { background:#ea8000; }
.nsp-spec-badges .nsp-oz--xthick{ background:#dc3545; }

/* 素材ピル */
.nsp-spec-badges .nsp-b{
	font-size:11.5px; font-weight:700;
	padding:4px 9px; border:0; border-radius:20px;
	background:#eff2f5; color:#4a5560;
	line-height:1.25; white-space:nowrap;
}

/* 機能ピル */
.nsp-spec-badges .nsp-b--fn{ background:#e6f6f4; color:#0f766e; font-weight:800; }

@media screen and (max-width:767px){
	.nsp-spec-badges{ gap:5px; }
	.nsp-spec-badges .nsp-oz{ padding:3px 9px 4px; }
	.nsp-spec-badges .nsp-oz em{ font-size:15px; font-weight:900; }
	.nsp-spec-badges .nsp-oz i{ font-weight:800; }
	.nsp-spec-badges .nsp-oz b{ font-weight:800; }
	.nsp-spec-badges .nsp-b{ font-size:10.5px; padding:3px 8px; }
}

#gallery_contents .items .details .price .value.nsp-gallery-price-compact {
	white-space: nowrap;
}

#gallery_contents .items .details .price .value.nsp-gallery-price-compact .nsp-gallery-price-net {
	font-size: 30px;
}

#gallery_contents .items .details .price .value.nsp-gallery-price-compact .nsp-gallery-price-included {
	margin-left: 3px;
	font-size: 13px;
	font-weight: 600;
}

#gallery_contents .items .details .price .value.nsp-gallery-price-compact .nsp-gallery-price-suffix {
	margin-left: 1px;
	font-size: 20px;
}

.nsp-stock-summary .nsp-stock-summary-price {
	white-space: nowrap;
}

.nsp-stock-summary .nsp-stock-summary-price small {
	margin-left: 2px;
	font-size: 11px;
	font-weight: 600;
}

.nsp-stock-summary .nsp-stock-summary-price b {
	margin-left: 1px;
	font-size: 13px;
}


/* NSP compact color stock modal price */
.nsp-color-stock-modal__summary [data-nsp-color-modal-price] {
	white-space: nowrap;
}

.nsp-color-stock-modal__summary [data-nsp-color-modal-price] small {
	margin-left: 2px;
	font-size: 0.65em;
	font-weight: 600;
}

.nsp-color-stock-modal__summary [data-nsp-color-modal-price] b {
	margin-left: 1px;
	font-size: 0.8em;
}

/* NSP stock card tax-inclusive price */
#gallery_contents .nsp-stock-price-tax {
	display: block;
	margin-top: 1px;
	color: #607483;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.15;
	white-space: nowrap;
}

/* Print fee page 2026 */
body#print .nsp-print-page {
	color: #17324d;
	font-family: "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	font-size: 15px;
	line-height: 1.7;
}

body#print .nsp-print-page *,
body#print .nsp-print-page *::before,
body#print .nsp-print-page *::after {
	box-sizing: border-box;
}

body#print .nsp-print-page img {
	max-width: 100%;
	height: auto;
}

body#print .nsp-print-page .title {
	margin-bottom: 18px;
}

body#print .nsp-print-intro {
	margin-bottom: 34px;
}

body#print .nsp-print-intro h2,
body#print .nsp-print-methods > h2 {
	margin: 0 0 12px;
	line-height: 0;
}

body#print .nsp-print-intro__formula {
	display: block;
	width: 100%;
	margin: 20px auto 12px;
}

body#print .nsp-print-intro__lead {
	margin: 10px 0 18px;
	color: #178c82;
	font-weight: 700;
	text-align: center;
}

body#print .nsp-print-method-nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 14px 22px;
}

body#print .nsp-print-method-nav a {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: stretch;
	overflow: hidden;
	color: #17324d;
	text-decoration: none;
	background: #fff;
	border: 1px solid #cbd9df;
}

body#print .nsp-print-method-nav a:hover {
	border-color: #1ea394;
	box-shadow: 0 4px 12px rgba(23, 50, 77, .12);
}

body#print .nsp-print-method-nav img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

body#print .nsp-print-method-nav span {
	display: flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 7px 4px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	background: #1f9f8d;
}

body#print .nsp-print-simulator-button {
	display: flex;
	width: min(460px, 100%);
	min-height: 58px;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 0 auto;
	padding: 12px 24px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	background: #f47a13;
	border: 2px solid #fff;
	outline: 2px solid #f47a13;
}

body#print .nsp-print-simulator-button:hover {
	background: #df6500;
}

body#print .nsp-print-simulator-button b {
	font-size: 30px;
	line-height: 1;
}

body#print .nsp-print-section {
	margin: 0 0 28px;
	padding: 22px 20px 20px;
	background: #fff;
	border: 1px solid #cfdde3;
	border-top: 5px solid #1f9f8d;
}

body#print .nsp-print-section__heading {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 17px;
}

body#print .nsp-print-section__heading > span {
	display: inline-flex;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	background: #1f9f8d;
}

body#print .nsp-print-section__heading.is-orange > span {
	background: #f47a13;
}

body#print .nsp-print-section__heading h2 {
	margin: 0;
	color: #17324d;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.35;
}

body#print .nsp-print-section__heading p {
	margin: 4px 0 0;
	color: #5e7280;
	font-size: 13px;
	line-height: 1.65;
}

body#print .nsp-print-location-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

body#print .nsp-print-location-grid > div {
	display: flex;
	min-height: 132px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 14px 10px;
	text-align: center;
	background: #f7fafb;
	border: 1px solid #cfdde3;
}

body#print .nsp-print-location-grid small,
body#print .nsp-print-location-grid span {
	display: block;
	font-size: 12px;
}

body#print .nsp-print-location-grid strong {
	display: block;
	margin: 5px 0;
	font-size: 30px;
	line-height: 1.2;
}

body#print .nsp-print-note {
	margin: 16px 0 0;
	padding: 13px 15px;
	color: #884300;
	font-size: 13px;
	background: #fff3e8;
	border-left: 4px solid #f47a13;
}

body#print .nsp-print-note b {
	display: block;
	margin-bottom: 2px;
}

body#print .nsp-print-price-table-wrap,
body#print .nsp-print-option-table-wrap,
body#print .nsp-print-simple-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body#print .nsp-print-price-table,
body#print .nsp-print-option-table,
body#print .nsp-print-simple-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	table-layout: fixed;
}

body#print .nsp-print-price-table th,
body#print .nsp-print-price-table td,
body#print .nsp-print-option-table th,
body#print .nsp-print-option-table td,
body#print .nsp-print-simple-table th,
body#print .nsp-print-simple-table td {
	padding: 12px 10px;
	vertical-align: middle;
	border: 1px solid #cedbe2;
}

body#print .nsp-print-price-table thead th,
body#print .nsp-print-option-table thead th,
body#print .nsp-print-simple-table thead th {
	color: #fff;
	font-weight: 700;
	text-align: left;
	background: #17324d;
}

body#print .nsp-print-price-table thead th:not(:first-child) {
	text-align: center;
}

body#print .nsp-print-price-table thead b,
body#print .nsp-print-price-table thead span {
	display: block;
}

body#print .nsp-print-price-table thead b {
	font-size: 18px;
}

body#print .nsp-print-price-table thead span {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
}

body#print .nsp-print-price-table tbody th,
body#print .nsp-print-option-table tbody th,
body#print .nsp-print-simple-table tbody th {
	color: #17324d;
	font-weight: 700;
	text-align: left;
	background: #f5f8fa;
}

body#print .nsp-print-price-table tbody td {
	color: #17324d;
	text-align: center;
}

body#print .nsp-print-price-table tbody tr:nth-child(even) td,
body#print .nsp-print-option-table tbody tr:nth-child(even) td {
	background: #fbfcfd;
}

body#print .nsp-print-price-table td strong {
	display: block;
	font-size: 17px;
	line-height: 1.2;
}

body#print .nsp-print-price-table td small,
body#print .nsp-print-simple-table td small,
body#print .nsp-print-option-table td small {
	display: block;
	margin-top: 3px;
	color: #6f818e;
	font-size: 10px;
	line-height: 1.25;
}

body#print .nsp-print-table-help {
	margin: 10px 0 0;
	color: #647885;
	font-size: 12px;
	text-align: right;
}

body#print .nsp-print-simple-table th:first-child {
	width: 42%;
}

body#print .nsp-print-simple-table .is-addition,
body#print .nsp-print-option-table .is-addition {
	color: #d74326;
	font-weight: 700;
}

body#print .nsp-print-option-table {
	min-width: 680px;
}

body#print .nsp-print-option-table th:nth-child(1) {
	width: 24%;
}

body#print .nsp-print-option-table th:nth-child(2) {
	width: 26%;
}

body#print .nsp-print-option-table th:nth-child(3) {
	width: 16%;
}

body#print .nsp-print-option-table .is-discount,
body#print .nsp-print-tier-price b {
	color: #008a70;
	font-weight: 700;
}

body#print .nsp-print-tier-price span {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 8px;
	padding: 4px 0;
	border-bottom: 1px dotted #c4d0d6;
}

body#print .nsp-print-tier-price span:last-child {
	border-bottom: 0;
}

body#print .nsp-print-tier-price small {
	grid-column: 1 / -1;
	margin: 0;
}

body#print .nsp-print-methods {
	margin-top: 34px;
}

body#print .nsp-print-method {
	scroll-margin-top: 20px;
	margin: 0 0 28px;
	border: 1px solid #cfdde3;
}

body#print .nsp-print-method__heading {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0 12px;
	padding: 12px 16px;
	background: #eef8f5;
	border-left: 6px solid #1f9f8d;
}

body#print .nsp-print-method__heading > span {
	grid-row: 1 / 3;
	padding-right: 12px;
	color: #1f9f8d;
	font-size: 12px;
	font-weight: 700;
	border-right: 1px solid #bdd7d1;
}

body#print .nsp-print-method__heading h3 {
	margin: 0;
	color: #17324d;
	font-size: 22px;
	line-height: 1.3;
}

body#print .nsp-print-method__heading p {
	margin: 2px 0 0;
	color: #607580;
	font-size: 12px;
}

body#print .nsp-print-method__body {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 24px;
	align-items: center;
	padding: 20px;
}

body#print .nsp-print-method__body > img {
	display: block;
	width: 100%;
	max-height: 250px;
	object-fit: contain;
}

body#print .nsp-print-method__body h4 {
	margin: 0 0 4px;
	font-size: 17px;
}

body#print .nsp-print-method__body h4.bad {
	margin-top: 18px;
}

body#print .nsp-print-method__body p {
	margin: 0;
}

body#print .nsp-print-footer-note {
	margin: 22px 0 0;
	padding: 13px 15px;
	color: #5f7280;
	font-size: 12px;
	text-align: center;
	background: #f4f7f9;
	border-top: 1px solid #d0dde3;
}

/* Print fee page 2026 visual refresh */
body#print .nsp-print-page {
	width: 100%;
	max-width: 100%;
	margin: 0;
	color: #163247;
	font-family: "Noto Sans JP", "BIZ UDPGothic", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
}

body#print .nsp-print-page .title {
	margin: 0 0 18px;
	padding: 17px 22px 16px;
	color: #fff;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	background: #15394f;
	border: 0;
	border-left: 8px solid #13a393;
}

body#print .nsp-print-intro {
	margin-bottom: 34px;
	padding: 26px 26px 24px;
	background: #f4f8f9;
	border-top: 1px solid #d3e0e4;
	border-bottom: 1px solid #d3e0e4;
}

body#print .nsp-print-intro__heading {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: end;
	gap: 2px 14px;
	margin-bottom: 18px;
}

body#print .nsp-print-eyebrow {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	color: #138d82;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}

body#print .nsp-print-intro__heading h2 {
	grid-column: 1;
	grid-row: 2;
	margin: 0;
	color: #15394f;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.25;
}

body#print .nsp-print-intro__heading > p:last-child {
	grid-column: 2;
	grid-row: 1 / 3;
	margin: 0 0 2px;
	color: #536b78;
	font-size: 13px;
	line-height: 1.6;
}

body#print .nsp-print-cost-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) 34px minmax(0, 1fr);
	align-items: stretch;
	margin: 0 0 16px;
}

body#print .nsp-print-cost-flow > div {
	display: flex;
	min-width: 0;
	min-height: 104px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 14px 10px;
	text-align: center;
	background: #fff;
	border-top: 3px solid #13a393;
	border-bottom: 1px solid #cbd9de;
}

body#print .nsp-print-cost-flow > div.is-total {
	color: #fff;
	background: #15394f;
	border-color: #f47a13;
}

body#print .nsp-print-cost-flow > b {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #8195a0;
	font-size: 22px;
	font-weight: 500;
}

body#print .nsp-print-cost-flow span {
	color: #138d82;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
}

body#print .nsp-print-cost-flow .is-total span {
	color: #ffb56f;
}

body#print .nsp-print-cost-flow strong {
	display: block;
	margin: 4px 0 3px;
	font-size: 21px;
	line-height: 1.3;
}

body#print .nsp-print-cost-flow small {
	color: #657b87;
	font-size: 11px;
	line-height: 1.4;
}

body#print .nsp-print-cost-flow .is-total small {
	color: #d8e4e9;
}

body#print .nsp-print-intro__lead {
	margin: 0 0 16px;
	padding: 9px 12px;
	color: #15394f;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	background: #e3f3f0;
	border-left: 4px solid #13a393;
}

body#print .nsp-print-method-nav {
	gap: 14px;
	margin: 18px;
}

body#print .nsp-print-method-nav a {
	display: flex;
	min-height: 0;
	aspect-ratio: 1 / 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
    padding: 0;
	background: #fff;
	border: 2px solid #d98cab;
}

body#print .nsp-print-method-nav a:nth-child(2) {
	border-color: #91bb54;
}

body#print .nsp-print-method-nav a:nth-child(3) {
	border-color: #e69a3b;
}

body#print .nsp-print-method-nav a:nth-child(4) {
	border-color: #4b91b5;
}

body#print .nsp-print-method-nav img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}

body#print .nsp-print-method-nav span {
	min-height: 0;
	padding: 8px 2px 0;
	color: #17324d;
	font-size: 14px;
	background: #fff;
}

body#print .nsp-print-simulator-button {
	width: min(520px, 100%);
	min-height: 56px;
	color: #fff;
	font-size: 18px;
	background: #ef7615;
	border: 0;
	outline: 0;
	box-shadow: 0 3px 0 #b84e00;
}

body#print .nsp-print-section {
	margin-bottom: 32px;
	padding: 24px 24px 22px;
	border: 0;
	border-top: 1px solid #c9d8de;
	border-bottom: 1px solid #c9d8de;
}

body#print .nsp-print-section__heading {
	align-items: center;
	margin-bottom: 19px;
}

body#print .nsp-print-section__heading > span {
	width: 34px;
	height: 34px;
	flex-basis: 34px;
	font-size: 12px;
	background: #15394f;
}

body#print .nsp-print-section__heading.is-orange > span {
	background: #ef7615;
}

body#print .nsp-print-section__heading h2 {
	font-size: 24px;
}

body#print .nsp-print-location-grid > div {
	min-height: 120px;
	background: #f3f7f9;
	border: 0;
	border-top: 3px solid #9fb4be;
}

body#print .nsp-print-price-table,
body#print .nsp-print-option-table,
body#print .nsp-print-simple-table {
	border: 1px solid #bccdd5;
}

body#print .nsp-print-price-table thead th,
body#print .nsp-print-option-table thead th,
body#print .nsp-print-simple-table thead th {
	background: #15394f;
}

body#print .nsp-print-price-table tbody tr:hover td,
body#print .nsp-print-price-table tbody tr:hover th {
	background: #fff5e9;
}

body#print .nsp-print-methods {
	margin-top: 38px;
}

body#print .nsp-print-method {
	margin-bottom: 28px;
	border: 0;
	border-top: 1px solid #c9d8de;
	border-bottom: 1px solid #c9d8de;
}

body#print .nsp-print-method__heading {
	padding: 13px 18px;
	background: #edf6f4;
	border-left-color: #138d82;
}

body#print .nsp-print-method:nth-of-type(even) .nsp-print-method__heading {
	background: #f2f5f7;
	border-left-color: #ef7615;
}

body#print .nsp-print-method__body {
	grid-template-columns: 220px minmax(0, 1fr);
	padding: 22px;
}

body#print .nsp-print-method__body > img {
	max-height: 220px;
}

body#print #dtf .nsp-print-method__body > img {
	width: 220px;
	height: 220px;
	max-height: none;
	object-fit: cover;
}

body#print .nsp-print-method__body > picture,
body#print .nsp-print-method__body > picture > img {
	max-height: 220px;
}

body#print #dtf .nsp-print-method__body > picture,
body#print #dtf .nsp-print-method__body > picture > img {
	width: 220px;
	height: 220px;
	max-height: none;
}

body#print #dtf .nsp-print-method__body > picture > img {
	object-fit: cover;
}

@media print {
	body#print .nsp-print-simulator-button,
	body#print .nsp-print-method-nav {
		display: none;
	}

	body#print .nsp-print-section,
	body#print .nsp-print-method {
		break-inside: avoid;
	}
}

/* トップページ お客様デザイン紹介 */
body#top .photo_slider_txt {
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
	margin: 24px auto 20px;
	padding: 8px 12px;
	text-align: center;
}

body#top .photo_slider_txt > br:not(.br-sp) {
	display: block;
	height: 8px;
	content: "";
}

body#top .photo_slider_title {
	display: block;
	color: #15394f;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-color: rgba(239, 118, 21, 0.7);
	text-decoration-thickness: 3px;
	text-underline-offset: 7px;
}

body#top .photo_slider_txt .underline {
	display: inline;
	color: #00766d;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-color: rgba(0, 118, 109, 0.36);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

@media screen and (max-width: 750px) {
	body#top .photo_slider_txt {
	margin: 20px auto 16px;
	padding: 4px 10px;
	}

	body#top .photo_slider_title {
		font-size: 20px;
		letter-spacing: 0.02em;
		text-decoration-thickness: 2px;
		text-underline-offset: 5px;
	}

	body#top .photo_slider_txt .underline {
		font-size: 13px;
		letter-spacing: 0;
		text-decoration-thickness: 1px;
		text-underline-offset: 3px;
	}
}

/* Form privacy notice */
.form-privacy-note {
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
	margin: 20px auto 10px;
	padding: 12px 14px;
	border-left: 4px solid #008f83;
	background: #f2f8f7;
	color: #24475c;
	font-size: 14px;
	line-height: 1.7;
	text-align: left;
}

.form-privacy-note p {
	margin: 0 !important;
}

.form-privacy-note a {
	color: #006f67;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media screen and (max-width: 750px) {
	.form-privacy-note {
		margin-top: 16px;
		padding: 11px 12px;
		font-size: 13px;
	}
}

/* --- nsp-class-actions: デザインツール(任意)＋注文2ルート(20260821) --- */
body#class .nsp-class-actions__note {
	margin: 8px 0 0;
	color: #718492;
	font-size: 11px;
	text-align: center;
}

body#class .nsp-class-actions__divider {
	position: relative;
	margin: 20px 0 14px;
	text-align: center;
}

body#class .nsp-class-actions__divider::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: #d8e3ec;
}

body#class .nsp-class-actions__divider span {
	position: relative;
	padding: 0 12px;
	color: #536b7c;
	font-size: 12px;
	font-weight: 700;
	background: #f6f9fc;
}

body#class .nsp-class-actions__routes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	align-items: start;
}

body#class .nsp-class-actions__route {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body#class .nsp-class-actions__route-label {
	margin: 0 0 8px;
	color: #102f5f;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}

body#class .nsp-class-actions__route .nsp-class-actions__documents {
	margin-top: 0;
}

body#class .nsp-class-actions__route .nsp-class-actions__order {
	margin-top: 0;
}

body#class .nsp-class-actions__route-footnote {
	margin: 10px 0 0;
	color: #536b7c;
	font-size: 11px;
	line-height: 1.6;
}

/* --- nsp-class-actions: ご注文フォームボタン(見積依頼ルート) 20260821 --- */
body#class .nsp-class-actions__request {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 72px;
	padding: 13px 17px;
	color: #fff;
	text-decoration: none;
	background: #2f6fb4;
	border-radius: 6px;
	box-shadow: 0 3px 0 #23568c;
	transition: filter .18s ease, transform .18s ease;
}

body#class .nsp-class-actions__request:hover {
	color: #fff;
	filter: brightness(1.06);
	transform: translateY(-1px);
}

body#class .nsp-class-actions__request strong {
	display: block;
	color: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

body#class .nsp-class-actions__request small {
	display: block;
	margin-top: 2px;
	color: inherit;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	opacity: .9;
}

body#class .nsp-class-actions__route .nsp-class-actions__documents {
	margin-top: 12px;
	padding: 12px;
	background: #eef3f8;
	border: 1px solid #d8e3ec;
	border-radius: 6px;
}

/* --- nsp-class-actions: 左カラムの補足リスト(高さ調整も兼ねる) 20260821 --- */
body#class .nsp-class-actions__points {
	margin-top: 12px;
	padding: 12px;
	background: #eef3f8;
	border: 1px solid #d8e3ec;
	border-radius: 6px;
}

body#class .nsp-class-actions__points > p {
	margin: 0 0 8px;
	color: #536b7c;
	font-size: 12px;
	line-height: 1.7;
}

body#class .nsp-class-actions__points ul {
	margin: 0;
	padding-left: 1.1em;
	list-style: disc;
}

body#class .nsp-class-actions__points li {
	margin: 0 0 5px;
	color: #536b7c;
	font-size: 11px;
	line-height: 1.6;
}

body#class .nsp-class-actions__points li:last-child {
	margin-bottom: 0;
}

/* --- nsp-print-method__body: pictureタグ内のimgにも同じサイズ指定を適用(20260821) --- */
body#print .nsp-print-method__body > picture,
body#print .nsp-print-method__body > picture > img {
	display: block;
	width: 100%;
	max-height: 250px;
}

body#print .nsp-print-method__body > picture > img {
	object-fit: contain;
}

/* --- 割引・オプション表: 学校納品のみグループの視覚統合(20260821 修正版) --- */
body#print .nsp-print-option-table tr.nsp-print-school-group th,
body#print .nsp-print-option-table tr.nsp-print-school-group td:not([rowspan]) {
	border-left: 2px solid #0aa59d;
	border-right: 2px solid #0aa59d;
}

body#print .nsp-print-option-table tr.nsp-print-school-group--first th,
body#print .nsp-print-option-table tr.nsp-print-school-group--first td:not([rowspan]) {
	border-top: 2px solid #0aa59d;
}

body#print .nsp-print-option-table tr.nsp-print-school-group--last th,
body#print .nsp-print-option-table tr.nsp-print-school-group--last td:not([rowspan]) {
	border-bottom: 2px solid #0aa59d;
}

body#print .nsp-print-option-table td[rowspan] {
	vertical-align: middle;
	text-align: center;
	border: 2px solid #0aa59d;
}

/* --- 単色/カラー見出しアイコン(20260821) --- */
body#print .nsp-print-mode-icon {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	flex: 0 0 auto;
	margin-right: 2px;
}

body#print .nsp-print-mode-icon i {
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, .25);
}

body#print .nsp-print-mode-icon--mono i:nth-child(1) {
	background: #fff;
}

body#print .nsp-print-mode-icon--mono i:nth-child(2) {
	background: #1a1a1a;
	margin-left: -4px;
}

body#print .nsp-print-mode-icon--cmyk i {
	border: none;
	margin-left: -4px;
}

body#print .nsp-print-mode-icon--cmyk i:first-child {
	margin-left: 0;
}

body#print .nsp-print-mode-icon--cmyk i:nth-child(1) { background: #00aeef; }
body#print .nsp-print-mode-icon--cmyk i:nth-child(2) { background: #ec008c; }
body#print .nsp-print-mode-icon--cmyk i:nth-child(3) { background: #fff200; }
body#print .nsp-print-mode-icon--cmyk i:nth-child(4) { background: #1a1a1a; }

/* Print fee sections 02-05: accordion 20260824 */
body#print .nsp-print-accordion {
	display: grid;
	gap: 12px;
	width: 100%;
	margin: 0 0 36px;
}

body#print .nsp-print-accordion-item {
	border: 1px solid #c7d8dc;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(23, 50, 77, 0.07);
	box-sizing: border-box;
	overflow: hidden;
	scroll-margin-top: 16px;
}

body#print .nsp-print-accordion-item > summary {
	position: relative;
	display: flex;
	min-height: 62px;
	align-items: center;
	gap: 12px;
	padding: 12px 58px 12px 18px;
	color: #17324d;
	cursor: pointer;
	font-family: "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0;
	list-style: none;
	transition: color 0.18s ease, background-color 0.18s ease;
}

body#print .nsp-print-accordion-item > summary::-webkit-details-marker {
	display: none;
}

body#print .nsp-print-accordion-item > summary:hover {
	background: #f2f8f7;
}

body#print .nsp-print-accordion-item > summary:focus-visible {
	outline: 3px solid rgba(19, 141, 130, 0.25);
	outline-offset: -3px;
}

body#print .nsp-print-accordion-item[open] {
	border-color: #138d82;
	box-shadow: 0 5px 18px rgba(19, 141, 130, 0.12);
}

body#print .nsp-print-accordion-item[open] > summary {
	color: #fff;
	background: #138d82;
}

body#print .nsp-print-accordion-item > summary strong {
	font: inherit;
}

body#print .nsp-print-accordion-toggle {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 22px;
	height: 22px;
	transform: translateY(-50%);
}

body#print .nsp-print-accordion-toggle::before,
body#print .nsp-print-accordion-toggle::after {
	position: absolute;
	top: 10px;
	left: 3px;
	width: 16px;
	height: 2px;
	content: "";
	background: currentColor;
	transition: transform 0.18s ease;
}

body#print .nsp-print-accordion-toggle::after {
	transform: rotate(90deg);
}

body#print .nsp-print-accordion-item[open] .nsp-print-accordion-toggle::after {
	transform: rotate(0deg);
}

body#print .nsp-print-accordion-body {
	padding: 18px 20px 20px;
	border-top: 1px solid #d8e3e7;
}

body#print .nsp-print-accordion-lead {
	margin: 0 0 16px;
	color: #5e7280;
	font-size: 13px;
	line-height: 1.65;
}

/* Home product carousel */
body#top .nsp-recently-viewed {
	width: 100%;
	margin: 24px auto 34px;
	text-align: left;
}

body#top .nsp-recently-viewed__list {
	display: flex;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 0 0 8px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	list-style: none;
}

body#top .nsp-recently-viewed__item {
	display: flex;
	flex: 0 0 calc((100% - 32px) / 4.5);
	min-width: 0;
	margin: 0;
	padding: 0;
	scroll-snap-align: start;
}

body#top .nsp-recently-viewed__card {
	position: relative;
	display: flex;
	width: 100%;
	height: 210px;
	box-sizing: border-box;
	flex-direction: column;
	padding: 7px;
	border: 1px solid #cfdae0;
	border-radius: 5px;
	color: #12334f;
	background: #fff;
	text-decoration: none;
	overflow: hidden;
}

body#top .nsp-recently-viewed__card:hover {
	border-color: #009e91;
	box-shadow: 0 4px 12px rgba(0, 126, 116, .12);
}

body#top .nsp-recently-viewed__product-image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	flex: 0 0 auto;
	margin: 0 0 6px;
	object-fit: contain;
	background: #fff;
}

body#top .nsp-recently-viewed__code {
	display: block;
	overflow: hidden;
	color: #007d73;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body#top .nsp-recently-viewed__name {
	display: -webkit-box;
	overflow: hidden;
	height: 35px;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body#top .nsp-recently-viewed__source {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 1;
	display: inline-flex;
	min-width: 58px;
	height: 20px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 2px 7px;
	border: 1px solid #53616b;
	border-radius: 10px;
	color: #172b3b;
	background: rgba(255, 255, 255, .94);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
}


/* Gallery category mobile select 2026-08-27 */
.nsp-gallery-category-select-wrap {
	display: none;
}

@media screen and (max-width: 767px) {
	.nsp-gallery-category-nav {
		padding: 12px;
	}

	.nsp-gallery-category-title {
		margin-bottom: 8px;
	}

	.nsp-gallery-category-nav ul {
		display: none;
	}

	.nsp-gallery-category-select-wrap {
		display: block;
	}

	.nsp-gallery-category-select {
		width: 100%;
		height: 46px;
		box-sizing: border-box;
		margin: 0;
		padding: 0 38px 0 12px;
		border: 1px solid #8da6b2;
		border-radius: 5px;
		background: #fff;
		color: #16394f;
		font-size: 16px;
		font-weight: bold;
	}

	.nsp-gallery-category-select:focus {
		border-color: #009b8f;
		outline: none;
		box-shadow: 0 0 0 3px rgba(0, 155, 143, 0.14);
	}
}
