@charset "UTF-8";

/* ==============================================================================

	plan.css

-------------------------------------------------------------------------------

  ローカルナビゲーション
  メインビジュアル
  とは
  お電話・資料請求
  特徴
  費用
  プランリンク
  インタビュー
  都道府県名から葬儀場を探す
  流れ
  セットプラン

============================================================================== */


/* -------------------------------------------------------

  ローカルナビゲーション

------------------------------------------------------- */

#local_nav {
	border-bottom-width: 4px;
	border-style: solid;
}

#local_nav .list {
	overflow: hidden;
}

#local_nav .local_nav_item {
	float: left;
	border-left: 1px solid #e4e4e4;
}

#local_nav .local_nav_item:last-child {
	border-right: 1px solid #e4e4e4;
}

#local_nav .local_nav_link {
	display: block;
	width: 192px;
	text-align: center;
	line-height: 46px;
	font-weight: bold;
	color: #999999;
}

#local_nav li:nth-child(1) a:hover {
	color: #634226;
}

#local_nav li:nth-child(2) a:hover {
	color: #bc741a;
}

#local_nav li:nth-child(3) a:hover {
	color: #2e8b07;
}

#local_nav li:nth-child(4) a:hover {
	color: #60002d;
}

#local_nav li:nth-child(5) a:hover {
	color: #112245;
}

#local_nav .local_nav_link.is_current {
	width: 204px;
	color: #ffffff !important;
}

/* プラン別 */
#local_nav.theme_owakaresoh { border-color: #634226; }
#local_nav.theme_owakaresoh .local_nav_link.is_current { background-color: #634226; }
#local_nav.theme_kasousiki { border-color: #bc741a; }
#local_nav.theme_kasousiki .local_nav_link.is_current { background-color: #bc741a; }
#local_nav.theme_ichinichisoh { border-color: #2e8b07; }
#local_nav.theme_ichinichisoh .local_nav_link.is_current { background-color: #2e8b07; }
#local_nav.theme_kazokusoh { border-color: #60002d; }
#local_nav.theme_kazokusoh .local_nav_link.is_current { background-color: #60002d; }
#local_nav.theme_osohshiki100 { border-color: #112245; }
#local_nav.theme_osohshiki100 .local_nav_link.is_current { background-color: #112245; }

/* -------------------------------------------------------

  メインビジュアル

------------------------------------------------------- */

#mainvisual {
	margin: 0;
	color: #fff;
}

#mainvisual > .inner:first-child {
	position: relative;
	height: 398px;
	background-repeat: no-repeat;
	background-position: 100% 50%;
}

#mainvisual .content {
	position: relative;
	width: 450px;
	height: 100%;
	padding: 20px 36px 0 12px;
}

#mainvisual .content:after {
	display: inline-block;
	position: absolute;
	right: 5px;
	bottom: -7px;
	width: 75px;
	height: 70px;
	background-image: url(/dist/plan/images/ichinichisoh/mv_icon_arrow_yellow.png);
	background-repeat: no-repeat;
	content: '';
}

#mainvisual .heading {
	text-align: center;
	line-height: 1;
	font-weight: bold;
}

#mainvisual .logo {
	margin-top: 8px;
	text-align: center;
}

#mainvisual .badge {
	display: block;
	position: absolute;
	top: 16px;
	left: 0;
	width: 79px;
	height: 78px;
	background-image: url(/dist/images/common/plan_popular_badge.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	border-radius: 50%;
	box-shadow: 0 7px 10px rgba(0, 0, 0, 0.65);
	animation: lighting 1.8s steps(16) infinite;
}

#mainvisual .copy {
	margin-top: 15px;
	text-align: center;
	font-weight: bold;
	border-radius: 13px;
}

#mainvisual .price {
	display: table;
	padding-bottom: 3px;
	margin-top: 10px;
 border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

#mainvisual .price .column {
	display: table-cell;
	vertical-align: middle;
}

#mainvisual .price .column:first-child {
	padding-right: 12px;
}

#mainvisual .price_copy {
	padding: 0 5px 5px;
	line-height: 1;
	font-weight: bold;
	font-size: 18px;
	border: 1px solid #fff;
	border-radius: 6px;
}

#mainvisual .price_copy .text_number {
	display: inline-block;
	position: relative;
	top: 2px;
	margin: 0 1px;
	font-weight: 400;
	font-size: 25px;
	font-size: 2.5rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#mainvisual .price_usual {
	margin-top: 5px;
	font-size: 14px;
	font-size: 1.4rem;
}

#mainvisual .price_usual_value {
	line-height: 1;
	font-weight: 400;
	font-size: 18px;
	font-size: 1.8rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#mainvisual .price_reduce {
	white-space: nowrap;
	letter-spacing: -0.4em;
}

#mainvisual .price_reduce > * {
	letter-spacing: 0;
}

#mainvisual .price_reduce_value {
	display: inline-block;
	margin-top: -6px;
	line-height: 1;
	font-weight: 400;
	font-size: 68px;
	font-size: 6.8rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#mainvisual .price_reduce_yen {
	display: inline-block;
	position: relative;
	top: -2px;
	margin-left: 1px;
	line-height: 1;
	font-size: 36px;
	font-size: 3.6rem;
}

#mainvisual .price_reduce_tax {
	position: absolute;
	top: -1.16em;
	left: 50%;
	letter-spacing: 0.075em;
	font-size: 14px;
	font-size: 1.4rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	white-space: nowrap;
}

#mainvisual .price_increase {
 float: right;
 display: block;
	margin-right: 5px;
	font-size: 16px;
	font-size: 1.6rem;
 color: #fff;
}

#mainvisual .price_increase_value {
 line-height: 1;
	font-size: 26px;
	font-size: 2.6rem;
}

#mainvisual .price_annotation {
	line-height: 1;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
 padding-bottom: 3px;
}

#mainvisual .flow {
	margin: 10px 0 13px;
}

/*mainvisual btn_modal*/
#mainvisual .btn_modal_area {
  width: 100%;
  height: 20px;
  clear: both;
  display: block;
}

#mainvisual .btn_modal_area li {
 margin-bottom: 3px;
}

#mainvisual .btn_modal {
  display: inline-block;
  line-height: 1;
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  transition: all 0.15s;
}

#mainvisual .btn_modal .btn_modal_text {
   border-bottom: 1px solid #fff;
}

#mainvisual .btn_modal .btn_modal_text:hover {
   border-bottom: none;
}

#mainvisual .btn_modal .icon_circle_plus {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  top: 8px;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  margin-right: 3px;
}

#mainvisual .btn_modal:hover .icon_circle_plus {
  transform: translateY(-50%) rotate(180deg);
}

#mainvisual .btn_modal .icon_circle_plus:before,
#mainvisual .btn_modal .icon_circle_plus:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 1px;
  transform: translate(-50%, -50%);
  transition: background-color 0.15s;
  content: '';
}

#mainvisual.theme_owakaresoh .btn_modal .icon_circle_plus:before,
#mainvisual.theme_owakaresoh .btn_modal .icon_circle_plus:after { background-color: #704d2f; }
#mainvisual.theme_kasousiki .btn_modal .icon_circle_plus:before,
#mainvisual.theme_kasousiki .btn_modal .icon_circle_plus:after { background-color: #c57e22; }
#mainvisual.theme_ichinichisoh .btn_modal .icon_circle_plus:before,
#mainvisual.theme_ichinichisoh .btn_modal .icon_circle_plus:after { background-color: #4a9e26; }
#mainvisual.theme_kazokusoh .btn_modal .icon_circle_plus:before,
#mainvisual.theme_kazokusoh .btn_modal .icon_circle_plus:after { background-color: #6d0036; }
#mainvisual.theme_osohshiki100 .btn_modal .icon_circle_plus:before,
#mainvisual.theme_osohshiki100 .btn_modal .icon_circle_plus:after { background-color: #0c2a4e; }

#mainvisual.theme_owakaresoh .btn_modal:hover .icon_circle_plus:before,
#mainvisual.theme_owakaresoh .btn_modal:hover .icon_circle_plus:after { background-color: #624228; }
#mainvisual.theme_kasousiki.btn_modal:hover .icon_circle_plus:before,
#mainvisual.theme_kasousiki .btn_modal:hover .icon_circle_plus:after { background-color: #bb7324; }
#mainvisual.theme_ichinichisoh .btn_modal:hover .icon_circle_plus:before,
#mainvisual.theme_ichinichisoh .btn_modal:hover .icon_circle_plus:after { background-color: #2e8b07; }
#mainvisual.theme_kazokusoh .btn_modal:hover .icon_circle_plus:before,
#mainvisual.theme_kazokusoh .btn_modal:hover .icon_circle_plus:after { background-color: #6d0036; }
#mainvisual.theme_theme_osohshiki100 .btn_modal:hover .icon_circle_plus:before,
#mainvisual.theme_theme_osohshiki100 .btn_modal:hover .icon_circle_plus:after { background-color: #122244; }

#mainvisual .btn_modal .icon_circle_plus:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
/*mainvisual btn_modal　ここまで*/
#mainvisual .people {
	display: block;
	position: absolute;
	top: 24px;
	right: 21px;
	width: 98px;
	height: 98px;
	padding-top: 27px;
	text-align: center;
	line-height: 1.3;
	font-weight: bold;
	font-size: 17px;
	color: #fff;
	background-color: #aead63;
	border-radius: 50%;
}

#mainvisual .material {
	padding: 17px 0 13px;
	background-color: #434343;
}

#mainvisual .material .text {
	display: inline-block;
	margin-top: -8px;
	vertical-align: middle;
	line-height: 1;
	font-weight: bold;
	letter-spacing: -0.02em;
	font-size: 15px;
	font-size: 1.5rem;
}

#mainvisual .material .text_accent {
	font-size: 18px;
	font-size: 1.8rem;
	color: #fcea21;
}

#mainvisual .material .text_reduce {
	display: inline-block;
	position: relative;
	top: 4px;
	margin-top: -8px;
	font-size: 24px;
	font-size: 2.4rem;
}

#mainvisual .material .text_number {
	position: relative;
	top: 2px;
	font-weight: 500;
	font-size: 36px;
	font-size: 3.6rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#mainvisual .material .cards {
	float: right;
	line-height: 1;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
}

#mainvisual .material .cards > * {
	display: inline-block;
	vertical-align: middle;
}

#mainvisual .material .cards > *:first-child {
	margin-right: 10px;
	line-height: 1.2;
	font-size: 12px;
	font-size: 1.2rem;
}

/* プラン別 */
#mainvisual.theme_owakaresoh { background-color: #987b5d; }
#mainvisual.theme_owakaresoh > .inner:first-child { background-image: url(/dist/plan/images/owakaresoh/mv_image_owakaresoh.jpg); }
#mainvisual.theme_owakaresoh .mainvisual_header { padding-left: 0px; }
#mainvisual.theme_owakaresoh .copy { color: #563722; background-color: #fcea21; }

#mainvisual.theme_kasousiki { background-color: #d9a145; }
#mainvisual.theme_kasousiki > .inner:first-child { background-image: url(/dist/plan/images/kasousiki/mv_image_kasousiki.jpg); }
#mainvisual.theme_kasousiki .mainvisual_header { padding-left: 0px; }
#mainvisual.theme_kasousiki .copy { color: #b26820; background-color: #fcea21; }

