@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

a {
  color: #333;
  text-decoration: none; }
  a:hover {
    opacity: 0.8; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: '';
  content: none; }

q:before, q:after {
  content: '';
  content: none; }

table {
  /*border-collapse: collapse;*/
  border-spacing: 0; }

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box; }

select::-ms-expand {
  display: none; }

/* Scss Document */
html, body {
  position: relative;
  height: 100%;
  font-size: 14px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  line-height: 1.5;
  margin: 0;
  padding: 0; }

#container {
  position: relative;
  width: 100%;
  height: 100%;
  height: auto;
  min-height: 100%;
  font-size: 100%;
  margin-bottom: -528px;
  padding-bottom: 528px;
  /*	//formなどで使用されるシンプルなheader
  	&.simple{
  		.wrapper{
  			margin-top: 120px;
  		}
  		
  		header{
  			
  			.wrapper{
  				
  				margin-top: 0;
  		
  				.header_logo{
  					position: absolute;
  					top: 30px;
  					left: 0;
  				}
  
  				.address_box{
  					position: absolute;
  					bottom: -90px;
  					right: 0;
  					color: $MAIN_COLOR;
  					font-size: 1rem;
  
  					dl{
  						dt,dd{
  							display: inline-block;
  							line-height: 180%;
  						}
  						dt{
  							width: 100px;
  						}
  					}
  				}
  			}
  		}
  	}*/ }
  #container.simple, #container.popup_container {
    margin-bottom: -62px;
    padding-bottom: 62px; }

.popup_container {
  border-top: 10px solid #005fba;
  min-width: 780px; }
  .popup_container .wrapper {
    padding-top: 20px;
    width: 780px;
    margin: 0 auto; }

/*#container.popup_container {
	min-height: 636px;
	margin-bottom: 0 !important;
	padding-bottom: $SPACE * 5 !important;

	.contents {
		width: 820px;
		margin: 0 auto;
		padding-top: 20px;
	}
}*/
.wrapper {
  width: 1060px;
  margin: 0 auto; }

