/* Menu page */
.cm-txt b {
  font-size: 29px;
  font-weight: bold;
  display: block;
  letter-spacing: 2px;
  margin-bottom: 10px; }
.cm-txt span {
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 35px;
  display: block; }
.cm-txt p {
  font-size: 20px;
  display: inline-block; }
  .cm-txt p em {
    font-size: 30px;
    font-family: Montserrat;
    margin-left: 15px; }
  .cm-txt p small {
    font-size: 16px;
    margin-left: 30px; }
.cm-txt .slash {
  margin: 0 18px;
  position: relative;
  top: 5px; }

.block-1 {
  padding: 45px 0 255px;
  position: relative;
  font-size: 0;
  line-height: 1; }
  .block-1 .ribbon {
    width: 447px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2; }
  .block-1 .content {
    background: url(../img/menu/bg_menu01.png) top left repeat;
    padding: 115px 0 240px;
    position: relative; }
    .block-1 .content img:first-child {
      margin-bottom: 35px; }
  .block-1 .des {
    position: absolute;
    bottom: -84px;
    left: 0;
    right: 0;
    margin: auto;
    background: url(../img/menu/bg_menu02.png) top center no-repeat;
    width: 760px;
    height: 280px;
    padding: 40px 42px 0;
    line-height: 1; }
    .block-1 .des .heading {
      margin-bottom: 35px !important; }
    .block-1 .des ul li {
      width: 326px;
      height: 132px;
      padding-top: 75px; }
      .block-1 .des ul li em {
        margin-left: 0; }
      .block-1 .des ul li small {
        margin-left: 24px; }
    .block-1 .des ul li:first-child {
      background: url(../img/menu/img_ft01.png) center no-repeat;
      float: left; }
    .block-1 .des ul li:last-child {
      background: url(../img/menu/img_ft02.png) center no-repeat;
      float: right; }