#mainvisual.theme_ichinichisoh { background-color: #76b959; }
#mainvisual.theme_ichinichisoh > .inner:first-child { background-image: url(/dist/plan/images/ichinichisoh/mv_image_ichinichisoh.jpg); }
#mainvisual.theme_ichinichisoh .mainvisual_header { }
#mainvisual.theme_ichinichisoh .copy { color: #3a8718; background-color: #fcea21; }

#mainvisual.theme_kazokusoh { background-color: #953365; }
#mainvisual.theme_kazokusoh > .inner:first-child { background-image: url(/dist/plan/images/kazokusoh/mv_image_kazokusoh.jpg); }
#mainvisual.theme_kazokusoh .mainvisual_header { padding-left: 32px; }
#mainvisual.theme_kazokusoh .copy { color: #60002d; background-color: #fcea21; }

#mainvisual.theme_osohshiki100 { background-color: #2e476a; }
#mainvisual.theme_osohshiki100 > .inner:first-child { background-image: url(/dist/plan/images/osohshiki100/mv_image_osohshiki100.jpg); }
#mainvisual.theme_osohshiki100 .mainvisual_header { padding-left: 0px; }
#mainvisual.theme_osohshiki100 .copy { color: #121b3c; background-color: #fcea21; }

/* -------------------------------------------------------

  とは

------------------------------------------------------- */
#about .covid-caution-area {
 margin: -10px auto 25px;
}

#about .plan_link_heading {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

#about .plan_flower_button .m_plan_link_button,
#about .plan_noukotsu_button .m_plan_link_button {
  display: inline-block;
}

/*付添い安置つき一日葬バナー*/
#about .plan_attendant_button,
#feature .plan_attendant_button {
  position: relative;
}

#about .plan_link_heading_attendant,
#feature .plan_link_heading_attendant {
  text-align: center;
  font-weight: bold;
  margin-bottom: -15px;
  font-size: 18px;
}

#about .plan_attendant_button:before,
#feature .plan_attendant_button:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 47.5%;
  width: 0;
  height: 0;
  margin-top: -95px;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 20px solid #b2d7a1;
}

#about .plan_attendant_button .m_plan_link_button,
#feature .plan_attendant_button .m_plan_link_button {
  display: inline-block;
  box-shadow: 0 4px 8px -4px rgba(176, 176, 176, 0.4);
}

#about .plan_link_heading_flower:before,
#about .plan_link_heading_flower:after {
  display: inline-block;
  position: relative;
  top: 2px;
  width: 10px;
  height: 21px;
  background-image: url(/dist/images/common/icon_balloon_triangle_black.png);
  background-repeat: no-repeat;
  content: '';
}

#about .plan_link_heading_flower:before {
  margin-right: 7px;
}

#about .flower_ribon{
  position: relative;
}

#about .flower_ribon:before{
  content: '';
  background-image: url(/dist/plan/images/plandetail_ribon_flower_campaign.png);
  background-repeat: no-repeat;
  width: 121px;
  height: 141px;
  position: absolute;
  top: -23px;
  left: -30px;
  z-index: 1;
}

#about .plan_link_heading_flower:after {
  margin-left: 7px;
  transform: scale(-1, 1);
}

#about .plan_noukotsu_button{
  margin-top: 17px;
}

#about .plan_link_heading_noukotsu:before,
#about .plan_link_heading_noukotsu:after {
  display: inline-block;
  position: relative;
  top: 2px;
  width: 10px;
  height: 21px;
  background-image: url(/dist/images/common/icon_balloon_triangle_black.png);
  background-repeat: no-repeat;
  content: '';
}

#about .plan_link_heading_noukotsu:before {
  margin-right: 7px;
}

#about .plan_link_heading_noukotsu:after {
  margin-left: 7px;
  transform: scale(-1, 1);
}

#about .dot{
  position: relative;
}

#about .dot::before {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  position: absolute;
  top: -6px;
  left: 9px;
  background-color: #d1466e;
  content: '';
}

#about .noukotsu_button{
  position: relative;
}

#about .note_shoumeisho {
  position: absolute;
  top: -10px;
  right: 55px;
  filter: drop-shadow(0 0 6px rgba(176, 176, 176, 0.4));
}

#about {
	padding: 35px 0 40px;
	margin: 0;
	background-color: #f4f4f4;
}

#about .heading {
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	font-size: 3.0rem;
}

#about .heading:after {
	display: block;
	width: 120px;
	height: 2px;
	margin: 10px auto 0;
	content: '';
}

#about .description {
	margin-top: 26px;
	text-align: center;
	line-height: 1.3;
	font-weight: bold;
	font-size: 20px;
	font-size: 2.0rem;
}

#about .more_description {
	display: inline-block;
	text-align: left;
	line-height: 1.3;
}
#about .description em {
 color: #F15C5C;
}
#about .point {
	padding: 30px 40px 20px;
	margin-top: 40px;
	text-align: center;
	background-color: #fff;
	border-radius: 6px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
}

#about .point_heading {
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
}

#about .point_heading:before,
#about .point_heading:after {
	display: inline-block;
	width: 0;
	height: 22px;
	margin-top: -2px;
	vertical-align: middle;
	border-style: solid;
	border-color: inherit;
	content: '';
}

#about .point_heading:before {
	margin-right: 20px;
	border-width: 0 0 0 2px;
	transform: rotate(-20deg);
}

#about .point_heading:after {
	margin-left: 20px;
	border-width: 0 2px 0 0;
	transform: rotate(20deg);
}

#about .point_list {
	margin: 15px -10px 0;
}

#about .point_item {
	float: left;
	width: 286px;
	min-height: 158px;
	padding-top: 106px;
	margin: 0 10px;
	line-height: 1.4;
	background-color: #f1efd6;
	background-repeat: no-repeat;
	background-position: 50% 12px;
	border-radius: 6px;
}
#about .option_set {
  min-width: 100%;
}

#about .merit {
	text-align: center;
}

#about .merit_text {
	display: inline-block;
	margin-top: 30px;
	text-align: center;
	line-height: 2.0;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
}

#about .merit_text span.theme_color span {
 position: relative;
 padding-top: 0.2em;
 font-size: 28px;
	font-size: 2.8rem;
}

#about .merit_text span.theme_color span::before {
position: absolute;
content: "";
width: 0.2em;
height: 0.2em;
border-radius: 50%;
top: 0;
left: 50%;
transform: translate(-50%, 0);
line-height: 1;
}

#about .merit_text em {
	font-size: 56px;
	font-size: 5.6rem;
}

#about .merit_graph {
	position: relative;
	margin: 15px 0 0 35px;
 width: 823px;
	text-align: left;
}
#about.theme_owakaresoh .merit_graph {
	position: relative;
	margin: 15px 0 0 18px;
 width: 854px;
	text-align: left;
}
#about .merit_graph_annotation {
	position: absolute;
	right: 0px;
	bottom: -14px;
	letter-spacing: -0.01em;
	line-height: 1;
	font-size: 14px;
	font-size: 1.4rem;
	color: #666666;
}

#about .btn_price {
	float: right;
	position: relative;
	padding: 4px 45px 4px 20px;
	margin-top: 30px;
	font-weight: bold;
	font-size: 15px;
	font-size: 1.5rem;
	color: #666;
	border: 1px solid #e1e1e1;
	border-radius: 6px;
}

#about .btn_price:before,
#about .btn_price:after {
	position: absolute;
	top: 50%;
	content: '';
}

#about .btn_price:before {
	right: 15px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background-color: #c5c5c5;
	border-radius: 50%;
}

#about .btn_price:after {
	right: 23px;
	width: 4px;
	height: 4px;
	margin-top: -2px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #fff;
	transform: rotate(45deg);
}

#about .btn_price:hover {
	color: #333;
	border-color: #999;
}

#about .btn_price:hover:before {
	background-color: #999;
}

/* プラン別 */
#about.theme_owakaresoh .heading:after { background-color: #7d5834; }
#about.theme_owakaresoh .point_heading { border-color: #7d5834; }
#about.theme_owakaresoh .theme_color { color: #7d5834; }
#about.theme_owakaresoh .point_item:first-child { background-image: url(/dist/plan/images/illust_anywayscost.png); }
#about.theme_owakaresoh .point_item:nth-child(2) { background-image: url(/dist/plan/images/illust_simple.png); }
#about.theme_owakaresoh .point_item:last-child { background-image: url(/dist/plan/images/illust_noreligion.png); }
#about.theme_owakaresoh .merit_text span.theme_color span::before { background-color: #7d5834; }

#about.theme_kasousiki .heading:after { background-color: #d18b18; }
#about.theme_kasousiki .point_heading { border-color: #d18b18; }
#about.theme_kasousiki .theme_color { color: #d18b18; }
#about.theme_kasousiki .point_item:first-child { background-image: url(/dist/plan/images/illust_costsdown.png); }
#about.theme_kasousiki .point_item:nth-child(2) { background-image: url(/dist/plan/images/illust_familyonly.png); }
#about.theme_kasousiki .point_item:last-child { background-image: url(/dist/plan/images/illust_monk.png); }
#about.theme_kasousiki .merit_text span.theme_color span::before { background-color: #d18b18; }

#about.theme_ichinichisoh .heading:after { background-color: #5daa3c; }
#about.theme_ichinichisoh .point_heading { border-color: #5daa3c; }
#about.theme_ichinichisoh .theme_color { color: #5daa3c; }
#about.theme_ichinichisoh .point_item:first-child { background-image: url(/dist/plan/images/illust_ceremony.png); }
#about.theme_ichinichisoh .point_item:nth-child(2) { background-image: url(/dist/plan/images/illust_cost.png); }
#about.theme_ichinichisoh .point_item:last-child { background-image: url(/dist/plan/images/illust_people.png); }
#about.theme_ichinichisoh .merit_text span.theme_color span::before { background-color: #5daa3c; }

#about.theme_kazokusoh .heading:after { background-color: #75003b; }
#about.theme_kazokusoh .point_heading { border-color: #75003b; }
#about.theme_kazokusoh .theme_color { color: #75003b; }
#about.theme_kazokusoh .point_item:first-child { background-image: url(/dist/plan/images/illust_smallcost.png); }
#about.theme_kazokusoh .point_item:nth-child(2) { background-image: url(/dist/plan/images/illust_slowly.png); }
#about.theme_kazokusoh .point_item:last-child { background-image: url(/dist/plan/images/illust_oldage.png); }
#about.theme_kazokusoh .merit_text span.theme_color span::before { background-color: #75003b; }

#about.theme_osohshiki100 .heading:after { background-color: #163259; }
#about.theme_osohshiki100 .point_heading { border-color: #163259; }
#about.theme_osohshiki100 .theme_color { color: #163259; }
#about.theme_osohshiki100 .point_item:first-child { background-image: url(/dist/plan/images/illust_otherthanfamily.png); }
#about.theme_osohshiki100 .point_item:nth-child(2) { background-image: url(/dist/plan/images/illust_fine.png); }
#about.theme_osohshiki100 .point_item:last-child { background-image: url(/dist/plan/images/illust_oldstyle.png); }
#about.theme_osohshiki100 .merit_text span.theme_color span::before { background-color: #163259; }


