@charset "utf-8";
/* 見出し
------------------------------------------------ */
.cmn_ttl_block {
	position: relative;
	background: url(../images/common/line_ttl.png) repeat-x 0 100%;
	margin-bottom: 15px;
}

.cmn_ttl_mb {
	margin-bottom: 45px;
}


.cmn_ttl {
	font-size: 31px;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	padding: 33px 10px 10px 87px;
	line-height: 120%;
}

.cmn_ttl_icon {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}

.cmn_ttl_icon img {
	vertical-align: top;
}

.cmn_subttl {
  position: relative;
  padding-left: 30px;
  font-size: 24px;
  font-weight: normal;
  margin-bottom: 16px;
}

.cmn_subttl:before {
	position: absolute;
	top: 0;
	left: 0;
	content: '■';
	color: #5E4691;
}


/* 共通
------------------------------------------------ */
.cmn_block {
	margin: 0 15px 30px 15px;
}

.cmn_ol {
	margin-left: 30px;
}

.cmn_ol li {
	list-style-type: decimal;
}

.cmn_ul {
	margin-left: 30px;
}

.cmn_ul li {
	list-style-type: disc;
}



/* メインビジュアル
------------------------------------------------ */
.main_img {
	min-width: 1024px;
}

.main_img img {
	width: 100%;
	vertical-align: top;
}