.main_area {
  position: relative;
  width: 780px;
  height: 100%;
  min-height: 800px;
  margin-left: 270px;
  padding-bottom: 240px; }
  .main_area .top_nav ul {
    width: 100%;
    -moz-background: linear-gradient(to bottom, white, #e1e1e1);
    -webkit-background: linear-gradient(to bottom, white, #e1e1e1);
    background: linear-gradient(to bottom, white, #e1e1e1);
    padding: 0;
    font-size: 0;
    display: table; }
    .main_area .top_nav ul li {
      display: table-cell;
      width: 25%;
      font-size: 1.2rem;
      text-align: center;
      border-right: 1px dotted #005fba;
      vertical-align: middle; }
      .main_area .top_nav ul li:last-child {
        border: none; }
      .main_area .top_nav ul li a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 30px 0;
        color: #005fba; }
  .main_area .btn_guide {
    background: url(../images/icon_clip.png) 0px -10px no-repeat, #eff6ff;
    background-size: auto 135%, 100% 100%;
    font-size: 1.2rem;
    vertical-align: middle;
    text-shadow: 2px 2px 1px #FFF, 2px -2px 1px #FFF, -2px 2px 1px #FFF, -2px -2px 1px #FFF;
    border: 3px solid #fff; }

.contents {
  width: 780px; }

.contents + .contents {
  margin-top: 80px; }

.box {
  position: relative;
  margin-bottom: 30px;
  padding: 0 8px; }
  .box .list_free, .box .list_caution {
    font-size: 1rem; }

header {
  position: relative;
  min-width: 1060px;
  background-color: #005fba;
  color: #fff;
  font-size: 0.7rem;
  border-top: 10px solid #005fba;
  z-index: 10; }
  header .wrapper {
    position: relative; }
    header .wrapper .font_change {
      position: absolute;
      top: 0;
      right: 0;
      background-color: #005fba;
      border-radius: 0 0 5px 5px;
      text-align: center;
      padding: 4px 8px 8px 8px;
      font-size: 12px; }
      header .wrapper .font_change dt {
        width: 70px;
        display: inline-block; }
      header .wrapper .font_change dd {
        width: 40px;
        display: inline-block;
        border: 1px dotted #333;
        padding: 0 2px;
        color: #005fba;
        background-color: #fff;
        line-height: 130%; }

.simple .wrapper {
  margin-top: 120px; }
.simple header .wrapper {
  margin-top: 0; }
  .simple header .wrapper .header_logo {
    position: absolute;
    top: 30px;
    left: 0; }
  .simple header .wrapper .address_box {
    position: absolute;
    bottom: -90px;
    right: 0;
    color: #005fba;
    font-size: 1rem; }
    .simple header .wrapper .address_box dl dt, .simple header .wrapper .address_box dl dd {
      display: inline-block;
      line-height: 180%; }
    .simple header .wrapper .address_box dl dt {
      width: 100px; }

.side_nav {
  position: absolute;
  top: 0;
  left: 50%;
  width: 240px;
  height: 100%;
  margin-left: -530px;
  box-shadow: 2px 0px 10px rgba(0, 0, 0, 0.2);
  text-align: center;
  background-color: #fff;
  vertical-align: top;
  z-index: 0; }
  .side_nav .logo {
    padding: 50px 0 36px 0; }
  .side_nav .logo_box {
    padding-bottom: 36px; }
  .side_nav .area_select {
    background-image: url(../images/area_select_bg.png);
    padding-bottom: 20px; }
    .side_nav .area_select img {
      margin: -10px 0 0 -20px; }
    .side_nav .area_select p {
      color: #fff;
      font-size: 0.9rem;
      margin-top: -20px; }
    .side_nav .area_select select {
      padding: 5px 5px 5px 15px;
      margin-top: 8px;
      position: relative;
      width: 80%;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      -moz-background: linear-gradient(to bottom, white, #e1e1e1);
      -webkit-background: linear-gradient(to bottom, white, #e1e1e1);
      background: linear-gradient(to bottom, white, #e1e1e1);
      border-radius: 5px;
      box-sizing: border-box; }
    .side_nav .area_select label {
      position: relative; }
      .side_nav .area_select label::after {
        display: block;
        content: " ";
        position: absolute;
        top: 50%;
        right: 15px;
        width: 8px;
        height: 15px;
        margin-top: -2px;
        background: url(../images/select_arrow.png) no-repeat;
        background-size: 8px;
        pointer-events: none; }
  .side_nav .area_list {
    width: 100%;
    background-color: #fff;
    padding: 10px 0; }
    .side_nav .area_list li {
      width: 42%;
      display: inline-block;
      margin: 2px; }
      .side_nav .area_list li a {
        width: 100%;
        padding: 16px 24px 16px 8px; }
  .side_nav .menu_list {
    margin-bottom: 40px; }
    .side_nav .menu_list li {
      position: relative;
      font-size: 1.1rem;
      border-bottom: 1px solid #ccc;
      text-align: left; }
      .side_nav .menu_list li a {
        color: #333;
        display: block;
        width: 100%;
        padding: 18px 16px; }
        .side_nav .menu_list li a::after {
          display: inline-block;
          content: '';
          position: absolute;
          top: 50%;
          right: 20px;
          width: 10px;
          height: 10px;
          margin-top: -7px;
          border-top: 2px solid #005fba;
          border-right: 2px solid #005fba;
          transform: rotate(45deg); }
        .side_nav .menu_list li a:hover, .side_nav .menu_list li a.current {
          color: #fff;
          background-color: #005fba; }
          .side_nav .menu_list li a:hover::after, .side_nav .menu_list li a.current::after {
            border-color: #fff; }

@media screen and (max-width: 1074px) {
  .side_nav {
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 0; } }
.main_visual,
.contents_visual {
  background-image: url(../images/main.png);
  width: 100%;
  min-width: 1060px;
  height: 550px;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover; }
  .main_visual .wrapper div,
  .contents_visual .wrapper div {
    text-align: center;
    margin-left: 280px;
    padding-top: 40px; }
    .main_visual .wrapper div .main_copy,
    .contents_visual .wrapper div .main_copy {
      display: block;
      width: 440px;
      margin: 0 auto;
      margin-bottom: 40px; }
    .main_visual .wrapper div .message_box,
    .contents_visual .wrapper div .message_box {
      width: 680px;
      margin: 0 auto;
      background-color: rgba(255, 255, 255, 0.8);
      padding: 20px; }
      .main_visual .wrapper div .message_box li,
      .contents_visual .wrapper div .message_box li {
        position: relative;
        border: 1px solid #CCC; }
        .main_visual .wrapper div .message_box li a,
        .contents_visual .wrapper div .message_box li a {
          display: block;
          padding: 9px 8px 7px 140px;
          text-align: left;
          background-color: #fff; }
          .main_visual .wrapper div .message_box li a span,
          .contents_visual .wrapper div .message_box li a span {
            position: absolute;
            top: 0;
            left: 0;
            display: inline-block;
            padding: 9px 8px 7px;
            color: #fff;
            background-color: #f61258; }
      .main_visual .wrapper div .message_box li + li,
      .contents_visual .wrapper div .message_box li + li {
        margin-top: 8px; }

.contents_visual {
  height: 120px;
  background-position: center; }
  .contents_visual h1, .contents_visual p {
    color: #005fba;
    font-size: 2.5rem;
    /*		span {
    			display: block;
    			margin-top: -$SPACE;
    			font-size: 1.3rem;
    		}*/ }

.breadcrumbs {
  font-size: 0.8rem;
  padding: 8px 0;
  color: #005fba;
  margin-bottom: 24px; }
  .breadcrumbs a:hover {
    text-decoration: underline;
    color: #005fba; }

footer {
  position: relative;
  min-width: 1060px;
  height: 528px;
  background: #e6f7ff;
  z-index: 9; }
  footer #link_area {
    position: relative;
    overflow: hidden;
    width: 1060px;
    margin: 0 auto 40px;
    padding-top: 40px;
    color: #005fba; }
    footer #link_area div {
      float: left;
      padding: 0 24px;
      height: 350px;
      border-right: 1px solid #CCC; }
      footer #link_area div:last-child {
        border-right: none; }
      footer #link_area div p {
        position: relative;
        margin-bottom: 8px;
        font-size: 1.1rem; }
        footer #link_area div p a {
          color: #005fba; }
      footer #link_area div ul {
        margin-bottom: 16px; }
        footer #link_area div ul.separator {
          margin-top: 8px;
          padding-top: 13px;
          border-top: 1px solid #CCC; }
        footer #link_area div ul li {
          margin: 0 0 8px 28px;
          list-style: disc;
          font-size: 0.9rem; }
          footer #link_area div ul li a {
            color: #005fba; }
  footer #nav_area {
    width: 1060px;
    margin: 0 auto 16px;
    font-size: 0.9rem; }
    footer #nav_area ul li {
      display: inline-block;
      padding-right: 8px;
      border-right: 1px solid #CCC; }
      footer #nav_area ul li:last-child {
        border: none; }
      footer #nav_area ul li a {
        color: #005fba; }
  footer small {
    display: block;
    padding: 16px 0;
    color: #FFF;
    text-align: left;
    font-size: 0.7rem;
    background: #005fba; }
  footer.simple {
    height: 62px;
    background: #fff; }
    footer.simple #nav_area {
      position: relative; }
      footer.simple #nav_area ul {
        display: inline-block; }
      footer.simple #nav_area p {
        position: absolute;
        top: 0;
        right: 0; }
    footer.simple .wrapper {
      width: 1060px;
      margin: 0 auto; }
  footer.popup_footer {
    height: 62px;
    min-width: 780px; }
    footer.popup_footer .wrapper {
      width: 780px; }

/*footer#popup_footer {
	min-width: 100%;
	height: auto;
	
	#contact_area {
		width: 100%;
		padding: $SPACE * 3 $SPACE * 3 0;
	}
}
*/
/* オーバーレイのスタイル */
.overLay {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(40, 40, 40, 0.6);
  width: 100%;
  height: 100%;
  z-index: 10;
  display: none; }

/* モーダルウィンドウの中身のスタイル */
.modal {
  width: 526px;
  height: 400px;
  text-align: center;
  background-color: #fff;
  box-sizing: border-box;
  padding: 64px 0 16px 0;
  position: fixed;
  z-index: 11;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none; }
  .modal .area_list {
    margin: 0 auto;
    margin-bottom: 16px; }
    .modal .area_list li {
      width: 30%;
      display: inline-block; }
      .modal .area_list li a {
        width: 100%; }
  .modal.pd_box {
    padding: 32px 16px 16px 16px; }

.color_box, .point > li, .introduction {
  position: relative;
  padding: 16px;
  background: #eee; }
  .color_box .title_lupe, .point > li .title_lupe, .introduction .title_lupe {
    position: relative;
    padding-left: 30px;
    margin-bottom: 16px;
    font-weight: bold; }
    .color_box .title_lupe::before, .point > li .title_lupe::before, .introduction .title_lupe::before {
      position: absolute;
      top: 2px;
      left: 0;
      content: "";
      width: 15px;
      height: 15px;
      background-image: url(../images/icon_lupe.png); }
  .color_box .area_list, .point > li .area_list, .introduction .area_list {
    text-align: center; }
    .color_box .area_list li, .point > li .area_list li, .introduction .area_list li {
      width: 150px;
      display: inline-block; }
      .color_box .area_list li a, .point > li .area_list li a, .introduction .area_list li a {
        display: block;
        color: #fff;
        width: 100%; }

.child .color_box, .child .point > li, .child .introduction {
  border: 2px solid #fac5cf;
  background: #fef4f6; }

.total .color_box, .total .point > li, .total .introduction {
  border: 2px solid #a8d9ed;
  background: #f0f8fc; }

*
.senior .color_box, *
.senior .point > li, *
.senior .introduction {
  border: 2px solid #e6cce6;
  background: #f7eef7; }

.fire .color_box, .fire .point > li, .fire .introduction {
  border: 2px solid #ffc97c;
  background: #fff7ec; }

.injury .color_box, .injury .point > li, .injury .introduction {
  border: 2px solid #e1af33;
  background: #fbf5e4; }

.border_box {
  border: 1px solid #ccc;
  padding: 16px; }

.inline_box {
  display: inline-block;
  vertical-align: top; }

input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"] {
  min-height: 2rem;
  line-height: 2rem;
  font-size: 1rem; }

input[type="submit"]:hover,
input[type="image"]:hover {
  opacity: 0.8; }

select {
  padding: 5px 25px 5px 15px;
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -moz-background: linear-gradient(to bottom, white, #e1e1e1);
  -webkit-background: linear-gradient(to bottom, white, #e1e1e1);
  background: linear-gradient(to bottom, white, #e1e1e1);
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box; }

.select_label {
  position: relative; }
  .select_label::after {
    display: block;
    content: " ";
    position: absolute;
    top: 30%;
    right: 10px;
    width: 8px;
    height: 15px;
    margin-top: -2px;
    background: url(../images/select_arrow.png) no-repeat;
    background-size: 8px;
    pointer-events: none; }
  .select_label.long select {
    width: 200px; }
  .select_label.short select {
    width: 80px; }

.title {
  margin-bottom: 32px;
  padding-bottom: 8px;
  font-size: 1.8rem;
  color: #005fba;
  border-bottom: 2px solid #005fba;
  text-align: center; }
  .title list
  span {
    font-size: 1.4rem;
    padding-left: 8px; }

.subtitle {
  position: relative;
  margin-bottom: 16px;
  color: #005fba;
  background-color: #d8f5fe;
  padding: 8px;
  padding-left: 40px;
  font-size: 1.3rem;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px; }
  .subtitle::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 16px;
    width: 13px;
    height: 13px;
    margin-top: -6px;
    border-radius: 10px;
    background: #FFF; }

.title + .subtitle {
  margin-top: 40px; }

.child .subtitle {
  color: #f37f96;
  background: #fdeaee; }

.total .subtitle {
  color: #53b5dc;
  background: white; }

.senior .subtitle {
  color: #c587c4;
  background: #f4e7f3; }

.heading {
  margin-bottom: 16px;
  padding-left: 15px;
  font-size: 1.2rem;
  border-left: 5px solid #005fba; }

.subheading {
  margin-bottom: 8px;
  font-weight: bold; }

.catch {
  margin-bottom: 32px;
  color: #555;
  font-size: 1.4rem;
  text-align: center; }
  .catch span.big_font {
    color: #005fba; }

.subcatch {
  margin-bottom: 16px;
  color: #555;
  font-size: 1.2rem;
  text-align: center; }

.column2 .column {
  float: left;
  width: calc((100% - 16px) / 2);
  margin-bottom: 16px; }
  .column2 .column:nth-child(odd) {
    margin-right: 16px; }

.column3 .column {
  float: left;
  width: calc((100% - 32px) / 3);
  margin-bottom: 8px; }
  .column3 .column:nth-child(3n-1), .column3 .column:nth-child(3n-2) {
    margin-right: 16px; }

.column4 .column {
  float: left;
  width: calc((100% - 48px) / 4);
  margin-bottom: 12px; }
  .column4 .column:nth-child(4n-1), .column4 .column:nth-child(4n-2), .column4 .column:nth-child(4n-3) {
    margin-right: 16px; }

.column5 .column {
  float: left;
  width: calc((100% - 64px) / 5);
  margin-bottom: 12px;
  padding: 27px 16px; }
  .column5 .column:nth-child(5n-1), .column5 .column:nth-child(5n-2), .column5 .column:nth-child(5n-3), .column5 .column:nth-child(5n-4) {
    margin-right: 16px; }
  .column5 .column.line3 {
    padding: 16px; }

.column {
  position: relative; }
  .column .outer_box {
    height: 100px;
    padding: 0 24px 0 100px; }
    .column .outer_box img {
      position: absolute;
      top: 16px;
      left: 24px;
      width: 60px; }
    .column .outer_box p {
      position: relative;
      top: 50%;
      -moz-transform: translateX(0) translateY(-50%);
      -webkit-transform: translateX(0) translateY(-50%);
      transform: translateX(0) translateY(-50%); }

.tabs .tab {
  display: inline-block;
  width: 200px; }
.tabs .no_disp {
  display: none; }

.tabs_security {
  position: relative;
  top: -32px;
  text-align: center; }
  .tabs_security .tab {
    margin: 0 8px;
    color: #005fba;
    font-size: 1.1rem;
    border: 2px solid #005fba;
    border-top: none;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background: #e6f7ff; }
    .tabs_security .tab a {
      display: block;
      padding: 8px;
      cursor: pointer; }
  .tabs_security .active {
    background: #005fba; }
    .tabs_security .active a {
      color: #FFF;
      cursor: default; }
      .tabs_security .active a:hover {
        opacity: 1; }

.fire .tabs_security .tab {
  border: 2px solid #ffaa2f;
  border-top: none; }
  .fire .tabs_security .tab a {
    color: #ffaa2f; }
.fire .tabs_security .active {
  background: #ffaa2f; }
  .fire .tabs_security .active a {
    color: #FFF; }

.data_box {
  padding: 16px 8px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px; }
  .data_box .btn {
    width: 118px;
    padding: 12px 20px 10px 6px; }

.knowledge .tab {
  margin-right: 8px;
  padding: 8px 16px;
  color: #FFF;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  /*background: $LIFE_COLOR;*/ }
.knowledge #js_tab1 {
  background: #acd598; }
.knowledge #js_tab2 {
  background: #b488e6; }
.knowledge #js_tab3 {
  background: #7fafdc; }
.knowledge #data_box1 .data_box {
  border-top: 2px solid #acd598;
  background: #faffed; }
.knowledge #data_box2 .data_box {
  border-top: 2px solid #b488e6;
  background: #f0effd; }
.knowledge #data_box3 .data_box {
  border-top: 2px solid #7fafdc;
  background: #eef5ff; }
.knowledge .active {
  position: relative;
  top: -8px;
  margin-bottom: -8px;
  padding: 16px 16px 16px 16px; }

.icon {
  display: inline-block;
  margin-right: 5px;
  padding: 2px 8px;
  color: #FFF;
  line-height: 1;
  border-radius: 3px;
  background: #fe8515; }

.icon_plus {
  position: relative;
  width: 70px;
  height: 70px;
  border-radius: 100px; }
  .icon_plus img {
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%); }

.icon_set, .icon_question, .icon_window, .icon_point, .icon_pdf, .icon_notice, .icon_check, .icon_sitemap {
  display: inline-block;
  padding-left: 20px; }

.icon_question {
  background: url(../images/icon_question.png) left 2px no-repeat;
  background-size: 15px auto; }

.icon_window {
  background: url(../images/icon_window.png) left 4px no-repeat;
  background-size: 15px auto; }

.icon_point {
  padding-left: 35px;
  color: #3da6d0;
  background: url(../images/icon_point.png) left 4px no-repeat;
  background-size: 25px auto; }

.icon_pdf {
  background: url(../images/icon_pdf.png) left 2px no-repeat;
  background-size: 15px auto; }

.icon_notice {
  padding-left: 30px;
  font-size: 1.1rem;
  background: url(../images/icon_notice.png) left 0 no-repeat;
  background-size: 20px auto; }

.icon_check {
  background: url(../images/icon_check.png) left 2px no-repeat;
  background-size: 20px auto; }

.icon_sitemap {
  padding-left: 28px;
  background: url(../images/icon_sitemap.png) left 2px no-repeat;
  background-size: 20px auto;
  font-size: 1.2rem; }

.icon_internet {
  position: absolute;
  top: 12px;
  right: 40px;
  display: inline-block;
  padding: 3px 8px;
  color: #FFF;
  font-size: 0.8rem;
  background: #fe8515;
  border-radius: 10px; }

.icon_no1 {
  position: relative;
  display: inline-block;
  margin: -10px 0 0 3px;
  padding: 0 3px;
  color: #fff581;
  font-size: 1.4rem; }
  .icon_no1:after {
    content: '';
    position: absolute;
    top: -15px;
    right: -50px;
    width: 50px;
    height: 50px;
    background: url(../images/icon_no1.png) left center no-repeat;
    background-size: 100% auto;
    transform: rotate(20deg); }

table.table {
  width: 100%;
  margin-bottom: 8px;
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  table-layout: fixed; }
  table.table th, table.table td {
    padding: 16px;
    vertical-align: middle;
    border-top: 1px solid #999;
    border-left: 1px solid #999; }
  table.table th {
    vertical-align: middle;
    background: #e7f5fa; }
  table.table td {
    background: #FFF; }
  table.table table {
    display: inline-block; }
    table.table table th, table.table table td {
      text-align: left;
      border: none;
      background-color: #fff;
      padding: 0 8px 0 0;
      color: #333; }

table.security th, table.security td {
  padding: 12px; }
table.security thead th {
  background: #a8d9ed; }
table.security tbody th {
  background: #d2ecf6; }

table.data {
  font-size: 0.9rem; }
  table.data th {
    padding: 8px; }
    table.data th span {
      background-color: #A8A8A8;
      color: #fff;
      padding: 8px 16px; }
  table.data td {
    padding-left: 8px; }

.price_cell td {
  text-align: right; }

.list_free, .list_caution {
  margin-bottom: 16px;
  margin: 0 auto;
  font-size: 0.9rem; }
  .list_free li, .list_caution li {
    position: relative;
    margin-top: 8px;
    padding-left: 24px; }
    .list_free li span, .list_caution li span {
      position: absolute;
      top: 0;
      left: 0; }
    .list_free li ul, .list_caution li ul {
      margin-bottom: 0; }
      .list_free li ul li, .list_caution li ul li {
        margin-top: 4px; }
  .list_free.border > li, .border.list_caution > li {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #CCC; }
  .list_free.wide > li, .wide.list_caution > li {
    padding-left: 30px; }
  .list_free.add_arrow > li, .add_arrow.list_caution > li {
    margin-bottom: 40px; }
    .list_free.add_arrow > li::after, .add_arrow.list_caution > li::after {
      content: '';
      display: block;
      position: absolute;
      left: 50%;
      bottom: -20px;
      width: 20px;
      height: 20px;
      margin-left: -10px;
      background: url(../images/icon_arrow.png) no-repeat center;
      background-size: 100% auto; }
    .list_free.add_arrow > li:last-child::after, .add_arrow.list_caution > li:last-child::after {
      display: none; }

.list_caution li {
  color: #888;
  font-size: 1rem; }

/*.list_area{
	text-align: center;
	
	li{
		width: 150px;
		display: inline-block;
		
		a{
			display: block;
			color: #fff;
			width: 100%;
		}
	}
}*/
.list_thumbnail li {
  position: relative;
  margin-bottom: 8px;
  height: 100%; }
  .list_thumbnail li a {
    display: block;
    padding-left: 120px;
    color: #333;
    height: 120px; }
  .list_thumbnail li p {
    padding-left: 0; }
  .list_thumbnail li img {
    position: absolute;
    top: 50%;
    left: 30px;
    margin-top: -30px; }

.list_contents {
  margin-bottom: 64px;
  padding: 16px 20px;
  background: #eee; }
  .list_contents li {
    display: inline-block;
    margin-bottom: 5.3333333333px;
    text-align: left; }
    .list_contents li a {
      display: block;
      width: 230px;
      padding: 10px 16px 8px;
      font-size: 0.9rem;
      line-height: 100%;
      border-radius: 20px;
      background: #FFF;
      color: #53b5dc; }
  .list_contents.long li {
    width: 330px; }

.list_sitemap {
  display: inline-block;
  box-sizing: border-box;
  margin: 16px 8px;
  vertical-align: top; }
  .list_sitemap li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px; }
    .list_sitemap li a {
      color: #666; }
    .list_sitemap li::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      margin-top: -5px;
      border-left: 6px solid #53b5dc;
      border-top: 3px solid transparent;
      border-bottom: 3px solid transparent; }

.list_arrow {
  width: 100%;
  height: 60px; }
  .list_arrow li {
    width: 165px;
    height: 60px;
    display: inline-block;
    position: relative;
    clip: rect(0px 500px 60px 0px);
    background-color: #fff;
    border: 2px solid #53b5dc;
    border-right: 2px solid #53b5dc;
    margin-left: -6px;
    padding: 5px 0 0 20px;
    text-align: center;
    color: #53b5dc; }
    .list_arrow li::after {
      content: '';
      border-top: 29px solid transparent;
      border-bottom: 29px solid transparent;
      border-left: 29px solid #fff;
      position: absolute;
      top: -1px;
      left: 161px;
      z-index: 3; }
    .list_arrow li::before {
      content: '';
      border-top: 30px solid transparent;
      border-bottom: 30px solid transparent;
      border-left: 30px solid #53b5dc;
      position: absolute;
      top: -2px;
      left: 163px;
      z-index: 2; }
  .list_arrow .active {
    width: 165px;
    height: 60px;
    background-color: #53b5dc;
    color: #fff; }
    .list_arrow .active span {
      display: inline-block;
      width: 80px;
      background-color: #fff;
      color: #ffaa2f;
      line-height: 1.2rem;
      border-radius: 10px; }
    .list_arrow .active::after {
      border-top: 29px solid transparent;
      border-bottom: 29px solid transparent;
      border-left: 29px solid #53b5dc; }
    .list_arrow .active::before {
      border-top: 30px solid transparent;
      border-bottom: 30px solid transparent;
      border-left: 30px solid #fff; }
    .list_arrow .active:last-child::after, .list_arrow .active:last-child::before {
      left: 163px; }

.list_error,
.error_message {
  color: #f00;
  margin-bottom: 24px; }
  .list_error li,
  .error_message li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 30px; }
    .list_error li::before,
    .error_message li::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background: url(../images/icon_point.png);
      background-size: 20px;
      width: 20px;
      height: 20px; }

.information {
  margin-bottom: 8px;
  border-top: 1px solid #CCC; }
  .information li {
    position: relative;
    border-bottom: 1px solid #CCC; }
    .information li a {
      display: block;
      padding: 13px 10px 10px 130px; }
      .information li a .date {
        position: absolute;
        top: 15px;
        left: 8px;
        font-size: 0.9rem; }
      .information li a .status {
        /*position: absolute;
        top: 11px;
        left: 140px;*/
        display: inline-block;
        width: 50px;
        margin-right: 8px;
        padding: 1px 3px;
        color: #FFF;
        font-size: 0.9rem;
        text-align: center;
        border-radius: 15px; }
      .information li a .important {
        background: #F00; }
      .information li a .new {
        margin: 0 0 0 8px;
        background: #005fba; }
  .information + p {
    text-align: right; }

.column2 .list_sitemap {
  width: 160px; }

.box_caution {
  margin-bottom: 24px;
  padding: 16px 32px;
  background: #ffeaf3; }

.box_guidance {
  position: relative;
  overflow: hidden; }
  .box_guidance p {
    display: inline-block;
    position: relative;
    top: 15px; }
  .box_guidance .btn {
    float: left;
    min-width: 350px;
    margin-right: 16px;
    padding-top: 8px;
    padding-bottom: 8px;
    text-align: center;
    position: relative; }
    .box_guidance .btn:after {
      display: inline-block;
      content: '';
      position: absolute;
      top: 50%;
      right: 10px;
      width: 10px;
      height: 10px;
      margin-top: -7px;
      border-top: 2px solid #005fba;
      border-right: 2px solid #005fba;
      transform: rotate(45deg); }
  .box_guidance .btn_box {
    float: right;
    padding: 0;
    text-align: right; }
    .box_guidance .btn_box .btn {
      float: none;
      text-align: center; }

.liquid_box {
  width: 100%;
  margin: 160px 0 24px;
  padding: 24px 0;
  text-align: center;
  background: #eee; }
  .liquid_box .title span {
    background: #eee; }
  .liquid_box .btn_back {
    position: relative;
    left: 15px;
    margin: 0;
    padding: 0;
    color: #005fba;
    font-size: 1.2rem;
    text-align: center;
    border: 0;
    background: none;
    box-shadow: none; }
    .liquid_box .btn_back:after {
      left: -30px; }

.pdf_box {
  position: relative;
  overflow: hidden;
  padding: 16px;
  font-size: 0.9rem;
  background: #eee; }
  .pdf_box img {
    float: left;
    margin-right: 16px; }

.sim_box {
  position: relative;
  padding: 24px 32px;
  font-size: 1rem;
  border: 2px solid #d2ecf6;
  background: #fdfefe; }
  .sim_box em {
    margin-bottom: 8px;
    color: #333;
    font-size: 1.6rem; }
  .sim_box .btn_clear {
    position: absolute;
    right: 24px;
    -moz-transform: translateX(0) translateY(-50%);
    -webkit-transform: translateX(0) translateY(-50%);
    transform: translateX(0) translateY(-50%); }
    .sim_box .btn_clear span {
      display: inline-block;
      margin-left: 16px;
      font-size: 1.5rem; }

.btn {
  display: inline-block;
  margin-bottom: 8px;
  padding: 13px 40px 11px 16px;
  font-size: 1rem;
  border-radius: 7px;
  border: 2px solid #FFF;
  box-shadow: 3px 3px 0 #e2e1e0; }

.btn_clear {
  color: #005fba;
  background: #FFF;
  border: 3px solid #e2e1e0;
  box-shadow: 2px 2px 0 #e2e1e0;
  position: relative; }
  .btn_clear:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #005fba;
    border-right: 2px solid #005fba;
    transform: rotate(45deg); }
  .btn_clear.wide {
    display: block;
    width: 70%;
    margin: 0 auto;
    font-size: 1.4rem;
    text-align: center; }
    .btn_clear.wide a {
      display: block;
      color: #005fba; }

.btn_back {
  padding: 13px 16px 11px 40px;
  color: #005fba;
  background: #FFF;
  border: 3px solid #e2e1e0;
  box-shadow: 2px 2px 0 #e2e1e0;
  position: relative; }
  .btn_back:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #005fba;
    border-right: 2px solid #005fba;
    transform: rotate(225deg); }
  .btn_back:after {
    left: 16px; }

.btn_submit,
.btn_return {
  border: 2px solid #FFF;
  color: #FFF;
  width: 250px;
  height: 50px;
  font-size: 1rem;
  background: -moz-linear-gradient(top, #0099CC 0%, #006699);
  background: -webkit-gradient(linear, left top, left bottom, from(#0099CC), to(#006699));
  background: linear-gradient(to bottom, #0099CC, #006699);
  /* IE10+, W3C */
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px; }

.btn_return {
  padding-left: 50px;
  background: -moz-linear-gradient(top, #00CC8A 0%, #009966);
  background: -webkit-gradient(linear, left top, left bottom, from(#00CC8A), to(#009966));
  background: linear-gradient(to bottom, #00CC8A, #009966);
  /* IE10+, W3C */
  border-top-left-radius: 30px;
  border-top-right-radius: 5px;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 5px; }

.btn_blue {
  color: #fff;
  background-color: #53b5dc;
  position: relative; }
  .btn_blue:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg); }

.btn_top {
  position: absolute !important;
  bottom: 16px;
  right: 0;
  color: #fff;
  background-color: #19aeec;
  padding: 0;
  border-radius: 40px; }
  .btn_top a {
    display: block;
    color: #fff;
    padding: 10px 20px 10px 50px;
    background: url(../images/icon_top.png) no-repeat 20px center;
    background-size: 20px auto, 100% 100%; }

.knowledge_class {
  padding-top: 80px;
  text-align: center; }
  .knowledge_class .column a {
    display: block;
    position: relative;
    height: 200px;
    margin-bottom: 80px;
    padding: 80px 24px 16px;
    font-size: 0.9rem;
    text-align: left;
    border-radius: 8px;
    box-shadow: 3px 3px 0 #e2e1e0;
    background: #fcfdfd; }
    .knowledge_class .column a p {
      margin-bottom: 16px;
      color: #53b5dc;
      font-size: 1.1rem;
      text-align: center; }
    .knowledge_class .column a img {
      position: absolute;
      top: -62px;
      left: 50%;
      margin-left: -62px; }

.circle {
  position: relative;
  width: 100%;
  height: 780px;
  background: url(../images/circle_bg.png) no-repeat center 107.5px;
  background-size: 406px 406px; }
  .circle .circle1 {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -107.5px; }
  .circle .circle2 {
    position: absolute;
    top: 135px;
    left: 50%;
    margin-left: 90px; }
  .circle .circle3 {
    position: absolute;
    top: 370px;
    left: 50%;
    margin-left: 20px; }
  .circle .circle4 {
    position: absolute;
    top: 370px;
    left: 50%;
    margin-left: -235px; }
  .circle .circle5 {
    position: absolute;
    top: 135px;
    left: 50%;
    margin-left: -305px; }

.circle_view {
  margin-bottom: -240px;
  background: url(../images/circle_vew.png) no-repeat bottom;
  background-size: 100% auto; }
  .circle_view .title {
    margin-left: auto;
    margin-right: auto; }

.service_flow .customer,
.service_flow .kyosai {
  position: relative;
  margin-bottom: 24px; }
.service_flow .icon_name {
  width: 86px;
  height: 86px;
  margin-top: -43px;
  padding-top: 12px;
  color: #FFF;
  font-size: 1.1rem;
  text-align: center;
  background: #53b5dc;
  border-radius: 43px; }
.service_flow .color_box, .service_flow .point > li, .service_flow .introduction {
  position: relative;
  padding: 16px; }
  .service_flow .color_box:after, .service_flow .point > li:after, .service_flow .introduction:after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border-top: 2px solid #a8d9ed;
    border-left: 2px solid #a8d9ed;
    background: #f0f8fc; }
  .service_flow .color_box h2, .service_flow .point > li h2, .service_flow .introduction h2 {
    margin-bottom: 16px;
    font-size: 1.3rem;
    padding-bottom: 8px;
    border-bottom: 2px solid #53b5dc; }
    .service_flow .color_box h2 span, .service_flow .point > li h2 span, .service_flow .introduction h2 span {
      display: inline-block;
      color: #53b5dc;
      margin-right: 16px; }
.service_flow .btn_clear {
  position: absolute;
  right: 24px;
  bottom: 8px; }
.service_flow .customer {
  padding-left: 120px; }
  .service_flow .customer .color_box, .service_flow .customer .point > li, .service_flow .customer .introduction {
    margin-right: 20px; }
    .service_flow .customer .color_box:after, .service_flow .customer .point > li:after, .service_flow .customer .introduction:after {
      position: absolute;
      top: 50%;
      left: -12px;
      transform: rotate(-45deg); }
  .service_flow .customer .icon_name {
    position: absolute;
    top: 50%;
    left: 0; }
.service_flow .kyosai {
  padding-right: 120px; }
  .service_flow .kyosai .color_box, .service_flow .kyosai .point > li, .service_flow .kyosai .introduction {
    margin-left: 20px;
    border-color: #CCC;
    background: #eee; }
    .service_flow .kyosai .color_box:after, .service_flow .kyosai .point > li:after, .service_flow .kyosai .introduction:after {
      position: absolute;
      top: 50%;
      right: -12px;
      border-color: #CCC;
      background: #eee;
      transform: rotate(135deg); }
    .service_flow .kyosai .color_box h2, .service_flow .kyosai .point > li h2, .service_flow .kyosai .introduction h2 {
      border-color: #005fba; }
      .service_flow .kyosai .color_box h2 span, .service_flow .kyosai .point > li h2 span, .service_flow .kyosai .introduction h2 span {
        color: #005fba; }
  .service_flow .kyosai .icon_name {
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 0.9rem;
    background: #005fba; }
.service_flow.total .icon_name {
  background: #53b5dc; }
.service_flow.total .customer .color_box:after, .service_flow.total .customer .point > li:after, .service_flow.total .customer .introduction:after {
  border-top: 2px solid #a8d9ed;
  border-left: 2px solid #a8d9ed;
  background: #f0f8fc; }
.service_flow.total .customer .color_box h2, .service_flow.total .customer .point > li h2, .service_flow.total .customer .introduction h2 {
  border-bottom: 2px solid #53b5dc; }
  .service_flow.total .customer .color_box h2 span, .service_flow.total .customer .point > li h2 span, .service_flow.total .customer .introduction h2 span {
    color: #53b5dc; }
.service_flow.fire .icon_name {
  background: #ffaa2f; }
.service_flow.fire .customer .color_box:after, .service_flow.fire .customer .point > li:after, .service_flow.fire .customer .introduction:after {
  border-top: 2px solid #ffc97c;
  border-left: 2px solid #ffc97c;
  background: #fff7ec; }
.service_flow.fire .customer .color_box h2, .service_flow.fire .customer .point > li h2, .service_flow.fire .customer .introduction h2 {
  border-bottom: 2px solid #ffaa2f; }
  .service_flow.fire .customer .color_box h2 span, .service_flow.fire .customer .point > li h2 span, .service_flow.fire .customer .introduction h2 span {
    color: #ffaa2f; }
.service_flow.injury .icon_name {
  background: #daa520; }
.service_flow.injury .customer .color_box:after, .service_flow.injury .customer .point > li:after, .service_flow.injury .customer .introduction:after {
  border-top: 2px solid #e8c15f;
  border-left: 2px solid #e8c15f;
  background: #faf3e0; }
.service_flow.injury .customer .color_box h2, .service_flow.injury .customer .point > li h2, .service_flow.injury .customer .introduction h2 {
  border-bottom: 2px solid #daa520; }
  .service_flow.injury .customer .color_box h2 span, .service_flow.injury .customer .point > li h2 span, .service_flow.injury .customer .introduction h2 span {
    color: #daa520; }

.service_guide .column2 {
  padding: 40px 56px;
  font-size: 1.2rem; }
  .service_guide .column2 a {
    width: 430px;
    padding-top: 16px;
    padding-bottom: 16px;
    text-align: center; }

.service_guide .column2 {
  padding: 40px 56px;
  font-size: 1.2rem; }
  .service_guide .column2 a {
    width: 430px;
    padding-top: 16px;
    padding-bottom: 16px;
    text-align: center; }

.check .heading {
  font-size: 1rem;
  font-weight: bold; }
.check .check_point {
  font-size: 1.1rem;
  padding-left: 30px;
  color: #f00; }

.japan_map {
  position: relative;
  width: 100%;
  height: 500px;
  background: url(../images/map_japan.png) no-repeat center; }
  .japan_map ul {
    position: absolute; }
    .japan_map ul li {
      width: 85px;
      margin-bottom: 5px; }
      .japan_map ul li a {
        display: block;
        padding: 4px 8px;
        color: #005fba;
        background: #FFF;
        border-radius: 5px;
        border: 2px solid #005fba;
        position: relative; }
        .japan_map ul li a:after {
          display: inline-block;
          content: '';
          position: absolute;
          top: 50%;
          right: 10px;
          width: 7px;
          height: 7px;
          margin-top: -5.5px;
          border-top: 2px solid #005fba;
          border-right: 2px solid #005fba;
          transform: rotate(45deg); }
    .japan_map ul.hokkaido {
      top: 50px;
      left: 480px; }
    .japan_map ul.touhoku {
      top: 250px;
      left: 520px;
      width: 200px; }
      .japan_map ul.touhoku li {
        display: inline-block; }
    .japan_map ul.kantou {
      top: 403px;
      left: 430px;
      width: 200px; }
      .japan_map ul.kantou li {
        display: inline-block; }
    .japan_map ul.tyuubu {
      top: 50px;
      left: 270px;
      width: 200px; }
      .japan_map ul.tyuubu li {
        display: inline-block; }
    .japan_map ul.kinki {
      top: 403px;
      left: 240px;
      width: 200px; }
      .japan_map ul.kinki li {
        display: inline-block; }
    .japan_map ul.tyuugoku {
      top: 212px;
      left: 142px;
      width: 200px; }
      .japan_map ul.tyuugoku li {
        display: inline-block; }
    .japan_map ul.shikoku {
      top: 441px;
      left: 142px; }
    .japan_map ul.kyuusyuu {
      top: 250px;
      left: 40px; }

.form {
  margin-bottom: 50px; }
  .form .title {
    text-align: left; }
  .form input {
    margin-right: 8px; }
  .form table {
    text-align: left;
    margin-bottom: 16px;
    table-layout: fixed; }
    .form table th {
      position: relative; }
      .form table th .required {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -15px; }
    .form table td {
      width: 700px; }
      .form table td p {
        display: inline-block; }
    .form table.price_table td {
      text-align: right; }
    .form table.price_total td {
      width: 743px !important; }
  .form .seimei {
    display: inline-block; }
    .form .seimei::after {
      display: none; }
  .form .btn_product {
    display: block;
    color: #fff;
    padding: 16px;
    margin-bottom: 0;
    width: 220px;
    text-align: left;
    box-shadow: none; }

.sub_text {
  font-size: 1rem;
  padding-left: 20px; }
  .sub_text .required {
    margin-right: 5px; }

.box + .subtitle {
  margin-top: 64px; }

.btn_product {
  position: relative;
  margin-bottom: 12px;
  font-size: 1.1rem;
  text-align: center;
  background: #FFF;
  border-radius: 7px;
  border: 3px solid #FFF;
  box-shadow: 3px 3px 0 #e2e1e0;
  	/*table {
  		position: absolute;
  		top: calc(50% + 50px);
  		left: 50%;
  		@include PropertySetPrefix(transform, translateX(-50%) translateY(-50%));
  		width: 100%;
  		padding: $SPACE * 2;
  		font-size: 1.1rem;
  
  		td {
  			padding-bottom: $SPACE * 1.5;
  			text-align: center;
  			line-height: 100%;
  			vertical-align: middle;
  
  			&.product_color {
  				padding-right: 1rem;
  			}
  
  			.small_font {
  				margin-bottom: 3px;
  			}
  		}
  	}*/ }
  .btn_product a {
    display: block;
    padding-bottom: 16px;
    font-size: 0.9rem; }
  .btn_product .name {
    margin-bottom: 16px;
    padding: 8px;
    color: #FFF;
    font-size: 1.4rem;
    text-align: center;
    vertical-align: middle;
    border-radius: 7px 7px 0 0;
    position: relative; }
    .btn_product .name:after {
      display: inline-block;
      content: '';
      position: absolute;
      top: 50%;
      right: 10px;
      width: 10px;
      height: 10px;
      margin-top: -7px;
      border-top: 2px solid #FFF;
      border-right: 2px solid #FFF;
      transform: rotate(45deg); }

.product_list {
  /*.feature {
  	position: relative;
  	margin-top: $SPACE * 3;
  	padding: $SPACE * 2;
  	
  	.subcatch, a {
  		position: relative;
  		z-index: 5;
  	}
  	
  	.subcatch {
  		padding-top: $SPACE * 2;
  	}
  }*/ }
  .product_list .product_head {
    padding: 8px;
    color: #FFF;
    font-size: 1.2rem;
    text-align: center; }
  .product_list .product_body {
    text-align: center;
    height: 350px; }
    .product_list .product_body ul {
      padding: 8px; }
    .product_list .product_body .data {
      margin-bottom: 12px;
      padding: 12px;
      background: #FFF;
      border: 2px solid #fdfefe; }

.child .product_head {
  background: url(../images/mutual/icon_life_tr.png) no-repeat 2px -20px, #f37f96;
  background-size: auto 140px, 100% 100%; }
.child .product_body {
  border: 1px solid #f37f96;
  background: #fef4f6; }
  .child .product_body .data {
    border: 2px solid #fac5cf; }
.child .name {
  background: #f37f96; }

.total .product_head {
  background: url(../images/mutual/icon_life_tr.png) no-repeat 2px -20px, #53b5dc;
  background-size: auto 140px, 100% 100%; }
.total .product_body {
  border: 1px solid #53b5dc;
  background: #e7f5fa; }
  .total .product_body .data {
    border: 2px solid #fdfefe; }
.total .name {
  background: #53b5dc; }
.total .icon_plus {
  background: white; }
.total .feature,
.total .feature .icon_plus {
  background: white; }

.senior .product_head {
  background: url(../images/mutual/icon_life_tr.png) no-repeat 2px -20px, #c587c4;
  background-size: auto 140px, 100% 100%; }
.senior .product_body {
  border: 1px solid #c587c4;
  background: #f7eef7; }
  .senior .product_body .data {
    border: 2px solid #e6cce6; }
.senior .name {
  background: #c587c4; }
.senior .icon_plus {
  background: #f7eef7; }
.senior .feature,
.senior .feature .icon_plus {
  background: #efddee; }

.fire .product_head {
  background: url(../images/mutual/icon_fire_tr.png) no-repeat 2px -5px, #ffaa2f;
  background-size: auto 120px, 100% 100%;
  padding: 16px; }
.fire .product_body {
  border: 1px solid #ffaa2f;
  background: #ffe9c8;
  height: 130px; }
  .fire .product_body .data {
    border: 2px solid #ffd495; }
.fire .name {
  background: #ffaa2f; }
.fire .icon_plus {
  background: #fffdfb; }
  .fire .icon_plus.border {
    border-top: 2px solid #ffd495;
    border-left: 2px solid #ffd495;
    border-right: 2px solid #fffdfb;
    border-bottom: 2px solid #fffdfb;
    -moz-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    transform: translateX(-50%) translateY(-50%) rotate(45deg); }
.fire .title {
  color: #ffaa2f;
  border-color: #ffaa2f; }
.fire .subtitle {
  color: #ffaa2f;
  background: #fff7ec; }

.accident .name {
  background: #f25900; }

.injury .product_head {
  background: url(../images/icon_life_tr.png) no-repeat 2px -20px, #daa520;
  background-size: auto 140px, 100% 100%; }
.injury .product_body {
  border: 1px solid #daa520;
  background: #faf3e0;
  height: 130px; }
  .injury .product_body .data {
    border: 2px solid #f8ecce; }
.injury .name {
  background: #daa520; }
.injury .icon_plus {
  background: #fefdfb; }
.injury .title {
  color: #daa520;
  border-color: #daa520; }
.injury .subtitle {
  color: #daa520;
  background: #faf1dc; }

.product_data {
  width: 650px;
  margin: 0 auto 24px;
  padding: 12px 24px;
  font-size: 1.1rem; }
  .product_data table {
    margin: 0 auto;
    font-size: 1.1rem;
    border-collapse: separate;
    border-spacing: 8px; }
    .product_data table th {
      width: 110px;
      color: #FFF;
      vertical-align: middle; }
      .product_data table th span {
        display: block;
        padding: 4px 16px;
        border-radius: 20px; }
  .product_data dl {
    text-align: center;
    font-size: 1rem; }
    .product_data dl dt {
      display: inline-block;
      position: relative;
      width: 190px;
      background-color: #fff;
      border-radius: 50px;
      padding: 3px 6px;
      border: 2px solid #ccc; }
      .product_data dl dt::before, .product_data dl dt::after {
        content: '';
        position: absolute;
        left: 50%; }
      .product_data dl dt::before {
        border-top: 12px solid #ccc;
        border-right: 9px solid transparent;
        border-left: 9px solid transparent;
        margin-left: -9px;
        bottom: -12px; }
      .product_data dl dt::after {
        border-top: 11px solid #fff;
        border-right: 7px solid transparent;
        border-left: 7px solid transparent;
        margin-left: -7px;
        bottom: -10px;
        z-index: 10; }
    .product_data dl dd {
      display: inline-block;
      width: 180px;
      padding-top: 16px; }
      .product_data dl dd .red {
        padding: 0 8px; }
  .product_data.wide {
    width: 700px; }

.child .product_data th span {
  background: #f37f96; }

.total .product_data th span {
  background: #53b5dc; }

.senior .product_data th span {
  background: #c587c4; }

.fire .product_data th span {
  background: #ffaa2f; }

.injury .product_data th span {
  background: #daa520; }

.point > li {
  width: 100%;
  height: 170px;
  margin-bottom: 16px;
  padding: 24px 24px 24px 80px;
  font-size: 1.1rem;
  text-align: left; }
  .point > li:nth-child(5) {
    margin-bottom: 24px; }
  .point > li p {
    margin-bottom: 16px;
    font-size: 1.3rem; }
    .point > li p .num {
      display: inline-block;
      position: absolute;
      top: 20px;
      left: 20px;
      width: 40px;
      height: 40px;
      color: #FFF;
      font-size: 1.3rem;
      text-align: center;
      vertical-align: middle;
      line-height: 40px;
      border-radius: 100%; }
    .point > li p em {
      color: #fe8515; }

.introduction .text {
  padding-top: 20px;
  font-size: 1.7rem; }
.introduction .introduction_catch {
  position: absolute;
  top: 0;
  right: 0;
  width: 110px;
  height: 110px;
  padding-top: 30px;
  text-align: center;
  text-shadow: 2px 2px 2px #FFF, -2px 2px 2px #FFF, 2px -2px 2px #FFF, -2px -2px 2px #FFF;
  border-radius: 55px;
  background: #fff581; }
  .introduction .introduction_catch span {
    margin: 0 3px;
    color: #fe8515; }
  .introduction .introduction_catch:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: -10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    transform: rotate(-45deg); }

.child .subtitle,
.child .heading {
  border-color: #f37f96; }
.child .subheading,
.child .product_color,
.child .product_data .big_font,
.child .icon_plus,
.child .introduction .catch {
  color: #ef5070; }
.child .product_bg {
  background: #fef4f6; }
.child .balloon {
  position: relative;
  margin-bottom: 20px;
  padding: 16px;
  color: #FFF;
  text-align: center;
  background: #f37f96; }
  .child .balloon:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -12px;
    margin-left: -10px;
    border-top: 12px solid #f37f96;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent; }
.child .btn_product_clear {
  position: relative;
  color: #f37f96;
  border-color: #f37f96; }
  .child .btn_product_clear:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #f37f96;
    border-right: 2px solid #f37f96;
    transform: rotate(45deg); }
.child .column .name {
  background: #f37f96; }
.child table.table th {
  background: #fef4f6; }
.child .point > li:nth-child(5):after,
.child .point_vertical > li:nth-child(5):after {
  border-top-color: white; }
.child .point > li .num,
.child .point_vertical > li .num {
  background: #f37f96; }

.total .subtitle,
.total .heading {
  border-color: #53b5dc; }
.total .subheading,
.total .product_color,
.total .product_data .big_font,
.total .icon_plus,
.total .introduction .catch {
  color: #2ba2d1; }
.total .btn_product_clear {
  position: relative;
  color: #53b5dc;
  border-color: #53b5dc; }
  .total .btn_product_clear:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #53b5dc;
    border-right: 2px solid #53b5dc;
    transform: rotate(45deg); }
.total table.table th {
  background: #bde3f2; }
.total .point > li:nth-child(5):after,
.total .point_vertical > li:nth-child(5):after {
  border-top-color: #e7f5fa; }
.total .point > li .num,
.total .point_vertical > li .num {
  background: #53b5dc; }

.senior .subtitle,
.senior .heading {
  border-color: #c587c4; }
.senior .subheading,
.senior .product_color,
.senior .product_data .big_font,
.senior .icon_plus,
.senior .introduction .catch {
  color: #c587c4; }
.senior .product_bg {
  background: #f7eef7; }
.senior .balloon {
  position: relative;
  margin-bottom: 20px;
  padding: 16px;
  color: #FFF;
  text-align: center;
  background: #c587c4; }
  .senior .balloon:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -12px;
    margin-left: -10px;
    border-top: 12px solid #c587c4;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent; }
.senior .btn_product_clear {
  position: relative;
  color: #c587c4;
  border-color: #c587c4; }
  .senior .btn_product_clear:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #c587c4;
    border-right: 2px solid #c587c4;
    transform: rotate(45deg); }
.senior .column .name {
  background: #c587c4; }
.senior table.table th {
  background: #efddee; }
.senior .point > li:nth-child(5):after,
.senior .point_vertical > li:nth-child(5):after {
  border-top-color: white; }
.senior .point > li .num,
.senior .point_vertical > li .num {
  background: #c587c4; }

.fire .subtitle,
.fire .heading {
  border-color: #ffaa2f; }
.fire .subheading,
.fire .product_color,
.fire .product_data .big_font,
.fire .icon_plus,
.fire .introduction .catch {
  color: #ffaa2f; }
.fire .mark {
  background: #ffaa2f; }
.fire .product_color_box {
  color: #FFF;
  background: #ffaa2f; }
.fire .balloon {
  position: relative;
  margin-bottom: 20px;
  padding: 16px;
  color: #FFF;
  text-align: center;
  background: #ffaa2f; }
  .fire .balloon:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -12px;
    margin-left: -10px;
    border-top: 12px solid #ffaa2f;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent; }
.fire .balloon_arrow2 {
  position: relative;
  margin-bottom: 30px;
  padding: 16px;
  color: #FFF;
  font-size: 1.2rem;
  text-align: center;
  background: #ffaa2f; }
  .fire .balloon_arrow2:before {
    content: '';
    position: absolute;
    left: 20%;
    bottom: -23px;
    margin-left: -14px;
    border-top: 23px solid #ffaa2f;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent; }
  .fire .balloon_arrow2:after {
    content: '';
    position: absolute;
    left: 80%;
    bottom: -23px;
    margin-left: -14px;
    border-top: 23px solid #ffaa2f;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent; }
.fire .btn_product_clear {
  position: relative;
  color: #ffaa2f;
  border-color: #ffaa2f; }
  .fire .btn_product_clear:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #ffaa2f;
    border-right: 2px solid #ffaa2f;
    transform: rotate(45deg); }
.fire .column .name {
  background: #ffaa2f; }
.fire .column .outer_box img {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 80px; }
.fire .column .outer_box p {
  position: relative;
  top: 16px;
  transform: none; }
.fire table.table {
  border-color: #ffaa2f; }
  .fire table.table th, .fire table.table td {
    border-color: #ffaa2f; }
  .fire table.table th {
    background: #ffdeaf; }
.fire .point > li:nth-child(5):after {
  border-top-color: #fff3e2; }
.fire .point > li .num {
  background: #ffaa2f; }
.fire .tab .balloon {
  padding: 32px 16px; }
  .fire .tab .balloon .big_font {
    font-size: 1.4rem; }

.injury .subtitle,
.injury .heading {
  border-color: #daa520; }
.injury .subheading,
.injury .product_color,
.injury .product_data .big_font,
.injury .icon_plus,
.injury .introduction .catch {
  color: #daa520; }
.injury .mark {
  background: #daa520; }
.injury .product_color_box {
  color: #FFF;
  background: #daa520; }
.injury .balloon {
  position: relative;
  margin-bottom: 20px;
  padding: 16px;
  color: #FFF;
  text-align: center;
  background: #daa520; }
  .injury .balloon:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -12px;
    margin-left: -10px;
    border-top: 12px solid #daa520;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent; }
.injury .balloon_arrow2 {
  position: relative;
  margin-bottom: 30px;
  padding: 16px;
  color: #FFF;
  font-size: 1.2rem;
  text-align: center;
  background: #daa520; }
  .injury .balloon_arrow2:before {
    content: '';
    position: absolute;
    left: 20%;
    bottom: -23px;
    margin-left: -14px;
    border-top: 23px solid #daa520;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent; }
  .injury .balloon_arrow2:after {
    content: '';
    position: absolute;
    left: 80%;
    bottom: -23px;
    margin-left: -14px;
    border-top: 23px solid #daa520;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent; }
.injury .btn_product_clear {
  position: relative;
  color: #daa520;
  border-color: #daa520; }
  .injury .btn_product_clear:after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #daa520;
    border-right: 2px solid #daa520;
    transform: rotate(45deg); }
.injury .column .name {
  background: #daa520; }
.injury .column .outer_box img {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 80px; }
.injury .column .outer_box p {
  position: relative;
  top: 16px;
  transform: none; }
.injury table.table {
  border-color: #daa520; }
  .injury table.table th, .injury table.table td {
    border-color: #daa520; }
  .injury table.table th {
    background: #eed28b; }
.injury .point > li:nth-child(5):after {
  border-top-color: #f5e3b8; }
.injury .point > li .num {
  background: #daa520; }
.injury .tab .balloon {
  padding: 32px 16px; }
  .injury .tab .balloon .big_font {
    font-size: 1.4rem; }

.big_font {
  font-size: 1.5rem;
  padding: 0 3px; }

.large_font {
  font-size: 1.4rem; }

.small_font {
  font-size: 0.9rem !important; }

.notice {
  color: #fe8515; }

.red {
  color: #f00; }

.bold {
  font-weight: bold; }

.text_center {
  text-align: center; }

.text_right {
  text-align: right; }

.text_left {
  text-align: left; }

.text_link {
  color: #005fba;
  text-decoration: underline;
  cursor: pointer; }
  .text_link:hover {
    text-decoration: none; }

.required {
  font-size: 0.9rem !important;
  background-color: #ff606c;
  color: #fff;
  padding: 5px;
  border-radius: 5px; }

#error {
  color: #f00; }

.btn_right {
  position: absolute;
  top: 50%;
  right: 24px;
  font-size: 1rem; }

.mt1 {
  margin-top: 8px !important; }

.mt2 {
  margin-top: 16px !important; }

.mt3 {
  margin-top: 24px !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mb1 {
  margin-bottom: 8px !important; }

.mb2 {
  margin-bottom: 16px !important; }

.mb3 {
  margin-bottom: 24px !important; }

.mb4 {
  margin-bottom: 32px !important; }

.mb5 {
  margin-bottom: 40px !important; }

.pd1 {
  padding-bottom: 8px !important; }

.pd2 {
  padding-bottom: 16px !important; }

.clearfix::after, .column2::after, .column3::after, .column4::after, .column5::after {
  content: '';
  display: block;
  clear: both; }

.bdrLnone {
  border-left: none !important; }