/* -------------------------------------------------------

  オプションバナーセット

------------------------------------------------------- */
.option_set .theme_owakaresoh { background-color: #987b5d; }
.option_set .theme_owakaresoh:before { border-top: 10px solid #987b5d; }
.option_set .theme_kasousiki { background-color: #d9a145; }
.option_set .theme_kasousiki:before { border-top: 10px solid #d9a145; }
.option_set .theme_ichinichisoh { background-color: #76b959; }
.option_set .theme_ichinichisoh:before { border-top: 10px solid #76b959; }
.option_set .theme_kazokusoh { background-color: #b03473; }
.option_set .theme_kazokusoh:before { border-top: 10px solid #b03473; }
.option_set .theme_osohshiki100 { background-color: #2e476a; }
.option_set .theme_osohshiki100:before { border-top: 10px solid #2e476a; }

/* -------------------------------------------------------

  お電話・資料請求

------------------------------------------------------- */

#contact {
	position: relative;
	padding: 62px 0 30px;
	background-color: #ebe9e2;
}

#contact:before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -80px;
	color: #f4f4f4;
	border-top: 56px solid;
	border-right: 80px solid transparent;
	border-left: 80px solid transparent;
	content: '';
}

#contact .heading {
	text-align: center;
	line-height: 1;
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
}

#contact .heading:before,
#contact .heading:after {
	display: inline-block;
	width: 0;
	height: 25px;
	margin-top: -3px;
	vertical-align: middle;
	border-style: solid;
	border-color: inherit;
	content: '';
}

#contact .heading:before {
	margin-right: 15px;
	border-width: 0 0 0 3px;
	transform: rotate(-20deg);
}

#contact .heading:after {
	margin-left: 15px;
	border-width: 0 3px 0 0;
	transform: rotate(20deg);
}

#contact .heading_reduce {
	font-size: 24px;
	font-size: 2.4rem;
	color: #e60012;
}

#contact .heading .text_number {
	font-weight: 500;
	font-size: 30px;
	font-size: 3rem;
	font-family: 'Oswald', monospace, sans-serif;
}

#contact .heading_reduce .text_number {
	position: relative;
	top: 1px;
	margin: 0 2px;
	font-size: 36px;
	font-size: 3.6rem;
}

#contact .contact_content {
	display: table;
	width: 100%;
	margin-top: 30px;
}

#contact .contact_column {
	display: table-cell;
	vertical-align: middle;
}

#contact .contact_tel .tel_support {
	display: block;
	float: left;
	padding: 6px;
	line-height: 1.3;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
	color: #ffffff;
	background-color: #009db3;
	border-radius: 5px;
}

#contact .contact_tel .tel_icon {
	display: block;
	position: relative;
	float: left;
	width: 35px;
	height: 48px;
	margin: 0 3px 0 10px;
	background-image: url(/dist/images/telnum/icon_tel_green.png);
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: auto 45px;
}

#contact .contact_tel .tel_number {
	display: block;
	float: left;
	margin: -3px 3px 0 0;
	letter-spacing: -0.02em;
	line-height: 1;
	font-weight: 500;
	font-size: 52px;
	font-size: 5.2rem;
	font-family: 'Oswald', monospace, sans-serif;
	color: #009db3;
}

#contact .contact_tel .tel_info {
	display: block;
	float: left;
	padding: 3px;
	margin: 9px 0 0 5px;
	line-height: 1.2;
	font-weight: bold;
	font-size: 13px;
	font-size: 1.3rem;
	color: #009db3;
}

#contact .contact_urgency {
	display: block;
	width: 530px;
	padding: 8px 0;
	margin-top: 14px;
	text-align: center;
	line-height: 1;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	color: #cc3333;
	background-color: #fdfafa;
	border: 2px solid #e60012;
	border-radius: 6px;
	box-shadow: 1px 2px #8f8e8a;
}

#contact .contact_urgency:hover {
	color: #fdfafa;
	background-color: #e60012;
}

#contact .contact_urgency .icon_circle_angle_right {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	margin: -1px 0 0 10px;
	vertical-align: middle;
	background-color: #e60012;
	border-radius: 50%;
}

#contact .contact_urgency:hover .icon_circle_angle_right {
	background-color: #fff;
}

#contact .contact_urgency .icon_circle_angle_right:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	margin: -2px 0 0 -3px;
	color: #fff;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #ffffff;
	transform: rotate(45deg);
	content: '';
}

#contact .contact_urgency:hover .icon_circle_angle_right:after {
	border-color: #e60012;
}

#contact .btn_material {
	float: right;
	display: block;
	position: relative;
	width: 425px;
	height: 113px;
	padding: 27px 0 0 116px;
	font-weight: bold;
	color: #ffffff;
	background-color: #3c5285;
	border-radius: 5px;
	box-shadow: 1px 2px #a4a39e;
}

#contact .btn_material:hover {
	background-color: #4a69a4;
}

#contact .btn_material:before,
#contact .btn_material:after {
	position: absolute;
	top: 50%;
	content: '';
}

#contact .btn_material:before {
	right: 14px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background-color: #fff;
	border-radius: 50%;
}

#contact .btn_material:after {
	right: 21px;
	width: 5px;
	height: 5px;
	margin-top: -3px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #3c5285;
	transform: rotate(45deg);
}

#contact .btn_material_balloon {
	position: absolute;
	width: 90px;
	height: 90px;
	top: 12px;
	left: 15px;
	padding-top: 17px;
	text-align: center;
	line-height: 1.3;
	color: #355282;
	background-color: #f9f353;
	border-radius: 50%;
}

#contact .btn_material_text {
	line-height: 1.44;
	font-size: 20px;
	font-size: 2rem;
}

#contact .btn_material_text:first-line {
	font-size: 16px;
	font-size: 1.6rem;
}

#contact .btn_material_text em {
	font-size: 26px;
	font-size: 2.6rem;
}

/* -------------------------------------------------------

  特徴

------------------------------------------------------- */

#feature {
	margin: 57px 0 0;
}

#feature .heading {
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	font-size: 3.0rem;
}

#feature .heading:after {
	display: block;
	width: 120px;
	height: 2px;
	margin: 10px auto 0;
	content: '';
}

#feature .lead {
	text-align: center;
	margin-top: 26px;
}

#feature .table {
	width: 100%;
	margin-top: 70px;
 border-collapse: collapse;
}

/* col */
#feature .table col {
	width: 261px;
 background-color: #f4f0ea;
}

#feature .table col:first-child {
	width: 120px;
  background-color: #a0a0a0;
}

#feature .table col.is_current {
	width: 336px;
	border-width: 0 4px;
	border-style: solid;
 background-color: #fff;
}

/* th, td */
#feature .table th,
#feature .table td {
	padding: 9px;
  text-align: center;
	vertical-align: middle;
	line-height: 1.4;
	font-size: 16px;
	font-size: 1.6rem;
  border: 1px solid #c3c1c1;
}

#feature .table tr > .is_current {
	position: relative;
	z-index: 5;
}

#feature .table tr > .is_current:before,
#feature .table tr > .is_current:after {
	position: absolute;
	top: -1px;
	bottom: 0;
	width: 3px;
	content: '';
}

#feature .table tr > .is_current:before {
	left: -7px;
	box-shadow: inset -4px 0 4px -4px rgba(51, 51, 51, 0.1);
}

#feature .table tr > .is_current:after {
	right: -7px;
	box-shadow: inset 4px 0 4px -4px rgba(51, 51, 51, 0.1);
}

/* thead */
#feature .table thead tr > *:first-child {
  visibility: collapse;
  border: 0;
}

#feature .table thead th {
	padding: 0;
	font-size: 15px;
	font-size: 1.5rem;
	border-top: 0;
}

#feature .table thead [href*=owakaresoh] { background-color: #f7f1ea; }
#feature .table thead [href*=kasousiki] { background-color: #fbf5ec; }
#feature .table thead [href*=ichinichisoh] { background-color: #eaf1e6; }
#feature .table thead [href*=kazokusoh] { background-color: #ede9eb; }
#feature .table thead [href*=osohshiki100] { background-color: #f0f0f0; }

#feature .table thead .cell_inner {
	display: block;
	position: relative;
	width: 100%;
	height: 86px;
	padding-top: 16px;
	color: #333;
}

#feature .table thead .cell_inner {
	display: block;
	position: relative;
	width: 100%;
	height: 86px;
	padding-top: 16px;
	color: #333;
}

#feature .table thead .cell_inner:before {
  position: absolute;
  top: -6px;
  right: -1px;
  left: -1px;
  height: 7px;
  background-color: inherit;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #c3c1c1;
  border-radius: 6px 6px 0 0;
	box-sizing: border-box;
  content: '';
}

#feature .table thead .is_current:before,
#feature .table thead .is_current:after {
	top: -3px;
}

#feature .table thead .is_current .cell_inner {
	padding-top: 8px;
}

#feature .table thead .cell_inner_kazokusoh {
  display: block;
  position: relative;
  width: 100%;
  color: #333;
}

#feature .table thead .cell_inner_kazokusoh_second {
	display: block;
	position: relative;
	width: 100%;
	color: #333;
}

#feature .table thead .cell_inner_kazokusoh:before,#feature .table thead .cell_inner_kazokusoh_second:before {
  display: inline-block;
  position: absolute;
  top: -59px;
  left: 8px;
  z-index: 1;
  width: 185px;
  height: 100px;
  background-image: url(/dist/images/price/plan/images/plan_popular_badge_kazoku.png);
  background-size: 65px;
  background-repeat: no-repeat;
  content: '';
}

#feature .table .cell_inner_kazokusoh .plan_copy {
	margin-bottom: 10px;
	line-height: 1;
  padding-left: 35px;
}

#feature .table .cell_inner_kazokusoh .logo {
	margin-bottom: 10px;
	line-height: 1;
  padding-left: 25px;
}

#feature .table .cell_inner_kazokusoh_second .plan_copy {
	margin-bottom: 10px;
	line-height: 1;
  padding-left: 15px;
}

#feature .table .cell_inner_kazokusoh .logo {
	margin-bottom: 10px;
	line-height: 1;
  padding-left: 25px;
}

#feature .table thead .is_current .cell_inner:before {
	top: -18px;
	right: -4px;
	left: -4px;
	z-index: 1;
	height: 19px;
	background-color: #fff;
	border-width: 4px 4px 0 4px;
	border-style: solid;
	border-radius: 10px 10px 0 0;
	box-shadow:  0 -2px 4px -4px rgba(51, 51, 51, 0.1), 4px 0 4px -4px rgba(51, 51, 51, 0.1), -4px 0 4px -4px rgba(51, 51, 51, 0.1);
}

#feature .table .active_plan {
	position: absolute;
	top: -36px;
	left: 87px;
	z-index: 2;
	padding: 8px 10px;
	line-height: 1;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	color: #ffffff;
	background-color: #f15c5c;
	border-radius: 6px;
}

#feature .table .active_plan:after {
	display: inline-block;
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -4px;
	color: #f15c5c;
	border-top: 6px solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	content: '';
}

#feature .table .plan_copy {
	margin-bottom: 10px;
	line-height: 1;
}

#feature .table a .logo {
	text-indent: 10px;
}

#feature .table .logo > * {
	display: inline-block;
	vertical-align: middle;
}

#feature .table .logo .icon_circle_angle_right {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	margin-left: 10px;
	vertical-align: middle;
	background-color: #8b8b8b;
	border-radius: 50%;
	content: '';
}