.main_img_area.-top {
	height: 580px;
	min-width: 1024px;
  background: url(../images/top/main_img.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
  z-index: -1;
}

.main_img_area.-top .main_img_box{
  opacity: 0;
}

 .main_img_area {
	height: 350px;
	min-width: 1024px;
	background: url(../images/common/main_img.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}


.main_img_box {
	position: absolute;
	top: 130px;
	left: 15.4%;
	width: 84.6%;
}

.main_img_ttl_box {
	background: url(../images/common/main_img_ttl_bg.png) no-repeat 0 center;
}

.main_img_ttl {
	color: #ffffff;
	font-size: 40px;
	font-weight: normal;
	line-height: 100%;
	padding: 24px 50px 20px 50px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

/* TOP
------------------------------------------------ */
.top_main_img {
	min-width: 1146px;
}

/* 選ばれる理由（ストロングポイント） */
.top_reason_area img {
	vertical-align: top;
}

.top_reason_ttl {
	margin-bottom: 38px;
}

.top_reason_block {
	background: url(../images/top/reason_bg01.png) no-repeat 255px 224px;
}

.top_reason_bg01 {
	background: url(../images/top/reason_bg02.png) no-repeat 255px 538px;
}

.top_reason_bg02 {
	background: url(../images/top/reason_bg01.png) no-repeat 255px 843px;
}


.top_reason_sub_ttl {
	margin-bottom: 18px;
}

.top_reason_sub_ttl img {
	vertical-align: top;
}

.top_reason_txt {
	font-size: 16px;
	line-height: 160%;
	padding: 24px 40px 0 40px;
}


.top_reason01_img {
	text-align: right;
	padding-right: 70px;
}

.top_reason01_img img {
	vertical-align: bottom;

}

/* 価格表 */
.top_price_area {
	margin-bottom: 40px;
}
.top_price_area img {
	vertical-align: top;
}

.top_price_ttl {
	margin-bottom: 34px;
}

.top_price_block {
	margin: 20px 0 20px 45px;
}

.top_price_left {
	width: 420px;
	float: left;
}

.top_price_img {
	width: 200px;
	float: right;
	text-align: center;
	padding-top: 6px;
}

.top_price_img_list li {
	width: 180px;
	float: left;
	margin-right: 2px;
}

.top_price_img_list li img {
	max-width: 100%;
	vertical-align: top;
}

/* 価格表テーブル */
.cmn_price_tbl {
	border-collapse: collapse;
}

.cmn_price_tbl_type01 {
	width: 100%;
}

.cmn_price_tbl th {
	box-sizing: border-box;
	font-size: 15px;
	font-weight: bold;
	line-height: 160%;
	vertical-align: middle;
	background: url(../images/common/bg03.png) repeat 0 0;
	border: 1px solid #999999;
}

.cmn_price_tbl td {
	box-sizing: border-box;
	font-size: 15px;
	line-height: 160%;
	vertical-align: middle;
	background-color: rgba(255,255,255,0.5);
	border: 1px solid #999999;
}

.cmn_price_box01 {
	text-align: center;
	padding: 20px 42px;
}

.cmn_price_box02 {
	width: 130px;
	text-align: center;
	padding: 20px 10px;
	box-sizing: border-box;
}

.cmn_price_box03 {
	padding: 20px 10px;
	box-sizing: border-box;
}


/* ご注文方法 */
.top_method_area {
	margin-bottom: 40px;
}
.top_method_area img {
	vertical-align: top;
}

.top_method_ttl {
	margin-bottom: 40px;
}

.top_method_contact {
	background: url(../images/top/contact_img.png) no-repeat 0 0;
	width: 100%;
	height: 190px;
	box-sizing: border-box;
	padding: 15px 0 0 38px;
	margin-bottom: 25px;
}

.top_method_info_list {
	margin: 0 0 0 -18px;
}

.top_method_info_list li {
	width: 230px;
	float: left;
	position: relative;
	box-sizing: border-box;
	padding: 2px 2px 20px 2px;
	background: #ffffff;
	margin: 0 0 20px 18px;
}

.top_method_info_ttl_block {
	display: table;
	width: 226px;
	height: 90px;
	background: url(../images/top/purpose_ttl_bg.png) repeat center 0;
}

.top_method_info_ttl {
	display: table-cell;
	width: 100%;
	height: 100%;
	color: #ffffff;
	vertical-align: middle;
	text-align: center;
	font-size: 22px;
	box-sizing: border-box;
}

.top_method_info_txt {
	padding: 20px 14px 0 14px;
	font-size: 16px;
	line-height: 160%;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.faxlink_color{
color: white!important;
text-decoration:underline!important;

}


/*
===============================
outlet
===============================
*/
.item_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px;
}
.item_box{
  width: 340px;
  background: #fff;
  padding-top: 10px;
  box-shadow: 3px 3px 5px 0 rgba(0,0,0,0.1) ;
  margin-bottom: 40px;
}
.item_data{
  width: 280px;
  margin: 0 auto 25px;
}
.item_data dl {
  border-bottom: solid #ccc 1px;
  font-size: 16px;
  padding: 10px 0;
  overflow: auto;
}
.item_data dl dt{
  font-weight: bold;
  width: 100px;
  float: left;
}
.item_data dl dd{
  width: 180px;
  text-align: left;
  float: right;
}
.item_img{
  width: 280px;
  height: 210px;
  margin: 0 auto;
  padding-bottom: 20px;
  text-align: center;
}
.item_img img{
  height: 100%;
}






/* 追加：よくある質問
------------------------------------------------ */
.faq_list dt {
	border-bottom: 1px solid #999999;
	padding: 0 16px 12px 16px;
	margin-bottom: 14px;
}

.faq_q_ttl {
	display: block;
	position: relative;
	color: #333333;
	font-size: 18px;
	line-height: 160%;
	padding-left: 25px;
}

.faq_q_ttl:before {
	position: absolute;
	top: 0;
	left: 0;
	content: 'Q.';
	color: #CA2654;
}

.faq_list dd {
	padding: 0 16px 60px 32px;
}

.faq_a_box {
	position: relative;
	color: #333333;
	font-size: 18px;
	line-height: 160%;
	padding-left: 20px;
}

.faq_a_box:before {
	position: absolute;
	top: 0;
	left: 0;
	content: 'A.';
	color: #F5944B;
}

.top_reason_wrap{
	display: flex;
	margin: 0 0 40px;
}
.top_reason02_block .top_reason_wrap{
  flex-direction: row-reverse;
}
.top_method_wrap {
  display: flex;
  gap: 16px;
}
.top_method_item {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  background: #fff;
  padding: 24px;
}
.top_method_item img {
    max-width: 220px;
    height: auto;
}

.top_order_example_wrap {
  display: flex;
  gap: 16px;
  margin: 24px 0 40px;
}
.top_example_item img {
  max-width: 240px;
  height: auto;
}


.cta_wrap {
  margin: 24px auto;
  text-align: center;
}
.cta_wrap a img {
    width: 64%;
    height: auto;
    transition: .5s;
}
.cta_wrap a:hover img{
  transform: translateY(2px);
  scale: .99;
}
.cta_wrap.-top {
  margin: -60px auto 24px;
}
.cta_wrap.-top a img {
  width: min(70%,480px);
}

.top_flow_items {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.top_flow_items::after {
	position: absolute;
	top: 0;
	left: 47%;
	margin: 0 1rem;
	content: "";
	width: 1px;
	height: 100%;
	background-color: #b4b4b4;
  z-index: -1;
}
.top_flow_item {
  background: #FFF;
  padding: 32px;
  box-shadow: 2px 4px 10px rgba(0,0,0,0.1);
  border-radius: 8px;
}
.top_flow_item .item_ttl {
  font-weight: 300;
  font-size: 24px;
  margin-bottom: 16px;
}
.top_flow_item .item_ttl .num {
  display: inline-block;
  margin-right: .5em;
}
.top_flow_item .item_sub_ttl {
  font-size: 18px;
  color: #5E4691;
  margin-top: 16px;
  margin-bottom: 8px;
	padding-left:1.6em;
	position:relative;
}
.top_flow_item .item_sub_ttl:before,
.top_flow_item .item_sub_ttl:after{
	content:"";
	display:block;
	position:absolute;
}
.top_flow_item .item_sub_ttl:before{
	width:20px;
	height:20px;
	background:#b4b4b4;
  border-radius: 4px;
	left:0;top:2px;
}
.top_flow_item .item_sub_ttl:after{
	border-left:2px solid #ffffff;
	border-bottom:2px solid #ffffff;
	width:9px;
	height:5px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top:7px;
}

.top_flow_item .item_txt {
  padding-left: 1em;
}

.top_reason_sub_ttl_wrap {
  padding-left: 2rem;
  margin: 54px 0 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 24px;
  font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}

.top_reason_sub_ttl_wrap .sub_ttl_num {
  font-size: 38px;
}
.cmn_price_wrap + .cmn_price_wrap {
  margin-top: 40px;
}


/* 絵馬サンプルについて
------------------------------------------------ */
.form_flow_block {
	margin: 0 0 36px 10px;
}

.form_flow_block img {
	vertical-align: top;
}

.form_step li {
	width: 207px;
	height: 76px;
	float: left;
	text-align: center;
	box-sizing: border-box;
	padding: 25px 20px 0 0;
	background: url(../images/form/step_off.png) no-repeat 0 0;
	font-size: 22px;
	font-weight: bold;
	color: #666666;
	margin: 0 0 0 17px;
}

.form_step li.form_step_on {
	color: #ffffff;
	background: url(../images/form/step_on.png) no-repeat 0 0;
}

.form_step li.first {
	margin-left: 31px;
}



.form_tbl {
	width: 100%;
	margin-bottom: 60px;
}

.form_tbl tr {
	border-bottom: 1px solid #000000;
}

.form_tbl th {
	width: 260px;
	vertical-align: top;
	text-align: left;
	box-sizing: border-box;
	padding: 23px 16px 19px 15px;
	background: url(../images/common/form_bg.png) repeat 0 0;
}

.form_req_box {
	position: relative;
	padding: 0 49px 0 0;
}

.form_req_icon {
	position: absolute;
	top: -1px;
	right: 0;
	background: #CE3561;
	width: 47px;
	height: 28px;
	color: #ffffff;
	box-sizing: border-box;
	text-align: center;
	padding: 5px 0 0 0;
	line-height: 100%;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

.form_any_icon {
	position: absolute;
	top: -1px;
	right: 0;
	border: 2px solid #CE3561;
	width: 47px;
	height: 28px;
	color: #CE3561;
	box-sizing: border-box;
	text-align: center;
	padding: 5px 0 0 0;
	line-height: 100%;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

.form_tbl td {
	vertical-align: top;
	text-align: left;
	box-sizing: border-box;
	padding: 23px 10px 19px 13px;
}

.form_inp01 {
	border: 1px solid #333333;
	font-size: 16px;
	box-sizing: border-box;
	padding: 5px 12px;
	width: 438px;
}

.form_inp02 {
	border: 1px solid #333333;
	font-size: 16px;
	box-sizing: border-box;
	padding: 5px 12px;
	width: 211px;
}

.form_inp03 {
	border: 1px solid #333333;
	font-size: 16px;
	box-sizing: border-box;
	padding: 5px 12px;
	width: 87px;
}

.form_select01 {
	border: 1px solid #333333;
	font-size: 16px;
	box-sizing: border-box;
	padding: 5px 12px;
}

.form_textarea01 {
	border: 1px solid #333333;
	font-size: 16px;
	box-sizing: border-box;
	padding: 5px 12px;
	width: 438px;
	height: 146px;
}

.form_inp_mt {
	margin-top: 20px;
}

.form_btn {
	text-align: center;
	margin-top: 56px;
}
.form_btn input {
  cursor: pointer;
}


.form_btn li {
	display: inline;
	padding: 0 5px;
}

.form_btn li img {
	vertical-align: top;
}
.form_mt {
	margin-top: 14px;
}

.btn_next_bg {
	background: url(../images/form/btn_next.jpg) no-repeat 0 0;
	width: 248px;
	height: 64px;
	display: inline-block;
}


.btn_back_bg {
	background: url(../images/form/btn_back.jpg) no-repeat 0 0;
	width: 248px;
	height: 64px;
	display: inline-block;
}


.btn_conf {
	background: url(../images/form/icon_arrow.png) no-repeat 85% center;
	width: 248px;
	height: 64px;
	border: none;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
}

.btn_send {
	background: url(../images/form/icon_arrow.png) no-repeat 71.8% center;
	width: 248px;
	height: 64px;
	border: none;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
  cursor: pointer;
}
.btn_send:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn_back {
	background: url(../images/form/icon_arrow_back.png) no-repeat 10% center;
	width: 248px;
	height: 64px;
	border: none;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
  cursor: pointer;
}

@media screen and (max-width: 768px){
.btn_conf {
	background: url(../images/form/icon_arrow.png) no-repeat 75% center;
}

.btn_back {
	background: url(../images/form/icon_arrow_back.png) no-repeat 13.9% center;
}
}
.btn_top_bg {
	background: url(../images/form/btn_next.jpg) no-repeat 0 0;
	width: 248px;
	height: 64px;
	display: inline-block;
}

a.btn_top {
	background: url(../images/form/icon_arrow.png) no-repeat 75.6% center;
	width: 248px;
	height: 64px;
	border: none;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
	display: inline-block;
	text-decoration: none;
	line-height: 64px;
}

.form_thanks_txt {
	text-align: center;
	padding: 50px 0 0 0;
	font-size: 18px;
	line-height: 160%;
}


.ErrTip {
	color: #E61F19;
	display: block;
	padding-top: 10px;
}

.form_field_err {
	border: 1px solid #E61F19;
	background: #FEF5F5;
}

/* ラジオボタン */
.radio_design {
	margin-top: -10px;
}

.radio_design input[type=radio] {
	display: none;		/* 標準スタイル */
}
.radio_label {
	position: relative;		/* ボックスの位置を指定する */
	padding: 0 0 0 42px;	/* ボックス内側の余白を指定する */
	color: #634625;
	font-size: 14px;
	font-weight: bold;
	display: inline-block;
	margin-top: 10px;
}
.radio_label:hover:after {
	border-color: #DCDCDC;	/* ボックスの境界線を実線で指定する */
}
.radio_label:after,  .radio_label:before{
	position: absolute;	/* ボックスの位置を指定する */
	content: "";		/* ボックスのコンテンツ */
	display: block;		/* ブロックレベル要素化する */
	top: 50%;			/* 上部から配置の基準位置を決める */
}
.radio_label:after {
	left: 15px;			/* 左から配置の基準位置を決める */
	margin-top: -10px;	/* チェック枠の位置 */
	width: 16px;		/* ボックスの横幅を指定する */
	height: 16px;		/* ボックスの高さを指定する */
	border: 2px solid #DCDCDC;	/* ボックスの境界線を実線で指定する */
	border-radius: 50%;		/* ボックスの角丸を指定する */
}
.radio_label:before {
	left: 20px;			/* 左から配置の基準位置を決める */
	margin-top: -5px;	/* チェックマークの位置 */
	width: 10px;		/* ボックスの横幅を指定する */
	height: 10px;		/* ボックスの高さを指定する */
	background: #2B395F;/* ボックスの背景色を指定する */
	border-radius: 50%;	/* ボックスの角丸を指定する */
	opacity: 0;			/* 要素を透過指定する */
}
.radio_design input[type=radio]:checked + .radio_label:before {
	opacity: 1;		/* 要素を表示する */
}

/* チェックボックス */
.checkbox_design input[type=checkbox] {
	display: none;			/* checkboxを非表示にする */
}
.checkbox_design .checkbox_label {
	position: relative;		/* ボックスの位置を指定する */
	padding: 0 0 0 42px;	/* ボックス内側の余白を指定する */
}
.checkbox_design .checkbox_label:hover:after {
	border-color: #ccc;	/* ボックスの境界線を実線で指定する */
}
.checkbox_design .checkbox_label:after,  .checkbox_label:before{
	position: absolute;	/* ボックスの位置を指定する */
	content: "";		/* ボックスのコンテンツ */
	display: block;		/* ブロックレベル要素化する */
	top: 50%;			/* 上部から配置の基準位置を決める */
}
.checkbox_design .checkbox_label:after {
	left: 15px;			/* 左から配置の基準位置を決める */
	margin-top: -10px;	/* チェック枠の位置 */
	width: 15px;		/* ボックスの横幅を指定する */
	height: 15px;		/* ボックスの高さを指定する */
	border: 2px solid #ccc;	/* ボックスの境界線を実線で指定する */
	border-radius: 6px;		/* ボックスの角丸を指定する */
}
.checkbox_design .checkbox_label:before {
	left: 21px;			/* 左から配置の基準位置を決める */
	margin-top: -7px;	/* チェックマークの位置 */
	width: 5px;			/* ボックスの横幅を指定する */
	height: 9px;		/* ボックスの高さを指定する */
	border-right: 3px solid #CE3561;	/* 境界線（右）のスタイルを指定する */
	border-bottom: 3px solid #CE3561;	/* 境界線（下）のスタイルを指定する */
	transform: rotate(45deg);	/* 要素を回転させる */
	opacity: 0;			/* 要素を透過指定する */
}
.checkbox_design input[type=checkbox]:checked + .checkbox_label:before {
	opacity: 1;		/* 要素を表示する */
}


/* 確認画面
------------------------------------------------ */
.form_string_list li {
	float: left;
	margin: 0 10px 5px 0;
	width: 100px;
}
.form_string_img {
	margin: 0 0 20px 0;
}

.form_string_img img {
	vertical-align: top;
}

.form_string_txt_list {
	margin: 0 0 0 16px;
}

.form_string_txt_list li {
	text-indent: -16px;
}