.block-2 {
  background: url(../img/menu/bg_menu03.png) top left repeat;
  position: relative;
  padding: 103px 0 108px;
  margin-bottom: 112px; }
  .block-2 .ribbon {
    position: absolute;
    top: -90px;
    left: 0;
    right: 0;
    margin: auto;
    width: 448px; }
  .block-2 .cm-txt {
    line-height: 1; }
  .block-2 .txt1 {
    background: #fff;
    margin: 115px auto 73px; }
    .block-2 .txt1 .wcm {
      position: relative; }
    .block-2 .txt1 .ico {
      width: 162px;
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      top: -80px; }
    .block-2 .txt1 ul {
      padding: 116px 0 54px;
      font-size: 0; }
      .block-2 .txt1 ul li {
        width: 33.3333%;
        display: inline-block;
        vertical-align: top;
        border-right: 1px solid #dbdbdb; }
        .block-2 .txt1 ul li img {
          height: 52px;
          margin-bottom: 30px; }
        .block-2 .txt1 ul li p {
          font-size: 14px;
          line-height: 1.9;
          padding: 0 15px 0 20px; }
      .block-2 .txt1 ul li:last-child {
        border: 0; }
  .block-2 .txt2 {
    background: url(../img/menu/bg_content.png) top center no-repeat;
    background-size: 100% 100%;
    padding: 3px; }
    .block-2 .txt2 .heading {
      background: url(../img/menu/bg_menu04.png) top left repeat-x;
      height: 80px;
      position: relative; }
      .block-2 .txt2 .heading img {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 348px; }
    .block-2 .txt2 ul {
      padding: 34px 62px;
      font-size: 0; }
      .block-2 .txt2 ul li {
        width: 48.28%;
        display: inline-block;
        vertical-align: top;
        margin-right: 3.4%;
        margin-bottom: 30px; }
        .block-2 .txt2 ul li img {
          margin-bottom: 20px; }
        .block-2 .txt2 ul li p {
          font-size: 15px;
          line-height: 1.9; }
      .block-2 .txt2 ul li:nth-child(2n+2) {
        margin-right: 0; }

@media (max-width: 767px) {
  .cm-txt b {
    font-size: 19px;
    margin-bottom: 10px; }
  .cm-txt span {
    font-size: 11px;
    margin-bottom: 20px; }
  .cm-txt p {
    font-size: 14px; }
    .cm-txt p em {
      font-size: 20px; }
    .cm-txt p small {
      font-size: 11px;
      display: block;
      text-align: right;
      margin-top: 5px; }
  .cm-txt .slash {
    width: 18px;
    top: 2px; }

  .block-1 {
    padding: 32px 0 152px; }
    .block-1 .ribbon {
      width: 256px; }
    .block-1 .content {
      background: url(../img/menu/bg_menu01_sp.png) top left repeat;
      padding: 60px 15px 170px; }
    .block-1 .des {
      background: url(../img/menu/bg_menu02_sp.png) center no-repeat;
      bottom: -42px;
      max-width: 578px;
      width: 290px;
      background-size: 100% 100%;
      height: 194px;
      padding: 23px 17px; }
      .block-1 .des .heading {
        width: 180px;
        margin-bottom: 18px !important; }
      .block-1 .des ul li {
        width: 119px;
        height: 92px;
        padding-top: 40px; }
      .block-1 .des ul li:first-child {
        background: url(../img/menu/img_ft01_sp.png) center no-repeat;
        background-size: 100% 100%; }
      .block-1 .des ul li:last-child {
        background: url(../img/menu/img_ft02_sp.png) center no-repeat;
        background-size: 100% 100%; }

  .block-2 {
    padding: 58px 0 63px;
    background: url(../img/menu/bg_menu03_sp.png) top left repeat;
    margin-bottom: 63px; }
    .block-2 .ribbon {
      width: 255px;
      top: -57px; }
    .block-2 .txt1 {
      margin: 73px auto 65px; }
      .block-2 .txt1 .ico {
        width: 111px;
        top: -56px; }
      .block-2 .txt1 ul {
        padding: 92px 0 45px; }
        .block-2 .txt1 ul li {
          width: 100%;
          margin: 0;
          border-right: 0;
          border-bottom: 1px solid #dbdbdb;
          padding: 33px 0;
          height: auto !important; }
          .block-2 .txt1 ul li img {
            height: 40px;
            margin-bottom: 18px; }
          .block-2 .txt1 ul li p {
            padding: 0;
            font-size: 13px;
            line-height: 1.6; }
        .block-2 .txt1 ul li:first-child {
          padding-top: 0; }
    .block-2 .txt2 {
      background: url(../img/menu/bg_content_sp.png) top center no-repeat;
      background-size: 100% 100%;
      padding: 2px;
      margin: auto; }
      .block-2 .txt2 .heading {
        height: 35px;
        background: url(../img/menu/bg_menu04_sp.png) top left repeat-x;
        background-size: auto 35px; }
        .block-2 .txt2 .heading img {
          width: 241px; }
      .block-2 .txt2 ul {
        padding: 20px 16px 0; }
        .block-2 .txt2 ul li {
          width: 100%;
          margin: 0;
          margin-bottom: 20px; }
          .block-2 .txt2 ul li img {
            width: 214px;
            margin-bottom: 10px; }
          .block-2 .txt2 ul li p {
            font-size: 13px;
            line-height: 1.6; } }

.txtMenua {
	background: url(../img/menu/bg_l01.png) repeat-x center bottom;
	background-size: auto 2px;
	padding-bottom:10px;
	margin-bottom:20px !important;
	font-size:20px !important;
	font-weight:bold !important;
}
.txtMenua01 {
	margin-top:-20px;
	font-size:18px !important;
	margin-bottom:15px !important;
}

.menu01 {
	margin-bottom:180px;
	margin-top:-100px;
}
.taMenu {
	width:100%;
	border:#cacaca solid 2px;
	font-size:18px;
	margin-top:25px;
}
.taMenu td, .taMenu th {
	border-bottom:#cacaca dotted 2px;
	border-right:#cacaca dotted 2px;
	text-align:center;
	padding:20px;
}

.taMenu .col01 {
}
.taMenu .col02 {
	background:#ecf7f9;
}
.taMenu .col03 {
	background:#f3f8ea;
}
.taMenu .col04 {
	background:#fdf1f3;
}
.taMenu td p {
	font-weight:bold;
	margin-bottom:10px;
}
.taMenu .col02 p {
	color:#3fb1c5;
}
.taMenu .col03 p {
	color:#8bbe32;
}
.taMenu .col04 p {
	color:#ec788b;
}

.taMenu .last .col02 {
	background: url(../img/menu/bg_a02.png);
	background-szie:100% 100%;
	color:#fff;
}
.taMenu .last .col03 {
	background: url(../img/menu/bg_a03.png);
	background-szie:100% 100%;
	color:#fff;
}
.taMenu .last .col04 {
	background: url(../img/menu/bg_a04.png);
	background-szie:100% 100%;
	color:#fff;
}

@media (max-width: 767px) {
	.menu01 {
		margin-bottom:100px;
		margin-top:-50px;
	}
	.taMenu {
		font-size:13px;
	}
	.taMenu td, .taMenu th {
		vertical-align:middle;
		text-align:center;
		padding:10px 5px;
	}
	.taMenu td p {
		margin-bottom:5px;
	}
	.taMenu tr td:first-child {
		width:45%;
	}
	.taMenu .col05 {
		background: url(../img/menu/bg_a02-sp.png);
		background-szie:100% 100%;
		color:#fff;
	}
	.taMenu .col06 {
		background: url(../img/menu/bg_a03-sp.png);
		background-szie:100% 100%;
		color:#fff;
	}
	.taMenu .col07 {
		background: url(../img/menu/bg_a04-sp.png);
		background-szie:100% 100%;
		color:#fff;
	}
	.block-1 .des.menubox {
		height: 225px;
		bottom: -65px;
	}
	.txtMenua01 {
		margin-top: -5px;
		font-size: 12px !important;
		line-height:1.3;
		margin-bottom: 15px !important;
	}
	.txtMenua {
		font-size:15px !important;
	}

}