#feature .table .logo .icon_circle_angle_right:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	margin: -2px 0 0 -3px;
	color: #fff;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #ffffff;
	transform: rotate(45deg);
	content: '';
}

#feature .table a:hover .logo .icon_circle_angle_right {
	background-color: #333;
}

/* tbody */
#feature .table tbody tr > *:first-child {
	height: 58px;
	line-height: 1.32;
	font-weight: bold;
  color: #ffffff;
}

#feature .table tbody tr:last-child > .is_current {
  border-bottom: 0;
}

#feature .table tbody tr:last-child > .is_current figure:after,
#feature.theme_owakaresoh .table tbody tr:last-child > .is_current p:after {
	position: absolute;
	right: -4px;
	bottom: 0;
	left: -4px;
	z-index: 1;
	width: auto;
	height: 13px;
	margin-bottom: -12px;
	background-color: #fff;
	border-width: 0 4px 4px 4px;
	border-style: solid;
	border-radius: 0 0 10px 10px;
	box-shadow:  0 6px 4px -4px rgba(51, 51, 51, 0.1), 4px 4px 4px -4px rgba(51, 51, 51, 0.1), -4px 4px 4px -4px rgba(51, 51, 51, 0.1);
	content: '';
}

#feature .table .price {
	margin-top: 15px;
	white-space: nowrap;
	letter-spacing: -0.4em;
	color: #f15c5c;
}

#feature .table .price > * {
	letter-spacing: 0;
}

#feature .table .price_value {
	display: inline-block;
	margin-top: -6px;
	line-height: 1;
	font-weight: 700;
	font-size: 40px;
	font-size: 4rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#feature .table .price_yen {
	display: inline-block;
	position: relative;
	top: -1px;
	margin-left: 3px;
	line-height: 1;
	font-size: 20px;
	font-size: 2.0rem;
}

#feature .table .price_tax {
	position: absolute;
	top: -1.1em;
	left: -1px;
	letter-spacing: 0.075em;
	font-weight: bold;
	font-size: 10px;
	font-size: 1.0rem;
	white-space: nowrap;
}

#feature .price_increase {
 position: relative;
	font-size: 14px;
	font-size: 1.4rem;
}

#feature .price_increase_value {
	line-height: 1;
	font-size: 22px;
	font-size: 2.2rem;
}

#feature .price_increase_value:after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 53%;
	height: 1px;
	transform: translateX(-50%);
	background-color: #4d4d4d;
	content: '';
}

#feature .table .price_reduce {
	margin-top: 10px;
	margin-bottom: 3px;
}

#feature .table .price_reduce_header {
	line-height: 1;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
 color: #666;
}

#feature .table .price_reduce_header .lowest_price {
	color: #fb754d;
}

#feature .table .price_reduce_body {
	position: relative;
	margin-top: 5px;
	white-space: nowrap;
	letter-spacing: -0.4em;
	color: #fb754d;
}

#feature .table .price_reduce_body > * {
	display: inline-block;
	vertical-align: bottom;
	letter-spacing: 0;
}

#feature .table .price_reduce_value {
	margin-left: 6px;
	line-height: 1;
	font-weight: 700;
	font-size: 30px;
	font-size: 3rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#feature .table .price_reduce_yen {
	position: relative;
	top: 1px;
	margin-left: 3px;
	line-height: 1;
	font-weight: bold;
	font-size: 20px;
	font-size: 2.0rem;
}

#feature .table .price_reduce_tax {
	position: absolute;
	top: -1.16em;
	left: 50%;
	letter-spacing: 0.075em;
	font-size: 9px;
	font-size: 0.9rem;
	white-space: nowrap;
	transform: translateX(-50%);
}

#feature .price_reduce_increase {
	font-size: 12px;
	font-size: 1.2rem;
 color: #666;
}

#feature .price_reduce_increase_value {
	font-weight: 400;
	font-size: 18px;
	font-size: 1.8rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#feature .day_annotation {
	font-weight: normal;
	font-size: 11px;
	font-size: 1.1rem;
}

#feature .goanchi {
	display: inline-block;
	text-align: left;
}

#feature .goanchi_annotation {
	font-size: 13px;
	font-size: 1.3rem;
	color: #666666;
}

#feature .table tbody td {
	padding: 14px 14px 10px;
	line-height: 1.6;
	font-size: 16px;
	font-size: 1.6rem;
}

#feature .table tbody td figcaption {
 display: block;
	margin-top: 10px;
 font-weight: normal;
}

#feature .table_annotation {
	float: right;
	margin-top: -15px;
	font-size: 13px;
	font-size: 1.3rem;
}

#feature .btn_modal {
	display: inline-block;
	position: relative;
	padding: 7px 10px 7px 20px;
	line-height: 1;
	font-size: 14px;
	color: #222;
	background-color: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 16px;
	transition: all 0.15s;
}

#feature .btn_modal:hover {
  border-color: #808080;
}

#feature .btn_modal .icon_circle_plus {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  margin-left: 12px;
  vertical-align: middle;
  background-color: #cccccc;
  border-radius: 50%;
  transition: all 0.3s;
}

#feature .btn_modal:hover .icon_circle_plus {
  transform: rotate(180deg);
}

#feature .btn_modal .icon_circle_plus:before,
#feature .btn_modal .icon_circle_plus:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 1px;
  background-color: #666;
  transform: translate(-50%, -50%);
  transition: background-color 0.15s;
  content: '';
}

#feature .btn_modal:hover .icon_circle_plus:before,
#feature .btn_modal:hover .icon_circle_plus:after {
  background-color: #222;
}

#feature .btn_modal .icon_circle_plus:after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* 含まれるもの */
#feature .include {
	position: relative;
	padding: 24px 22px;
	margin-top: 17px;
	background-color: #f3f0e6;
	border-radius: 6px;
}

#feature.theme_ichinichisoh .include {
	margin-top: 40px;
}

#feature .include .include_heading {
	text-align: center;
	line-height: 1;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
}

#feature .include .include_list {
	margin: 18px -9px -6px;
}

#feature .include .include_item {
	float: left;
	position: relative;
	width: 220px;
	height: 60px;
	margin: 8px 9px;
}

#feature .include .include_item_inner {
	overflow: hidden;
	display: table;
	width: 100%;
	height: 60px;
	background-color: #ffffff;
	border-radius: 6px;
}

#feature .include .include_item.has_detail .include_item_inner:hover + .include_detail {
	visibility: visible;
	opacity: 1;
}

#feature .include .include_item.has_detail:after {
	display: block;
	position: absolute;
	top: 6px;
	right: 4px;
	width: 16px;
	height: 16px;
	text-align: center;
	line-height: 16px;
	font-weight: bold;
	font-size: 12px;
	font-family: Arial, Helvetica, sans-serif;
	color: #fff;
	border-radius: 50%;
	box-sizing: border-box;
	content: '?';
}

#feature .include .include_item_inner > * {
	display: table-cell;
	vertical-align: middle;
}

#feature .include .include_item_body {
	width: 160px;
	padding: 2px 0 0 10px;
}

#feature .include .include_item_name {
	line-height: 1.05;
	font-weight: bold;
}

#feature .include .include_item_name_small {
	margin-left: 10px;
	font-weight: normal;
	font-size: 12px;
	font-size: 1.2rem;
}

#feature .include .include_item_info {
	margin-top: 6px;
	line-height: 1;
	font-weight: normal;
	font-size: 13px;
	font-size: 1.3rem;
}

#feature .include .include_detail {
	visibility: hidden;
	position: absolute;
	left: -30px;
	bottom: 100%;
	z-index: 9;
	width: 290px;
	padding: 12px 12px 11px;
	margin-bottom: 12px;
	background-color: #ffffff;
	border-radius: 6px;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
	opacity: 0;
	transform: translateZ(0);
	transition: all 0.15s;
}

@supports (filter: drop-shadow(0 0 0 #000)) {
  #feature .include .include_detail {
		box-shadow: none;
		filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.2));
  }
}

#feature .include .include_detail:after {
	display: inline-block;
	position: absolute;
	top: 100%;
	left: 50px;
	width: 0;
	height: 0;
	color: #fff;
	border-top: 10px solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	content: '';
}

#feature .include .include_detail_image {
	margin-bottom: 8px;
}

#feature .include .include_detail_image img {
	max-width: 100%;
	height: auto;
}

#feature .include .include_detail_text {
	line-height: 1.5;
}

#feature .include .include_detail_annotation {
	margin-top: 5px;
	line-height: 1.6;
	font-size: 12px;
	font-size: 1.2rem;
	color: #808080;
}

/* プラン別 */
#feature.theme_owakaresoh .heading:after { background-color: #7d5834; }
#feature.theme_owakaresoh col.is_current { border-color: #987b5d; }
#feature.theme_owakaresoh .table thead .is_current .cell_inner { background-color: #f7f1ea; }
#feature.theme_owakaresoh .table thead .is_current .cell_inner:before { background-color: #f7f1ea; border-color: #987b5d; }
#feature.theme_owakaresoh .table tbody tr:nth-child(n+3) > .is_current { font-weight: bold; }
#feature.theme_owakaresoh .table tbody .is_current .price { margin-top: 10px; }
#feature.theme_owakaresoh .table tbody .is_current .price_value { font-size: 48px; font-size: 4.8rem; }
#feature.theme_owakaresoh .table tbody .is_current .price_yen { font-size: 24px; font-size: 2.4rem; }
#feature.theme_owakaresoh .table tbody tr:last-child > .is_current { font-weight: normal; }
#feature.theme_owakaresoh .table tbody tr:last-child > .is_current figure:after,
#feature.theme_owakaresoh .table tbody tr:last-child > .is_current p:after { border-color: #987b5d; }
#feature.theme_owakaresoh .include_item.has_detail:after { background-color: #7d5834; }

#feature.theme_kasousiki .heading:after { background-color: #d18b18; }
#feature.theme_kasousiki col.is_current { border-color: #d9a145; }
#feature.theme_kasousiki .table thead .is_current .cell_inner { background-color: #fbf5ec; }
#feature.theme_kasousiki .table thead .is_current .cell_inner:before { background-color: #fbf5ec; border-color: #d9a145; }
#feature.theme_kasousiki .table tbody tr:nth-child(n+3) > .is_current { font-weight: bold; }
#feature.theme_kasousiki .table tbody .is_current .price { margin-top: 10px; }
#feature.theme_kasousiki .table tbody .is_current .price_value { font-size: 48px; font-size: 4.8rem; }
#feature.theme_kasousiki .table tbody .is_current .price_yen { font-size: 24px; font-size: 2.4rem; }
#feature.theme_kasousiki .table tbody tr:last-child > .is_current { font-weight: normal; }
#feature.theme_kasousiki .table tbody tr:last-child > .is_current figure:after { border-color: #d9a145; }
#feature.theme_kasousiki .include_item.has_detail:after { background-color: #d18b18; }

#feature.theme_ichinichisoh .heading:after { background-color: #5daa3c; }
#feature.theme_ichinichisoh col.is_current { border-color: #76b959;}
#feature.theme_ichinichisoh .table thead .is_current .cell_inner { background-color: #eaf1e6; }
#feature.theme_ichinichisoh .table thead .is_current .cell_inner:before { background-color: #eaf1e6; border-color: #76b959; }
#feature.theme_ichinichisoh .table tbody tr:nth-child(n+3) > .is_current { font-weight: bold; }
#feature.theme_ichinichisoh .table tbody .is_current .price { margin-top: 10px; }
#feature.theme_ichinichisoh .table tbody .is_current .price_value { font-size: 48px; font-size: 4.8rem; }
#feature.theme_ichinichisoh .table tbody .is_current .price_yen { font-size: 24px; font-size: 2.4rem; }
#feature.theme_ichinichisoh .table tbody tr:last-child > .is_current { font-weight: normal; }
#feature.theme_ichinichisoh .table tbody tr:last-child > .is_current figure:after { border-color: #76b959; }
#feature.theme_ichinichisoh .include_item.has_detail:after { background-color: #5daa3c; }

#feature.theme_kazokusoh .heading:after { background-color: #75003b; }
#feature.theme_kazokusoh col.is_current { border-color: #953365;}
#feature.theme_kazokusoh .table thead .is_current .cell_inner { background-color: #ede9eb; }
#feature.theme_kazokusoh .table thead .is_current .cell_inner:before { background-color: #ede9eb; border-color: #953365; }
#feature.theme_kazokusoh .table tbody tr:nth-child(n+3) > .is_current { font-weight: bold; }
#feature.theme_kazokusoh .table tbody .is_current .price { margin-top: 10px; }
#feature.theme_kazokusoh .table tbody .is_current .price_value { font-size: 48px; font-size: 4.8rem; }
#feature.theme_kazokusoh .table tbody .is_current .price_yen { font-size: 24px; font-size: 2.4rem; }
#feature.theme_kazokusoh .table tbody tr:last-child > .is_current { font-weight: normal; }
#feature.theme_kazokusoh .table tbody tr:last-child > .is_current figure:after { border-color: #953365; }
#feature.theme_kazokusoh .include_item.has_detail:after { background-color: #75003b; }

#feature.theme_osohshiki100 .heading:after { background-color: #163259; }
#feature.theme_osohshiki100 col.is_current { border-color: #2e476a; }
#feature.theme_osohshiki100 .table thead .is_current .cell_inner { background-color: #f0f0f0; }
#feature.theme_osohshiki100 .table thead .is_current .cell_inner:before { background-color: #f0f0f0; border-color: #2e476a; }
#feature.theme_osohshiki100 .table tbody tr:nth-child(n+3) > .is_current { font-weight: bold; }
#feature.theme_osohshiki100 .table tbody .is_current .price { margin-top: 10px; }
#feature.theme_osohshiki100 .table tbody .is_current .price_value { font-size: 48px; font-size: 4.8rem; }
#feature.theme_osohshiki100 .table tbody .is_current .price_yen { font-size: 24px; font-size: 2.4rem; }
#feature.theme_osohshiki100 .table tbody tr:last-child > .is_current { font-weight: normal; }
#feature.theme_osohshiki100 .table tbody tr:last-child > .is_current figure:after { border-color: #2e476a; }
#feature.theme_osohshiki100 .include_item.has_detail:after { background-color: #163259; }

/* -------------------------------------------------------

  費用

------------------------------------------------------- */

.price_block {
	position: relative;
	padding: 72px 0 50px;
	text-align: center;
	background-color: #fff;
}

.price_block:before {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -98px;
	border-top: 40px solid;
	border-right: 98px solid transparent;
	border-left: 98px solid transparent;
	content: '';
}

.price_block .price_lead {
	line-height: 1;
	font-weight: bold;
	font-size: 22px;
	font-size: 2.2rem;
}

.price_block .plan_name {
	font-size: 30px;
	font-size: 3rem;
}

.price_block .price {
	display: inline-block;
	margin-top: 10px;
}

.price_block .price_content {
	display: table;
}

.price_block .price_annotation {
	margin-top: 15px;
 margin-right: 60px;
	line-height: 1;
	font-weight: bold;
}

.price_block .price .column {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
}

.price_block .price .column:first-child {
	padding: 10px 35px 0 0;
}

.price_block .price_copy {
	padding: 0 5px 5px;
	line-height: 1;
	font-weight: bold;
	font-size: 22px;
	font-size: 2.2rem;
	border: 1px solid currentColor;
	border-radius: 6px;
}

.price_block .price_copy .text_number {
	display: inline-block;
	position: relative;
	top: 2px;
	margin: 0 1px;
	font-weight: 400;
	font-size: 32px;
	font-size: 3.2rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.price_block .price_usual {
	margin-top: 5px;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}

.price_block .price_usual_value {
	line-height: 1;
	font-weight: 400;
	font-size: 22px;
	font-size: 2.2rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.price_block .price_reduce {
	white-space: nowrap;
	letter-spacing: -0.4em;
}

.price_block .price_reduce > * {
	letter-spacing: 0;
}

.price_block .price_reduce_value {
	display: inline-block;
	margin-top: -6px;
	line-height: 1;
	font-weight: 400;
	font-size: 100px;
	font-size: 10rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.price_block .price_reduce_yen {
	display: inline-block;
	position: relative;
	top: -2px;
	margin-left: 2px;
	line-height: 1;
	font-weight: bold;
	font-size: 50px;
	font-size: 5rem;
}

.price_block .price_reduce_tax {
	position: absolute;
	top: -1.05em;
	left: 50%;
	letter-spacing: 0.075em;
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	white-space: nowrap;
}

.price_block .price_increase {
 float: right;
 display: block;
	margin-right: 5px;
	font-size: 19px;
	font-size: 1.9rem;
 font-weight: bold;
 color: #333;
}

.price_block .price_increase_value {
 line-height: 1;
	font-size: 37px;
	font-size: 3.7rem;
}
/*.price_block btn_modal*/
.price_block .btn_modal_area {
	 margin: 15px auto 30px;
  width: 560px;
  height: 20px;
  clear: both;
  display: block;
  color: #666;
}

.price_block .btn_modal_area li {
  float:left;
}

.price_block .btn_modal {
  display: inline-block;
  margin: 0 10px 0 25px;
  line-height: 1;
  font-size: 14px;
  color: #666;
  transition: all 0.15s;
}

.price_block .btn_modal .btn_modal_text {
   border-bottom: 1px solid #666;
}

.price_block .btn_modal .btn_modal_text:hover {
   border-bottom: none;
}

.price_block .btn_modal .icon_circle_plus {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  top: 8px;
  vertical-align: middle;
  background-color: #cccccc;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  margin-right: 3px;
}

.price_block .btn_modal:hover .icon_circle_plus {
  transform: translateY(-50%) rotate(180deg);
}

.price_block .btn_modal .icon_circle_plus:before,
.price_block .btn_modal .icon_circle_plus:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 1px;
  background-color: #666;
  transform: translate(-50%, -50%);
  transition: background-color 0.15s;
  content: '';
}

.price_block .btn_modal:hover .icon_circle_plus:before,
.price_block .btn_modal:hover .icon_circle_plus:after {
  background-color: #222;
}

.price_block .btn_modal .icon_circle_plus:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
/*price_block btn_modal　ここまで*/

.price_block .payments {
	display: table;
	padding: 8px 5px;
	margin: 15px auto 0;
	line-height: 1;
	font-weight: bold;
	border-width: 1px 0 1px;
	border-style: solid;
	border-color: #cccccc;
}

.price_block .payments > * {
	display: table-cell;
}

.price_block .payments > *:first-child {
	padding-right: 20px;
}

.price_block .loan_value {
	font-weight: 400;
	font-size: 20px;
	font-size: 2rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.price_block .loan_yen {
	font-weight: bold;
}

.price_block .loan_count {
	display: inline-block;
	position: relative;
	top: -3px;
	padding: 3px 6px;
	margin-left: 6px;
	font-weight: normal;
	font-size: 13px;
	font-size: 1.3rem;
	color: #ffffff;
	border-radius: 10px;
}

.price_block .img_cards {
	position: relative;
	top: 2px;
}

.price_block .btn_confer {
	display: inline-block;
	position: relative;
	padding: 8px 56px 8px 28px;
	line-height: 1;
	color: #000;
	background-color: #eeeeee;
	border-radius: 15px;
	transition: all 0.15s;
}

.price_block .btn_confer:hover {
	background-color: #ffffff;
	box-shadow: 0 0 0 1px #aaa;
}

.price_block .btn_confer em {
	color: #359fb4;
}

.price_block .btn_confer:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #000;
	transform: rotate(45deg);
	content: '';
}

.price_block .payments_links {
 width: 978px;
 margin: 18px auto 0px;
}

.price_block .payments_links ul{
 margin-left: 55px;
}

.price_block .payments_links li {
 float:left;
}

.price_block.theme_owakaresoh:before { color: #7d5834; }
.price_block.theme_owakaresoh .price { color: #634226; }
.price_block.theme_owakaresoh .plan_name { color: #634226; }
.price_block.theme_owakaresoh .loan_count { background-color: #634226; }
.price_block.theme_owakaresoh .loan_value { color: #634226; }
.price_block.theme_owakaresoh .loan_yen { color: #634226; }

.price_block.theme_kasousiki:before { color: #d18b18; }
.price_block.theme_kasousiki .price { color: #bc741a; }
.price_block.theme_kasousiki .plan_name { color: #bc741a; }
.price_block.theme_kasousiki .loan_count { background-color: #bc741a; }
.price_block.theme_kasousiki .loan_value { color: #bc741a; }
.price_block.theme_kasousiki .loan_yen { color: #bc741a; }

.price_block.theme_ichinichisoh:before { color: #5daa3c; }
.price_block.theme_ichinichisoh .price { color: #5d9600; }
.price_block.theme_ichinichisoh .plan_name { color: #5d9600; }
.price_block.theme_ichinichisoh .loan_count { background-color: #5d9600; }
.price_block.theme_ichinichisoh .loan_value { color: #5d9600; }
.price_block.theme_ichinichisoh .loan_yen { color: #5d9600; }

.price_block.theme_kazokusoh:before { color: #75003b; }
.price_block.theme_kazokusoh .price { color: #60002d; }
.price_block.theme_kazokusoh .plan_name { color: #60002d; }
.price_block.theme_kazokusoh .loan_count { background-color: #60002d; }
.price_block.theme_kazokusoh .loan_value { color: #60002d; }
.price_block.theme_kazokusoh .loan_yen { color: #60002d; }

.price_block.theme_osohshiki100:before { color: #163259; }
.price_block.theme_osohshiki100 .price { color: #112245; }
.price_block.theme_osohshiki100 .plan_name { color: #112245; }
.price_block.theme_osohshiki100 .loan_count { background-color: #112245; }
.price_block.theme_osohshiki100 .loan_value { color: #112245; }
.price_block.theme_osohshiki100 .loan_yen { color: #112245; }

/* -------------------------------------------------------

  プランリンク

------------------------------------------------------- */

.plan_links {
	margin: 25px 0 5px;
	background-color: #fff;
}

.plan_links .plan_links_heading {
	position: relative;
	text-align: center;
	line-height: 1;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.2rem;
}

.plan_links .plan_links_heading .heading_balloon {
  display: inline-block;
  position: relative;
  top: -1px;
  margin-right: 10px;
  width: 60px;
  height: 25px;
  padding-top: 5px;
  vertical-align: bottom;
  text-align: center;
  letter-spacing: 0.02em;
  font-size: 16px;
  font-size: 1.4rem;
  color: #ffffff;
  background-color: #f15c5c;
  border-radius: 30px;
}

.plan_links .plan_links_heading .heading_balloon:after {
	display: inline-block;
	position: absolute;
	top: 15px;
	left: 58px;
	width: 0;
	height: 0;
	margin-left: -5px;
	color: #f15c5c;
	transform-origin: 20% 2px;
	transform: rotate(-55deg);
	border-top: 10px solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	content: '';
}

.plan_links .plan_links_list {
	margin: 18px 0 10px;
  display: inline-block;
}

.plan_links .plan_links_item {
	float: left;
}

.plan_links .plan_links_item + .plan_links_item {
	margin-left: 20px;
}

.plan_links .plan_links_link {
	display: block;
	height: 100%;
	border-radius: 6px;
	box-shadow: 0 3px rgba(0, 0, 0, 0.2);
	transition: all 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.plan_links .plan_links_link:hover {
	box-shadow: none;
}

.plan_links .plan_links_link:hover > img {
	opacity: 0.8;
	transform: translateY(1px);
}

/* -------------------------------------------------------

  インタビュー

------------------------------------------------------- */

#interview {
	padding: 40px 0 45px;
	margin: 55px 0 0;
}

#interview .interview_slider {
  display: flex;
  height: auto;
}

#interview .interview_slider:after {
  content: '';
  display: block;
  clear: both;
}

#interview .interview_slider .interview_slide {
  width: 303px!important;
  height: 100%;
}

#interview .interview_slider .interview_link {
  overflow: hidden;
  display: block;
  position: relative;
  height: 100%;
  background-color: #f9f9f9;
  border: 1px solid #e1e1e1;
  border-radius: 5px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15);
  transition: all 0.15s;
}

#interview .bx-prev { left: -7px; }
#interview .bx-next { right: -6px; }

#interview .interview_list_wide .bx-prev { left: 8.4%; }
#interview .interview_list_wide .bx-next { right: -6.2%; }

#interview .interview_heading {
  line-height: 1.4;
  font-weight: bold;
  font-size: 25px;
  position: relative;
}

#interview .interview_heading_lead {
  font-weight: bold;
  font-size: 20px;
  margin-left: 10px;
}

#interview .interview_heading .cl_osh {
  line-height: 1.4;
  font-weight: bold;
  font-size: 32px;
  position: relative;
	letter-spacing: -0.02em;
  margin-left: -7px;
}

#interview .interview_heading:before {
  display: inline-block;
  position: absolute;
  top: -17px;
  left: 118px;
  z-index: 1;
  width: 185px;
  height: 100px;
  background-image: url(/dist/images/price/plan/images/icon_satisfaction_interview.png);
  background-repeat: no-repeat;
  content: '';
}

#interview .interview_heading:after {
  display: inline-block;
  position: absolute;
  top: -1px;
  right: 91px;
  z-index: 1;
  width: 185px;
  height: 100px;
  background-image: url(/dist/images/price/plan/images/icon_customer_interview.png);
  background-repeat: no-repeat;
  content: '';
}

#interview .interview_list {
  position: relative;
  z-index: 0;
  margin: 0 14px;
}

#interview .interview_slider li.interview_slide  {
  float: left;
  list-style: none;
  position: relative;
  width: 228px;
  height: auto;
  padding-bottom: 4px;
  margin-right: 20px !important;
  opacity: 0;
}

#interview [class*="bx"] .interview_slider li.interview_slide {
  opacity: 1;
}

#interview .interview_slider .interview_link:hover {
  border-color: #ccc;
  box-shadow: none;
  transform: translateY(2px);
}

#interview .interview_slider .interview_thumb {
  overflow: hidden;
  position: relative;
  height: 205px;
  background-color: #eee;
  transition: opacity 0.15s;
}

#interview .interview_slider .interview_link:hover .interview_thumb {
  opacity: 0.75;
}

#interview .interview_annotation {
  text-align: right;
  margin: 12px 20px 0 0;
  font-size: 13px;
  font-size: 1.3rem;
}

#interview .interview_slider .interview_desc {
  overflow: inherit;
  height: auto;
  line-height: 1.75;
  font-weight: bold;
  font-size: 15px;
  color: #333;
  text-decoration: none;
}

#interview .interview_slider .interview_info {
  bottom: 12px;
  line-height: 1;
  font-size: 13px;
  color: #666;
}

#interview .interview_slider .interview_content {
  position: static;
  height: auto;
  padding: 14px 10px 40px;
  text-align: left;
}

/* -------------------------------------------------------

  都道府県名から葬儀場を探す

------------------------------------------------------- */

.area_search_block {
	margin-top: 50px;
	margin-bottom: 40px;
}

.area_search_block .heading {
	text-align: center;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.45rem;
  margin-bottom: 15px;
  position: relative;
  padding-left: 135px;
}

.area_search_block .heading:before {
	display: inline-block;
	position: absolute;
	top: -0.82em;
	left: 73px;
	z-index: 1;
	width: 195px;
	height: 105px;
	background-image: url(/dist/images/common/icon_hall_search.png);
	background-repeat: no-repeat;
	content: '';
}

.area_search_block .heading .cl_osh {
  font-size: 125%;
}

.search_freeword_content_wrap {
  background-color: #F8F6F3;
}

/* -------------------------------------------------------

  流れ

------------------------------------------------------- */

#flow {
	padding: 40px 0;
	margin: 60px 0 0 0;
	background-color: #f4f4f4;
}

#flow .heading {
	text-align: center;
	line-height: 1;
	font-weight: bold;
	font-size: 30px;
	font-size: 3.0rem;
}

#flow .heading:after {
	display: block;
	width: 120px;
	height: 2px;
	margin: 18px auto 0;
	content: '';
}

#flow .day {
	min-width: 100%;
	margin: 25px 0 0;
}

#flow .day_heading {
	position: relative;
	z-index: 1;
	padding: 5px;
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	color: #ffffff;
}

#flow .day_heading:after {
	position: absolute;
	top: 100%;
	left: 0;
	display: block;
	width: 15px;
	height: 9px;
	width: 0;
	height: 0;
	color: #aaa;
	border-top: 4px solid;
	border-bottom: 4px solid transparent;
	border-right: 7px solid;
	border-left: 7px solid transparent;
	content: '';
}

#flow .flow_chart {
	margin-top: 35px;
	margin-bottom: 55px;
}

#flow .day_label {
	display: inline-block;
	padding: 4px 0.8em 3px;
	margin-right: 12px;
	line-height: 1;
	background-color: #ffffff;
	border-radius: 6px;
}

#flow .box_list {
  position: relative;
  padding: 38px 0 35px;
}

#flow .box_list.firstda {
  padding: 38px 0 0;
}


#flow .box_list:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 14px;
  width: 15px;
  content: '';
}

#flow .box {
  position: relative;
  z-index: 1;
  min-width: 100%;
  padding: 19px;
  margin: 0;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-radius: 6px;
}


#flow .box + .box {
	margin-top: 28px;
}

#flow .row {
	display: table;
	width: 100%;
}

#flow .row > .col {
	display: table-cell;
	vertical-align: top;
}

#flow .row > .col:first-child {
	width: 278px;
	padding-right: 38px;
}

#flow .box_heading {
	padding: 7px 0 7px 20px;
	margin-bottom: 20px;
	line-height: 1;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	border-left: 6px solid #ccc;
}

#flow .box_text {
	line-height: 1.5;
	font-size: 16px;
	font-size: 1.6rem;
}

#flow .btn_video {
	display: block;
	position: relative;
	background-color: #000;
}

#flow .btn_video:after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 62px;
	height: 43px;
	margin: -21px 0 0 -31px;
	background-image: url(/dist/images/common/icon_video.png);
	content: '';
}

#flow .btn_video:hover .image_holder {
	cursor: pointer;
}

#flow .btn_video .image_holder {
	transition: opacity 0.2s;
}

#flow .btn_video:hover .image_holder {
	opacity: 0.4;
}

#flow .urgency_tel {
	margin-top: 10px;
}

#flow .urgency_tel .urgency_tel_inner {
	display: inline-block;
	text-align: left;
	vertical-align: top;
}

#flow .urgency_tel .tel_for {
	display: block;
	float: left;
	padding: 3px 6px;
	margin-top: 4px;
	line-height: 1.3;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
	color: #ffffff;
	background-color: #f15c5c;
	border-radius: 5px;
}

#flow .urgency_tel .tel_icon {
	display: block;
	position: relative;
	float: left;
	width: 35px;
	height: 48px;
	margin: 0 2px 0 15px;
	background-image: url(/dist/images/telnum/icon_tel_orange.png);
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: auto 45px;
}

#flow .urgency_tel .tel_number {
	display: block;
	float: left;
	margin: -3px 3px 0 0;
	letter-spacing: -0.02em;
	line-height: 1;
	font-weight: 500;
	font-size: 52px;
	font-size: 5.2rem;
	font-family: 'Oswald', monospace, sans-serif;
	color: #f15c5c;
}

#flow .urgency_tel .tel_info {
	display: block;
	float: left;
	padding: 3px;
	margin: 9px 0 0 6px;
	line-height: 1.2;
	font-weight: bold;
	font-size: 13px;
	font-size: 1.3rem;
	color: #f15c5c;
}

#flow .transport {
	min-width: 100%;
	padding: 0 20px 15px;
	margin: 20px 0 0;
	background-color: #f3f0e6;
}

#flow .transport .transport_heading {
	margin: 0 0 14px -10px;
	line-height: 1;
}

#flow .transport .transport_heading_inner {
	display: inline-block;
	padding: 9px 10px 8px 12px;
	color: #ffffff;
	background-color: #666666;
}

@supports (-webkit-appearance: -apple-pay-button) {
  #flow .transport .transport_heading_inner {
    padding: 8px 10px 8px 12px;
  }
}

#flow .transport .transport_heading_inner:before {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 6px;
	text-align: center;
	line-height: 18px;
	font-weight: bold;
	font-size: 12px;
	color: #666666;
	background-color: #f8e50d;
	border-radius: 50%;
	content: '!';
}

#flow .transport .transport_text .asterisk {
	vertical-align: text-top;
	font-size: 10px;
	font-size: 1rem;
}

#flow .box .point {
	font-weight: bold;
	color: #f15c5c;
}

#flow .transport .transport_text_accent {
	font-weight: bold;
	color: #f15c5c;
}

#flow .transport .transport_info {
	display: none;
	padding: 15px 20px;
	margin: 10px auto 0;
	background-color: #ffffff;
}

#flow .transport .transport_info .text_th {
	margin-bottom: 1px;
	font-weight: bold;
	font-size: 17px;
	font-size: 1.7rem;
}

#flow .transport .transport_info * + .text_th {
	margin-top: 10px;
}

#flow .transport .transport_info .text_th:before {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 4px 0 2px;
	background-color: #333;
	content: '';
}

#flow .transport .transport_info .text {
	font-size: 15px;
	font-size: 1.5rem;
}

#flow .transport .transport_info .text:before {
	display: inline-block;
	width: 3px;
	height: 3px;
	margin: 0 8px 0 6px;
	vertical-align: middle;
	background-color: #333333;
	border-radius: 50%;
	content: '';
}

#flow .transport .transport_info .text_annotation:first-child,
#flow .transport .transport_info .text + .text_annotation {
	margin-top: 4px;
}

#flow .transport .transport_info .text_annotation {
	font-size: 14px;
	font-size: 1.4rem;
	color: #666;
}

#flow .transport .transport_info .text_annotation .asterisk {
	display: inline-block;
	width: 14px;
	margin-right: 2px;
}

#flow .transport .btn_toggle {
	position: relative;
	padding: 10px 60px 10px 30px;
	line-height: 1;
	background-color: #ffffff;
	border: 1px solid #e1e1e1;
	border-radius: 6px;
	transition: all 0.15s;
}

#flow .transport .btn_toggle:hover {
	border-color: #aaa;
	cursor: pointer;
}

#flow .transport .btn_toggle > * {
	display: inline-block;
	position: relative;
	line-height: 1;
}

#flow .transport .btn_toggle > *:nth-child(2) {
	display: none;
}

#flow .transport .btn_toggle.is_active > *:first-child {
	display: none;
}

#flow .transport .btn_toggle.is_active > *:nth-child(2) {
	display: inline-block;
}

#flow .transport .btn_toggle .icon_plus_circle {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background-color: #c5c5c5;
	border-radius: 50%;
}

#flow .transport .btn_toggle .icon_plus_circle:before,
#flow .transport .btn_toggle .icon_plus_circle:after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 2px;
	margin: -1px 0 0 -5px;
	background-color: #666666;
	content: "";
}

#flow .transport .btn_toggle .icon_plus_circle:after {
	transform: rotate(90deg);
}

#flow .transport .btn_toggle.is_active .icon_plus_circle:before {
	transform: rotate(45deg);
}

#flow .transport .btn_toggle.is_active .icon_plus_circle:after {
	transform: rotate(135deg);
}

#flow .accordion {
	border-radius: 6px;
	background-color: #f3f0e6;
}

#flow .accordion_theme_option {
	background-color: #fff;
}

#flow .accordion_header {
	position: relative;
	width: 100%;
	padding: 10px 0;
	text-align: center;
	line-height: 1;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	border-radius: 6px;
	box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}

#flow .accordion_theme_light .accordion_header {
	color: #333333;
	background-color: #ffffff;
	border: 1px solid #ccc;
}

#flow .accordion_theme_dark .accordion_header {
	color: #fff;
	background-color: #666666;
}

#flow .accordion_theme_option .accordion_header {
	color: #fff;
	background-color: #666666;
}

#flow .accordion_header:hover {
	cursor: pointer;
}

#flow .accordion_header span:first-child {
	position: relative;
}

#flow .accordion_header .icon_plus_circle {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 14px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

#flow .accordion_theme_light .icon_plus_circle {
	width: 26px;
	height: 26px;
	margin-top: -13px;
}

#flow .accordion_theme_dark .icon_plus_circle {
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background-color: #fff;
}

#flow .accordion_theme_option .icon_plus_circle {
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background-color: #fff;
}

#flow .accordion_header .icon_plus_circle:before,
#flow .accordion_header .icon_plus_circle:after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 2px;
	margin: -1px 0 0 -5px;
	content: "";
}

#flow .accordion_theme_light .icon_plus_circle:before,
#flow .accordion_theme_light .icon_plus_circle:after {
	background-color: #fff;
}

#flow .accordion_theme_dark .icon_plus_circle:before,
#flow .accordion_theme_dark .icon_plus_circle:after {
	background-color: #666;
}

#flow .accordion_header .icon_plus_circle:after {
	transform: rotate(90deg);
}

#flow .accordion_header.is_active .icon_plus_circle:after {
	transform: rotate(0);
}

#flow .accordion_body {
	display: none;
}

#flow .anchi_method {
	margin-top: 20px;
}

#flow .anchi_method .accordion_body {
	padding: 24px 2px 18px;
}

#flow .anchi_method .anchi_method_list {
	display: table;
	width: 100%;
}

#flow .anchi_method .anchi_method_item {
	display: table-cell;
	width: 310px;
	height: 100%;
	padding: 0 20px;
}

#flow .anchi_method .anchi_method_item + .anchi_method_item {
	border-left: 1px solid #e7e3de;
}

#flow .anchi_method .anchi_method_item_heading {
	line-height: 1;
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
}

#flow .anchi_method .anchi_method_item_heading span {
 font-size: 12px;
 font-size: 1.2rem;
}

#flow .anchi_method .anchi_method_image {
	position: relative;
	margin: 13px 0 15px;
}

#flow .anchi_method .anchi_method_text {
	line-height: 1.5;
}

#flow .anchi_method .anchi_method_badge {
	position: absolute;
	right: 5px;
	bottom: -9px;
	width: 90px;
	height: 90px;
	padding-top: 25px;
	text-align: center;
	line-height: 1.3;
	font-weight: bold;
	font-size: 13px;
	font-size: 1.3rem;
	color: #ffffff;
	background-color: rgba(241, 92, 92, 0.9);
	border-radius: 50%;
}

#flow .anchi_method .anchi_method_badge em {
	font-size: 18px;
	font-size: 1.8rem;
}

#flow .anchi_method .anchi_method_annotation {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.44;
	font-size: 13px;
	font-size: 1.3rem;
	color: #666666;
}

#flow .utiawase {
	min-width: 100%;
	margin: 0;
}

#flow .utiawase .utiawase_heading {
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}

#flow .utiawase .utiawase_list {
	display: table;
	padding: 13px 10px;
	margin-top: 8px;
	background-color: #f3f0e6;
	border-radius: 8px;
}

#flow .utiawase .utiawase_item {
	display: table-cell;
	padding: 0 10px;
	vertical-align: middle;
	line-height: 1;
}

#flow .utiawase .utiawase_item:before {
	display: inline-block;
	position: relative;
	top: -2px;
	width: 8px;
	height: 4px;
	margin-right: 10px;
	vertical-align: middle;
	border-width: 0 0 2px 2px;
	border-style: solid;
	border-color: #666;
	transform: rotate(-45deg);
	content: '';
}

#flow .include .accordion_body {
	padding: 18px 22px 16px;
}

#flow .include_heading {
	margin-bottom: 8px;
	line-height: 1;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}

#flow .include_heading:nth-of-type(n + 2) {
	margin-top: 20px;
}

#flow .include_list {
	margin: 0 -9px;
}

#flow .include_item {
	float: left;
	position: relative;
	width: 220px;
	height: 60px;
	margin: 8px 9px;
}

#flow .include_item_inner {
	overflow: hidden;
	display: table;
	width: 100%;
	height: 60px;
	background-color: #ffffff;
	border-radius: 6px;
}

#flow .include_item.has_detail .include_item_inner:hover + .include_detail {
	visibility: visible;
	opacity: 1;
}

#flow .include_item.has_detail:after {
	display: block;
	position: absolute;
	top: 6px;
	right: 4px;
	width: 16px;
	height: 16px;
	text-align: center;
	line-height: 16px;
	font-weight: bold;
	font-size: 12px;
	font-family: Arial, Helvetica, sans-serif;
	color: #fff;
	border-radius: 50%;
	box-sizing: border-box;
	content: '?';
}

#flow .include_item_inner > * {
	display: table-cell;
	vertical-align: middle;
}

#flow .include_item_body {
	width: 160px;
	padding: 2px 0 0 10px;
}

#flow .include_item_name {
	line-height: 1.05;
	font-weight: bold;
}

#flow .include_item_name_small {
	margin-left: 10px;
	font-weight: normal;
	font-size: 12px;
	font-size: 1.2rem;
}

#flow .include_item_info {
	margin-top: 6px;
	line-height: 1;
	font-weight: normal;
	font-size: 13px;
	font-size: 1.3rem;
}

#flow .include_detail {
	visibility: hidden;
	position: absolute;
	left: -30px;
	bottom: 100%;
	z-index: 9;
	width: 300px;
	padding: 12px;
	margin-bottom: 12px;
	background-color: #ffffff;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	opacity: 0;
	transform: translateZ(0);
	transition: all 0.15s;
}

@supports (filter: drop-shadow(0 0 0 #000)) {
  #flow .include_detail {
		box-shadow: none;
		filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
  }
}

#flow .include_detail:after {
	display: inline-block;
	position: absolute;
	top: 100%;
	left: 50px;
	width: 0;
	height: 0;
	color: #fff;
	border-top: 10px solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	content: '';
}

#flow .include_detail_image {
	margin-bottom: 8px;
}

#flow .include_detail_image img {
	max-width: 100%;
	height: auto;
}

#flow .include_detail_text {
	line-height: 1.6;
	font-size: 14px;
	font-size: 1.4rem;
}

#flow .include_detail_annotation {
	margin-top: 5px;
	line-height: 1.6;
	font-size: 12px;
	font-size: 1.2rem;
	color: #808080;
}

#flow .day .flow_text {
  position: relative;
  padding: 0 10px 0 58px;
  line-height: 1.34375;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
}

#flow .day .flow_text:before {
  display: block;
  position: absolute;
  top: 3px;
  top: 0.166em;
  left: 21px;
  width: 40px;
  height: 40px;
  margin-top: 0.5em;
  margin-left: -20px;
  background-color: inherit;
  border-radius: 50%;
  transform: translateY(-50%);
  content: '';
}

#flow .day .flow_enishi {
	display: flex;
	padding: 10px 10px 0px 58px;
	align-items: center;
}
#flow .day .flow_enishi p {
	margin-right: 10px;
}
#flow .day .flow_enishi a:hover img {
	opacity: 0.6;
}
#flow .day .flow_enishi span{
	color: #b68532;
	font-weight: bold;
}

/*plan btn_modal*/
#flow .btn_modal {
  display: inline-block;
  line-height: 1;
  font-size: 14px;
  color: #666;
  transition: all 0.15s;
}

#flow .btn_modal .btn_modal_text {
   border-bottom: 1px solid #666;
}

#flow .btn_modal .btn_modal_text:hover {
   border-bottom: none;
}

#flow .btn_modal .icon_circle_plus {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  top: 8px;
  vertical-align: middle;
  background-color: #cccccc;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  margin-right: 3px;
}

#flow .btn_modal:hover .icon_circle_plus {
  transform: translateY(-50%) rotate(180deg);
}

#flow .btn_modal .icon_circle_plus:before,
#flow .btn_modal .icon_circle_plus:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 1px;
  background-color: #666;
  transform: translate(-50%, -50%);
  transition: background-color 0.15s;
  content: '';
}

#flow .btn_modal:hover .icon_circle_plus:before,
#flow .btn_modal:hover .icon_circle_plus:after {
  background-color: #222;
}

#flow .btn_modal .icon_circle_plus:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
/*flow　ここまで*/

#flow .kokubetsushiki {
	min-width: 100%;
	margin: 20px 0 0;
}

#flow .kokubetsushiki_heading {
	margin-bottom: 10px;
	line-height: 1;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}

#flow .temple,
#about .temple {
	min-width: 100%;
	margin: 25px 0 0;
}

#flow .payment_method {
	margin-top: 20px;
}

#flow .payment_method .accordion_body {
	padding: 20px 2px 18px;
}

#flow .payment_method .payment_method_list {
	display: table;
	width: 100%;
}

#flow .payment_method .payment_method_item {
	display: table-cell;
	height: 100%;
	padding: 0 20px;
}

#flow .payment_method .payment_method_item:first-child {
	width: 250px;
}

#flow .payment_method .payment_method_item:nth-child(2) {
	width: 340px;
}

#flow .payment_method .payment_method_item:last-child {
	width: 340px;
}

#flow .payment_method .payment_method_item + .payment_method_item {
	border-left: 1px solid #e7e3de;
}

#flow .payment_method .payment_method_item_heading {
	margin-bottom: 18px;
	line-height: 1;
	font-weight: bold;
	font-size: 21px;
	font-size: 2.1rem;
}

#flow .payment_method .payment_method_item_heading .text_small {
	margin-left: 10px;
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
}

#flow .payment_method .payment_method_text {
	line-height: 1.5;
}

#flow .payment_method .payment_method_annotation {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.44;
	font-size: 14px;
	font-size: 1.4rem;
	color: #666666;
}

#flow .payment_method .payment_method_loan {
	position: relative;
	padding: 10px 0 7px 80px;
	margin-top: 10px;
	background-color: #ffffff;
}

#flow .payment_method .payment_method_loan:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 80px;
	background-color: #efefef;
	background-image: url(/dist/images/common/logo_orico.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	content: '';
}

#flow .payment_method .payment_method_loan_body {
	text-align: center;
}

#flow .payment_method .payment_method_loan_text {
	line-height: 1.36;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}

#flow .payment_method .payment_method_loan_text .text_small {
	font-weight: normal;
	font-size: 12px;
	font-size: 1.2rem;
}

#flow .payment_method .loan_price {
	margin-top: 8px;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}

#flow .payment_method .loan_price_value {
	display: inline-block;
	margin-top: -6px;
	line-height: 1;
	font-weight: bold;
	font-size: 42px;
	font-size: 4.2rem;
	font-family: 'Oswald', Arial, "Helvetica Neue", Helvetica, sans-serif;
	color: #f15c5c;
}

#flow .payment_method .loan_price_yen {
	display: inline-block;
	position: relative;
	top: -2px;
	margin-left: 2px;
	line-height: 1;
	font-size: 24px;
	font-size: 2.4rem;
}

#flow .payment_method .loan_price_tax {
	position: absolute;
	top: -1.15em;
	left: 50%;
	letter-spacing: 0.075em;
	font-size: 11px;
	font-size: 1.1rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	white-space: nowrap;
}

#flow .option .accordion_body {
	display: block;
	padding: 20px;
}

#flow .option_item {
	padding: 0 0 20px;
}

#flow .option_item + .option_item {
	padding: 20px 0;
	border-top: 1px solid #ccc;
}

#flow .option_content.fl {
	width: 798px;
}

#flow .option_image {
	float: right;
}

#flow .option_heading {
	margin-bottom: 6px;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
}

#flow .option_heading ~ * {
	font-size: 16px;
	font-size: 1.6rem;
	color: #666;
}

#flow .option .standard {
	display: table;
}

#flow .option .standard > * {
	display: table-cell;
	vertical-align: top;
}

#flow .option .standard_heading {
	position: relative;
	top: 1px;
	width: 6.4em;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
}

#flow .option .standard_item {
	float: left;
}

#flow .option .standard_item ~ * {
	margin-left: 10px;
}

#flow .option_comment {
	padding: 10px 12px 10px 60px;
	margin-top: 14px;
	line-height: 1.4;
	background-color: #f3f0e6;
	background-image: url(/dist/plan/images/illust_operator.png);
	background-repeat: no-repeat;
	background-position: 13px 7px;
}

#flow .option_annotation {
	font-size: 14px;
	font-size: 1.4rem;
}

#flow .video {
	margin-top: 45px;
	text-align: center;
}

#flow .video_heading {
	margin-bottom: 8px;
	line-height: 1;
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
}

#flow .video iframe {
	vertical-align: top;
}

#flow .video_heading .plan_name {
	font-size: 24px;
	font-size: 2.4rem;
}

/* プラン別 */
#flow.theme_owakaresoh .anchi_method .anchi_method_list { width: 100%; }
#flow.theme_owakaresoh .anchi_method .anchi_method_image {
 float: left;
	position: relative;
	margin: 13px 20px 15px 0;
}
#flow.theme_owakaresoh .anchi_method_text_cont {
 width: 67%;
 float: left;
 margin-top: 8px;
}

#flow.theme_owakaresoh .heading:after { background-color: #7d5834; }
#flow.theme_owakaresoh .day_heading { background-color: #7d5834; }
#flow.theme_owakaresoh .day_label { color: #987b5d; }
#flow.theme_owakaresoh .box_list:before { background-color: #bcbfc5; }
#flow.theme_owakaresoh .box { border-color: #987b5d; }
#flow.theme_owakaresoh .box_heading { color: #634226; border-color: #987b5d; }
#flow.theme_owakaresoh .accordion_theme_option .accordion_header { background-color: #7d5834; }
#flow.theme_owakaresoh .accordion_theme_light .icon_plus_circle { background-color: #7d5834; }
#flow.theme_owakaresoh .accordion_theme_option .icon_plus_circle:before,
#flow.theme_owakaresoh .accordion_theme_option .icon_plus_circle:after { background-color: #7d5834; }
#flow.theme_owakaresoh .utiawase .utiawase_item:before { border-color: #634226; }
#flow.theme_owakaresoh .day .flow_text:before { background-color: #7d5834; }
#flow.theme_owakaresoh .option_heading { color: #7d5834; }
#flow.theme_owakaresoh .video_heading .plan_name { color: #7d5834; }

#flow.theme_kasousiki .heading:after { background-color: #d18b18; }
#flow.theme_kasousiki .day_heading { background-color: #d18b18; }
#flow.theme_kasousiki .day_label { color: #d9a145; }
#flow.theme_kasousiki .box_list:before { background-color: #bcbfc5; }
#flow.theme_kasousiki .box { border-color: #d9a145; }
#flow.theme_kasousiki .box_heading { color: #bc741a; border-color: #d9a145; }
#flow.theme_kasousiki .accordion_theme_option .accordion_header { background-color: #d18b18; }
#flow.theme_kasousiki .accordion_theme_light .icon_plus_circle { background-color: #d18b18; }
#flow.theme_kasousiki .accordion_theme_option .icon_plus_circle:before,
#flow.theme_kasousiki .accordion_theme_option .icon_plus_circle:after { background-color: #d18b18; }
#flow.theme_kasousiki .utiawase .utiawase_item:before { border-color: #bc741a; }
#flow.theme_kasousiki .day .flow_text:before { background-color: #d18b18; }
#flow.theme_kasousiki .option_heading { color: #d18b18; }
#flow.theme_kasousiki .video_heading .plan_name { color: #d18b18; }

#flow.theme_ichinichisoh .heading:after { background-color: #5daa3c; }
#flow.theme_ichinichisoh .day_heading { background-color: #5daa3c; }
#flow.theme_ichinichisoh .day_label { color: #76b959; }
#flow.theme_ichinichisoh .box_list:before { background-color: #b2d7a1; }
#flow.theme_ichinichisoh .box { border-color: #76b959; }
#flow.theme_ichinichisoh .box_heading { color: #2e8b07; border-color: #76b959; }
#flow.theme_ichinichisoh .accordion_theme_option .accordion_header { background-color: #5daa3c; }
#flow.theme_ichinichisoh .accordion_theme_light .icon_plus_circle { background-color: #5daa3c; }
#flow .accordion_theme_option .icon_plus_circle:before, #flow .accordion_theme_option .icon_plus_circle:after { background-color: #5daa3c; }
#flow.theme_ichinichisoh .utiawase .utiawase_item:before { border-color: #498d1e; }
#flow.theme_ichinichisoh .day .flow_text:before { background-color: #5daa3c; }
#flow.theme_ichinichisoh .option_heading { color: #5daa3c; }
#flow.theme_ichinichisoh .video_heading .plan_name { color: #5daa3c; }

#flow.theme_kazokusoh .heading:after { background-color: #75003b; }
#flow.theme_kazokusoh .day_heading { background-color: #75003b; }
#flow.theme_kazokusoh .day_label { color: #953365; }
#flow.theme_kazokusoh .box_list:before { background-color: #bcbfc5; }
#flow.theme_kazokusoh .box { border-color: #953365; }
#flow.theme_kazokusoh .box_heading { color: #60002d; border-color: #953365; }
#flow.theme_kazokusoh .accordion_theme_option .accordion_header { background-color: #75003b; }
#flow.theme_kazokusoh .accordion_theme_light .icon_plus_circle { background-color: #75003b; }
#flow.theme_kazokusoh .accordion_theme_option .icon_plus_circle:before,
#flow.theme_kazokusoh .accordion_theme_option .icon_plus_circle:after { background-color: #75003b; }
#flow.theme_kazokusoh .utiawase .utiawase_item:before { border-color: #60002d; }
#flow.theme_kazokusoh .day .flow_text:before { background-color: #75003b; }
#flow.theme_kazokusoh .option_heading { color: #75003b; }
#flow.theme_kazokusoh .video_heading .plan_name { color: #75003b; }

#flow.theme_osohshiki100 .heading:after { background-color: #163259; }
#flow.theme_osohshiki100 .day_heading { background-color: #163259; }
#flow.theme_osohshiki100 .day_label { color: #2e476a; }
#flow.theme_osohshiki100 .box_list:before { background-color: #bcbfc5; }
#flow.theme_osohshiki100 .box { border-color: #2e476a; }
#flow.theme_osohshiki100 .box_heading { color: #112245; border-color: #2e476a; }
#flow.theme_osohshiki100 .accordion_theme_option .accordion_header { background-color: #163259; }
#flow.theme_osohshiki100 .accordion_theme_light .icon_plus_circle { background-color: #163259; }
#flow.theme_osohshiki100 .accordion_theme_option .icon_plus_circle:before,
#flow.theme_osohshiki100 .accordion_theme_option .icon_plus_circle:after { background-color: #163259; }
#flow.theme_osohshiki100 .utiawase .utiawase_item:before { border-color: #112245; }
#flow.theme_osohshiki100 .day .flow_text:before { background-color: #163259; }
#flow.theme_osohshiki100 .option_heading { color: #163259; }
#flow.theme_osohshiki100 .video_heading .plan_name { color: #163259; }

#flow.theme_owakaresoh .box_list:before { background-color: #c8bcb1; }
#flow.theme_kasousiki .box_list:before { background-color: #d1c4a6; }
#flow.theme_kazokusoh .box_list:before { background-color: #e8d2de; }
#flow.theme_osohshiki100 .box_list:before { background-color: #b4c3d7; }

/* -------------------------------------------------------

  セットプラン

------------------------------------------------------- */

.set_plan {
	margin: 80px 0 45px;
}

.set_plan .set_plan_heading {
	display: inline-block;
	position: relative;
	padding-bottom: 8px;
	vertical-align: bottom;
	line-height: 1;
	font-weight: bold;
	font-size: 23px;
	font-size: 2.4rem;
}

.set_plan .set_plan_heading:before {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: -72px;
	width: 64px;
	height: 71px;
	vertical-align: bottom;
	background-image: url(/dist/images/common/illust_operator.png);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: 100% auto;
	content: '';
}

.set_plan .set_plan_heading .text_accent {
	color: #2496a8;
}
