html,
body {
    width: 100%;
}

html {
    font-size: 62.5%;
}

body {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    color: #000;
    letter-spacing: 1px;
    line-height: 1.6em;
    position: relative;
    font-size: 1.6em;
}

.sp {
    display: none !important;
}

.pc {
    display: block !important;
}

#price span.pc {
    line-height: 0em;
    height: 0;
}

.logo a img,
.sns a img,
main a img,
.btn input {
    opacity: 1;
    transition: all 0.5s linear;
}

.logo a img:hover,
.sns a img:hover,
main a img:hover,
.btn input:hover {
    -ms-filter: "alpha(opacity=80)";
    opacity: 0.8;
    zoom: 1;
}

img {
    max-width: 100%;
    height: auto;
}

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

header {
    width: 100%;
    position: fixed;
    top: 0;
    background-color: #fff;
    z-index: 999;
    box-sizing: border-box;
}

main {
    z-index: 1;
}

a {
    text-decoration: none;
}

.mc {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    text-align: center;
}

#top_block {
    margin: 0 auto;
    position: relative;
    width: 94%;
    max-width: 1100px;
}

#top_block .mc img {
    width: 608px;
    height: auto;
}

h1 {
    max-width: 680px;
    margin: 0 auto;
    padding: 20px 0 15px;
    font-size: 1px;
    line-height: 0;
}

header .sns {
    position: absolute;
    width: 80px;
    top: 0;
    right: 0;
    padding: 20px 0;
    overflow: hidden;
    display: table;
}

header .sns ul li {
    display: table-cell;
    width: 40px;
    line-height: 19px;
    text-align: right;
}

#logo_area {
    width: 94%;
    max-width: 1100px;
    margin: 0 auto 20px auto;
    position: relative;
}

#logo_area .logo {
    width: 468px;
    margin: 0 auto;
}

#logo_area .logo img {
  max-width: 100%;
  height: auto;
}

#logo_area .top_link {
    position: absolute;
    right: 0;
    bottom: 0;
}

#logo_area .top_link a {
    position: relative;
    text-decoration: none;
    display: block;
    width: 145px;
    text-align: center;
    line-height: 23px;
    height: 23px;
    background: #ababab;
    color: #FFFFFF;
    -ms-border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    font-size: 14px;
}

#logo_area .top_link a:before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    position: absolute;
    top: 7px;
    left: 10px;
}

header nav.pc {
    width: 100%;
    background: #242424;
    color: #FFF;
    box-sizing: border-box;
    line-height: 0;
    overflow: hidden;
}

header nav.pc ul {
    width: 87%;
    max-width: 915px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    line-height: 0;
    align-items: center;
}

header nav.pc li {
    line-height: 0;
    padding-right: 1px;
    box-sizing: border-box;
}

header nav li:last-child {
    padding-right: 0;
}

 header nav li a {
    color: #FFF;
    padding: 0;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 18px;
    line-height: 0;
}

header nav li img {
  max-height: 47px;
  width: auto;
}

#main_vis {
    padding-top: 168px;
    width: 100%;
    max-height: 435px;
    background: url(../img/mainvis_bg.png) repeat-x center bottom;
    -webkit-background-size: cover;
    background-size: cover;
}

#main_vis .image {
    position: relative;
    margin: 0 auto;
    padding-top: 40%;
    text-align: center;
    max-width: 1100px;
}

#main_vis .image img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

h2 {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    border-bottom: 1px solid #333;
    margin-bottom: 10px;
    padding-bottom: 14px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 32px;
    position: relative;
}

section .inner {
    width: 94%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 75px 0;
}

#about .abtext {
    padding-top: 60px;
    margin-top: -40px;
    background: url(../img/bg01_pc.png) no-repeat right 0;
}

#about .abtext .image {
    float: left;
    width: 33%;
}

#about .abtext .text {
    float: right;
    width: 63%;
}

#about .abtext .text p {
    margin-bottom: 2em;
}

#about .abtext .text p:last-child {
    margin-bottom: 0;
}

#about .abtext .text p span {
    color: #e63d87;
    font-weight: bold;
}

#about .category {
    width: 100%;
    background: #EFEFEF;
}

#about .category .inner {
    width: 90%;
    max-width: 960px;
    margin: 0 auto;
}

#about .category .inner h3 {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    text-align: center;
    font-size: 24px;
    margin-bottom: 10px;
}

#about .category .inner .title_dis {
    margin: 0 auto 20px auto;
    text-align: center;
    width: 90%;
}

#about .category .inner .cat_area {
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
}

#about .category .inner .cat_block {
    width: 30%;
    margin-right: 5%;
}

#about .category .inner .cat_block:nth-child(3) {
    margin-right: 0;
}

#about .category .inner .text_block {
    background: #FFFFFF;
    padding: 20px 20px 15px 20px;
}

#about .category .inner .text_block .text {
    padding-bottom: 0px;
    font-size: 1em;
}

#about .category .inner .image {
    margin-bottom: -10px;
    text-align: center;
}

#about .category .inner .image img {
    width: 100%;
    height: auto;
}

#about .category .inner .text_block .title {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    color: #e63d87;
    text-align: center;
    /* border-bottom: 1px solid #CCC; */
    
    font-size: 24px;
    margin-bottom: 20px;
}

#about .category .inner .etc {
    text-align: center;
    font-size: 1.06em;
    margin: 0 auto;
}

#about .category .inner .etc span {
    color: #e63d87 !important;
    font-weight: bold;
}

#about .category .inner .text_block .e_title {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    text-align: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

#price .inner {
    padding: 75px 0 0;
}

#price .title_dis {
    text-align: center;
    padding-top: 60px;
    margin-top: -40px;
    background: url(../img/bg02_pc.png) no-repeat right 0;
}

#price .main_price {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding-bottom: 30px;
    padding-top: 30px;
    background: url(../img/plus.png) no-repeat center;
}

#price .main_price .block01 {
    width: 43.23%;
    float: left;
    background: #f4f4f4;
    padding: 20px 50px;
    box-sizing: border-box;
    height: 250px;
}

#price .main_price .block01,
#price .main_price .block02,
#price .option {
    border-radius: 5px;
    font-size: 1.13em;
}

#price .main_price p.pink,
#price .option p.pink {
    text-align: center;
    font-size: 1.5em;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    color: #e63d87;
    margin-bottom: 20px;
    font-weight: normal;
}

#price .main_price .block02 {
    width: 43.23%;
    float: right;
    background: #f4f4f4;
    padding: 20px 30px;
    box-sizing: border-box;
}

#price .main_price li {
    display: block;
    text-align: left;
    position: relative;
    width: 100%;
    letter-spacing: -1px;
    font-weight: bold;
}

#price .main_price li:nth-child(3) {
    text-align: right;
    font-weight: normal;
}

#price .main_price li:nth-child(1) .tanka,
#price .main_price li:nth-child(4) .tanka,
#price .main_price li:nth-child(5) .tanka {
    position: absolute;
    right: 0;
    font-weight: normal;
}

#price .main_price span.mini {
    font-size: 0.78em;
}

#price .main_price span.pink {
    color: #e63d87;
}

#price .main_price .block02 .mini {
    font-size: 0.78em;
    padding-top: 10px;
    line-height: 1.5em;
}

#price .option {

    width: 90%;
    max-width: 860px;
    margin: 0 auto;
    padding: 20px 40px;
    background: #f4f4f4;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#price .option .price_box {
    width: 88.89%;
    max-width: 700px;
    margin: 0 auto;
}

#price .option .price_box dl {
    display: table;
}

#price .option .price_box dl dt {
    width: 300px;
    display: table-cell;
    font-weight: bold;
}

#price .option .price_box dl span {
    font-size: 0.75em;
    font-weight: normal;
}

#price .option .price_box dl dd {
    display: table-cell;
}

#price .anno {
    width: 100%;
    max-width: 960px;
    padding: 20px 0 0;
    font-size: 0.88em;
    margin: auto;
}

#price .option .anno {
    padding: 20px 0 0 20px;
    font-size: 0.78em;
    line-height: 1.5em;
}

#price .anno span {
    color: #e63d87;
}

#price h3 {
    text-align: center;
    padding: 70px 0 20px;
}

#price .case_area {
    width: 100%;
    max-width: 960px;
    margin: 0 auto 40px auto;
    overflow: hidden;
}

#price .case_area .case {
    position: relative;
    max-width: 440px;
    width: 45.83%;
    margin-right: 8.33%;
    float: left;
    /*
  border-image-source: url(../img/border.png);
  border-image-slice: 9;
  border-image-repeat: space;
  -ms-border-image-slice: 6;
  -ms-border-image-repeat: space;
  */
    
    border-radius: 10px;
    background: -webkit-repeating-linear-gradient(-45deg, #a2a2a2, #a2a2a2 4px, #fff 4px, #fff 12px);
    background: repeating-linear-gradient(-45deg, #a2a2a2, #a2a2a2 4px, #fff 4px, #fff 12px);
}

#price .case_area .case:nth-child(2) {
    float: right;
    margin-right: 0;
}

#price .case_area .case .cinner {
    margin: 5px;
    padding: 20px 0 30px;
    background-color: #fff;
    border-radius: 10px;
}

#price .case_area .case .title.c1,
#price .case_area .case .title.c2 {
    padding: 0px 15px 10px 15px;
    font-size: 1.63em;
    line-height: 1;
    text-align: left;
    font-weight: normal;
}

#price .case_area .case .image {
    width: 100%;
    background: #f2f2f2;
}

#price .case_area .case .image .inner {
    width: 74%;
    margin: 0 auto;
    padding: 0;
    line-height: 0;
}

#price .case_area .case .text ul {
    width: 300px;
    margin: 0 auto;
    padding: 20px 0;
}

#price .case_area .case .text span {
    font-size: 0.75em;
}

#price .case_area .case .text ul li {
    list-style: disc;
    margin-bottom: 5px;
}

#price .case_area .case .text ul li:last-child {
    margin-bottom: 0;
}

#price .case_area .case .text ul li .quote {
    font-size: 1.13em;
}

#price .case_area .case .total {
    max-width: 246px;
    margin: 0 auto;
    font-size: 24px;
    padding-bottom: 5px;
    border-bottom: 2px solid #f2a1c5;
}

#price .case_area .case .total.c2 {
    padding-top: 113px;
}

#price .case_area .case .total span.pink {
    color: #e63d87;
}

#price .btn {
    width: 316px;
    margin: 0 auto;
}

#price .btn a {
    display: block;
    position: relative;
    margin-bottom: 15px;
    text-align: center;
    font-size: 1.3em;
    font-weight: 300;
}

/*
#price .btn a:before {
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 22px;
  right: 15px;

}
 */

#member .title_dis {
    text-align: center;
    padding-top: 60px;
    margin-top: -40px;
    background: url(../img/bg03_pc.png) no-repeat right 0;
}

#member .member_block {
    position: relative;
}

#member .member_area {
    width: 96%;
    max-width: 960px;
    margin: 0 auto;
}

#member .member_area .member_block {
    width: 42%;
    padding: 30px 0 0;
    position: relative;
}

#member .member_area .member_block.nm01 {
    float: left;
}

#member .member_area .member_block.nm02 {
    float: right;
}

#member .member_area .member_block .image {
    text-align: left;
}

#member .member_area .member_block.nm01 .name_block,
#member .member_area .member_block.nm02 .name_block {
    /*background: url(../img/member01.png) no-repeat;*/
    
    padding-bottom: 10px;
}

#member .member_area .member_block .name_block .position {
    width: 150px;
    position: relative;
    z-index: -1;
    padding-left: 150px;
    margin-left: 30px;
    background: #333;
    color: #FFF;
}

#member .member_area .member_block .name_block .name {
    padding-top: 20px;
    margin-left: 180px;
    font-size: 18px;
}

#member .member_area .member_block .profile_link {
    text-align: right;
    display: block;
    position: relative;
}

#member .member_area .member_block .profile_link a {
    padding: 10px 0;
    color: #505050;
    font-style: italic;
    font-family: Myriad Pro, sans-serif;
    font-size: 0.88em;
    position: relative;
}

#member .member_area .member_block .profile_link a:hover {
    cursor: pointer;
}

#member .member_area .member_block .profile_link a:before {
    content: '';
    width: 4px;
    height: 4px;
    border: 0px;
    border-top: solid 2px #e63d87;
    border-right: solid 2px #e63d87;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 11px;
    left: -13px;
}

#member .member_area .member_block {
    position: relative;
}

#member .member_area .member_block .profile {
    display: none;
    position: fixed;
    top: 150px;
    left: auto;
    right: auto;
    width: 400px;
    background: #EEE;
    padding: 20px;
    text-align: left;
    box-sizing: border-box;
    z-index: 9999;
}

#modal-overlay {
    z-index: 9000;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    /* background-color: rgba( 0,0,0, 0.75 ); */
}

.close {
    text-align: center;
    font-family: Myriad Pro, sans-serif;
}

.modal-close:hover {
    cursor: pointer;
}

#member .member_area .member_block .profile p {
    margin-bottom: 10px;
}

#member .member_area .member_block .profile p:last-child {
    margin-bottom: 0;
}

#member .company {
    width: 100%;
    background: #EFEFEF;
}

#member .company .inner {
    padding: 35px 0 60px 0 !important;
}

#member .company h3 {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 0px;
}

#member .company .com_area {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 100%;
    max-width: 960px;
}

#member .company .com_block {
    width: 46%;
    max-width: 440px;
    margin-right: 8%;
    padding: 20px 30px;
    background: #FFFFFF;
    box-sizing: border-box;
}

#member .company .com_block:nth-child(2) {
    margin-right: 0;
}

#member .company h4 {
    font-size: 1.13em;
    color: #e63d87;
    text-align: center;
    border-bottom: 1px solid #EEE;
    padding-bottom: 10px;
}

#member .company .logo {
    text-align: center;
    padding: 15px 0 10px;
}

#member .company .com_data {
    padding: 0 20px;
    margin: 0 auto 20px auto;
}

#member .company .com_data span {
    background: #ccc;
    padding: 2px;
}

#member .company .com_about {
    margin: 0 auto;
    padding-top: 20px;
    border-top: 1px #e6e6e6 solid;
}

#member .company .com_about p {
    padding-bottom: 10px;
}

#member .company .com_about a {
    text-decoration: underline;
    color: #e63d87;
}

#flow .inner {
    padding: 75px 0 0;
}

#flow .title_dis {
    text-align: center;
    padding-top: 60px;
    margin-top: -40px;
    background: url(../img/bg04_pc.png) no-repeat right 0;
}

#flow .flow_block {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    justify-content: space-between;
}

#flow .flow_block dl {
    width: 21.25%;
    max-width: 204px;
    border: 1px solid #DDD;
    margin-right: 5%;
    height: auto;
    position: relative;
}

#flow .flow_block dl:last-child {
    margin-right: 0;
}

#flow .flow_block dl:before {
    content: "";
    width: 0px;
    border-color: #999;
    border-style: solid;
    border-width: 20px;
    border-left-color: transparent;
    border-top-color: transparent;
    border-right-color: transparent;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    position: absolute;
    top: 50%;
    right: -55px;
}

#flow .flow_block dl.ls:before {
    content: "";
    width: 0px;
    border: none;
}

#flow .flow_block dl dt {
    text-align: center;
    padding: 20px 0 10px 0;
}

#flow .flow_block dl dd .img-switch {
    display: block;
    margin: 0 auto;
}

#flow .flow_block dl dd.pink {
    font-size: 20px;
    color: #e63d87;
    text-align: center;
    padding: 10px 0;
}

#flow .flow_block dl dd.text {
    padding: 10px;
}

#contact .inner {
    padding-bottom: 70px;
}

#contact .title_dis {
    text-align: center;
    padding-top: 60px;
    margin-top: -40px;
    margin-bottom: 30px;
    background: url(../img/bg05_pc.png) no-repeat right 0;
}

#contact .form_area {
    width: 960px;
    margin: 0 auto;
}

#contact .form_area table {
    width: 100%;
    max-width: 960px;
    box-sizing: border-box;
    table-layout: auto;
}

#contact .form_area th {
    width: 400px;
    padding: 15px 20px;
    background: #F4F4F4;
    border: 1px solid #d6d6d6;
    vertical-align: middle;
    font-size: 0.88em;
    border-collapse: collapse;
    box-sizing: border-box;
}

#contact .form_area th span {
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    float: right;
    background: #e896c3;
    color: #FFFFFF;
    padding: 1px 5px;
    font-size: 0.9em;
}

#contact .form_area table tr td {
    width: 610px;
    padding: 15px 20px;
    border: 1px solid #d6d6d6;
    font-size: 0.88em;
    border-collapse: collapse;
}

#contact .form_area table tr td select,
#contact .form_area table tr td input {
    padding: 5px;
    box-sizing: border-box;
}

#contact .form_area table tr td select option {
    padding: 5px 0;
}

#contact .form_area table tr td textarea {
    width: 100%;
}

#contact .form_area .reset {
    padding: 10px 0 20px;
    text-align: right;
}

.reset input[type="reset"] {
    background: none;
    border: none;
    cursor: pointer;
    color: #444;
}

#contact .form_area .btn {
    margin: 0 auto 60px auto;
    position: relative;
}

#contact .form_area .btn input {
    margin: 0 auto;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    background: #333;
    display: block;
    width: 296px;
    color: #FFF;
    font-size: 24px;
    border: none;
}

/*
#contact .form_area .btn:before {
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 25px;
  right: 15px;
}
 */

#contact .mail_contact {
    margin: 0 auto;
    background: #f4f4f4;
    width: 100%;
    max-width: 960px;
    font-size: 0.88em;
}

#contact .mail_contact .inner {
    width: 89.58%;
    margin: 0 auto;
    padding: 30px 0;
}

#contact .mail_contact .inner .title,
#contact .mail_contact .inner .dis,
#contact .mail_contact .inner .mail {
    display: inline-block;
}

#contact .mail_contact .inner .title {
    font-weight: bold;
    background: url(../img/mail.png) no-repeat;
    padding-left: 50px;
    padding-right: 10px;
}

#contact .mail_contact .inner .mail {
    margin-left: 80px;
}

#contact .mail_contact .inner .mail a {
    text-decoration: underline;
    color: #e43d87;
}

footer {
    width: 100%;
    background: #333;
    padding: 20px 0;
}

footer .copy {
    text-align: center;
    color: #FFF;
    font-size: 16px;
}

footer .copy span {
    font-size: 12px;
}

footer .pagetop {
    display: none;
    position: relative;
    width: 90%;
    max-width: 1000px;
    height: 0;
    margin: 0 auto;
    z-index: 900;
}

footer .pagetop a {
    position: fixed;
    bottom: 0px;
    left: auto;
    display: block;
    width: 57px;
    hegiht: 57px;
    margin-left: 1100px;
}


@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }

    body {
        width: 100%;
        overflow-x: hidden;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        font-size: 1.3em;
    }

    .sp {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    header {
        width: 100%;
    }

    h1 {
        width: 98%;
        max-width: 98%;
        float: none;
        margin: 0 auto;
        padding: 10px 0 5px;
        line-height: 0;
    }

    #top_block {
        margin: 0 auto;
        width: 98%;
        max-width: 98%;
    }
  
    #top_block .mc img {
        max-width: 303.5px;
        width: 100%;
        height: auto;
    }

    #logo_area {
        width: 98%;
        max-width: 98%;
        margin: 0 auto;
    }

    #logo_area .logo {
        width: 243px;
        height: auto;
        margin: 0 auto;
    }

    #logo_area .top_link {
        display: none;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    header nav.sp {
        width: 100%;
        text-align: center;
        background-color: #242424;
    }

    header nav.sp ul {
        width: 98%;
        margin: 0 auto;
        display: flex;
        flex-flow: wrap;
        justify-content: center;
    }

    header nav li {
        text-align: center;
        margin: 0;
        padding-right: 0;
    }
  
    header nav li:nth-child(1) {
        width: 40%;
    }
  
    header nav li:nth-child(2),
    header nav li:nth-child(3) {
        width: 25%;
    }
  
    header nav li:nth-child(4),
    header nav li:nth-child(5) {
        width: 27%;
    }
 

    header nav li img {
        max-height: 12px;
        width: auto;
    }

    header nav li a {
        color: #FFF;
        display: block;
        font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
        padding: 9px 0;
        background-color: #242424;
        transition: all 0.5s linear;
    }
  
     header nav li a:hover {
       background-color: #333;
    }

    #main_vis {
        padding-top: 110px;
        width: 100%;
        background: none;
    }

    #main_vis .image {
        max-width: 100%;
        line-height: 0;
        padding-top: 98%;
    }

    #main_vis .image img {
        width: 100%;
        height: auto;
    }

    #wrap {
        width: 100%;
    }

    h2 {
        width: 98%;
        margin: 0 auto;
        font-size: 20px;
        font-size: 2.0rem;
        padding-bottom: 5.5px;
    }

    section {
        font-size: 12px;
    }

    section .inner {
        width: 90%;
        margin: 0 auto;
        padding: 30px 0;
    }

    #about .text .image {
        float: none;
        width: 60%;
        margin: 0 auto;
    }

    #about h2 img {
        width: auto;
        height: 18px;
    }

    #about h2,
    #about .category h3 {
        margin-top: 0;
    }

    .category h3 img {
        width: 77px;
        height: auto;
    }

    #about .category .inner .text_block .title {
        margin-bottom: 10px;
    }

    #about .category .inner .text_block .title img {
        width: 169px;
        height: auto;
    }

    #about .abtext {
        margin-top: -30px;
        padding-top: 50px;
        background: url(../img/bg01_sp.png) no-repeat right 12px;
        -webkit-background-size: auto 23px;
        background-size: auto 23px;
    }

    #about .abtext .text {
        float: none;
        width: 94%;
        margin: 0 auto;
    }

    #about .abtext .text p {
        margin-bottom: 1em;
    }

    #about .abtext .text p:nth-child(1) {
        margin-bottom: 0;
    }

    #about .category .inner {
        width: 100%;
        margin: 0 auto;
    }

    #about .category .inner .title_dis {
        margin: 0 auto 20px auto;
        text-align: left;
        width: 90%;
    }

    #about .category .inner .cat_block {
        width: 86%;
        float: none;
        margin: 0 auto 25px auto;
        margin-right: auto;
    }

    #about .category .inner .cat_block:nth-child(3) {
        margin: 0 auto;
    }

    #about .category .inner .etc {
        width: 86%;
        margin: 0 auto;
        font-size: 1em;
        text-align: left;
        font-weight: bold;
    }

    #about .category .inner .cat_area {
        margin-bottom: 15px;
        display: block;
    }

    #price .inner {
        padding: 30px 0 0;
    }

    #price .main_price {
        width: 100%;
        margin: 0 auto;
        padding-bottom: 15px;
        padding-top: 15px;
        background: url(../img/plus_sp.png) no-repeat 50% 47%;
        box-sizing: border-box;
        -webkit-background-size: 38.5px auto;
        background-size: 38.5px auto;
    }

    #price .main_price .block01 {
        width: 100%;
        float: none;
        margin: 0 auto 60px auto;
        background: #f4f4f4;
        padding: 15px 5%;
        box-sizing: border-box;
        height: auto;
    }

    #price .main_price p.pink,
    #price .option p.pink {
        text-align: center;
        font-size: 1.33em;
        font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
        color: #e63d87;
        margin-bottom: 10px;
    }

    #price .main_price .block02 p {
        font-size: 1.17em;
    }

    #price .main_price .block01 p.pink img,
    #price .main_price .block02 p.pink img {
        height: 16.5px;
        width: auto;
    }

    #price .main_price .block01,
    #price .main_price .block02,
    #price .option {
        border-radius: 5px;
        font-size: 1em;
    }

    #price .main_price .block02 {
        width: 100%;
        margin: 0 auto 0 auto;
        float: none;
        background: #f4f4f4;
        padding: 15px 5%;
        box-sizing: border-box;
    }
  
    #price .main_price li {
        font-size: 1.17em;
    }

    #price .main_price li:nth-child(3) {
        font-size: 1.17em !important;
    }

    #price .main_price li:nth-child(1) .tanka,
    #price .main_price li:nth-child(4) .tanka,
    #price .main_price li:nth-child(5) .tanka {
        font-size: 1em !important;
    }

    #price .main_price {
        display: block;
        text-align: left;
        margin-right: 4%;
    }

    #price .main_price span.mini {
        font-size: 0.92em;
        font-weight: normal;
    }

    #price .main_price span.pink {
        color: #e63d87;
    }

    #price .main_price .block02 .mini {
        font-size: 0.92em;
        padding-top: 10px;
    }

    #price .option {
        width: 100%;
        margin: 15px auto 0 auto;
        padding: 15px 0;
        background: #f4f4f4;
        box-sizing: border-box;
    }

    #price .option p.pink img {
        height: 15px;
        width: auto;
    }

    #price .option .price_box {
        width: 90%;
        margin: 0 auto;
    }

    #price .option .price_box dl {
        display: block;
    }

    #price .option .price_box dl dt {
        width: 90%;
        display: block;
        font-weight: bold;
        font-size: 1.17em;
    }

    #price .option .price_box dl span {
        font-size: 0.86em;
    }

    #price .option .price_box dl dd {
        display: block;
        font-size: 1.17em;
    }

    #price .anno {
        width: 100%;
        margin: 0 auto;
        padding: 10px 0 0;
        font-size: 0.92em;
    }

    #price .option .anno {
        margin: 0 auto;
        padding: 10px 0 0;
        font-size: 0.92em;
    }

    #price .anno span {
        color: #e63d87;
    }

    #price h2 img {
        width: 90px;
        height: auto;
    }

    #price h3 {
        width: 50%;
        margin: 0 auto;
        padding: 30px 0 10px;
    }

    #price h3 img {
        height: 21px;
        width: auto;
    }

    #price .title_dis {
        margin-top: -30px;
        padding-top: 50px;
        background: url(../img/bg02_sp.png) no-repeat right 13px;
        -webkit-background-size: auto 23px;
        background-size: auto 23px;
        font-size: 1em;
        text-align: left;
    }

    #price .case_area {
        width: 100%;
        margin: 0 auto 20px auto;
        display: block;
    }

    #price .case_area .case {
        width: 90%;
        height: auto;
        margin: 0 auto 25px auto;
        padding: 3px;
        margin-right: auto;
        float: none;
        /*
    border-image-source: url(../img/border.png);
    border-image-slice: 9;
    border-image-repeat: space;
    -ms-border-image-slice: 6;
    -ms-border-image-repeat: space;
    */
        
        background: -webkit-repeating-linear-gradient(-45deg, #a2a2a2, #a2a2a2 3px, #fff 3px, #fff 8px);
        background: repeating-linear-gradient(-45deg, #a2a2a2, #a2a2a2 3px, #fff 3px, #fff 8px);
    }

    #price .case_area .case:nth-child(2) {
        margin: 0 auto;
        float: none;
    }

    #price .case_area .case .cinner {
        margin: 0;
        padding: 15px 0;
        background-color: #fff;
        height: 100%;
    }

    #price .case_area .case .title.c1,
    #price .case_area .case .title.c2 {
        padding: 0px 10px 10px 10px;
        font-size: 1.33em;
        line-height: 1em;
    }

    #price .case_area .case .image {
        width: 100%;
        background: #f2f2f2;
        padding: 0;
    }

    #price .case_area .case .image .inner {
        width: 80%;
        height: auto;
        margin: 0 auto;
        padding: 0;
    }

    #price .case_area .case .image .inner img {
        vertical-align: bottom;
    }

    #price .case_area .case .text {
        width: 90%;
        margin: 0 auto;
    }

    #price .case_area .case .text ul {
        width: 90%;
        margin: 0 auto;
        padding: 20px 0 15px;
    }

    #price .case_area .case .text span {
        font-size: 0.86em;
    }

    #price .case_area .case .text ul li {
        list-style: disc;
        font-size: 1.2em;
    }

    #price .case_area .case .text ul li .quote {
        font-size: 1em;
    }

    #price .case_area .case .total {
        width: 180px;
        margin: 0 auto;
        font-size: 18px;
        font-size: 1.8em;
        text-align: center;
        padding-bottom: 2px;
    }

    #price .case_area .case .total img {
        height: 18px;
        widows: auto;
    }

    #price .case_area .case .total.c2 {
        padding-top: 0px;
    }

    #price .case_area .case .total span.pink {
        color: #e63d87;
    }

    #price .btn {
        width: 70%;
        margin: 0 auto 20px auto;
    }

    #price .btn a {
        display: block;
        position: relative;
        background: #e63d87;
        text-align: center;
        font-size: 1.25em;
        font-weight: 300;
    }

    /*
  #price .btn a:before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 17px;
    right: 15px;

  }
 */
    
    #member h2 img {
        width: 124px;
        height: auto;
    }

    #member .title_dis {
        padding-top: 50px;
        margin-top: -30px;
        background: url(../img/bg03_sp.png) no-repeat right 12px;
        -webkit-background-size: auto 23px;
        background-size: auto 23px;
        text-align: left;
    }

    #flow .inner {
        padding: 30px 0;
    }

    #flow h2 img {
        width: auto;
        height: 21px;
    }

    #flow .title_dis {
        padding-top: 55px;
        margin-top: -40px;
        background: url(../img/bg04_sp.png) no-repeat right 22px;
        -webkit-background-size: auto 23px;
        background-size: auto 23px;
    }

    #contact #mailfrom_hidden_object {
        line-height: 0;
        height: 1px;
    }

    #contact .inner {
        padding-bottom: 30px;
    }

    #contact .title_dis {
        background: url(../img/bg05_sp.png) no-repeat right 12px;
        -webkit-background-size: auto 23px;
        background-size: auto 23px;
    }

    #member .member_block {
        position: relative;
    }

    #member .member_area {
        width: 96%;
        margin: 0 auto;
    }

    #member .member_area .member_block {
        width: 96%;
        margin: 0 auto;
        padding: 30px 0 0;
        position: relative;
    }

    #member .member_area .member_block.nm01 {
        float: none;
    }

    #member .member_area .member_block.nm02 {
        float: none;
    }

    #member .member_area .member_block .image {
        position: absolute;
        top: 30px;
        width: 192.5px;
        height: auto;
    }

    #member .member_area .member_block.nm01 .name_block {
        /*background: url(../img/member01.png) no-repeat;*/
        
        padding-top: 40px;
        padding-bottom: 60px;
    }

    #member .member_area .member_block.nm02 .name_block {
        /*background: url(../img/member01.png) no-repeat;*/
        
        padding-top: 40px;
        padding-bottom: 60px;
    }

    #member .member_area .member_block .name_block .position {
        width: 35%;
        position: relative;
        z-index: -1;
        padding-left: 60%;
        margin-left: 30px;
        background: #333;
        color: #FFF;
    }

    #member .member_area .member_block .name_block .name {
        padding-top: 20px;
        margin-left: 60%;
        font-size: 18px;
    }

    #member .member_area .member_block .profile_link {
        text-align: right;
    }

    #member .member_area .member_block .profile_link a {
        color: #333;
        font-style: italic;
        font-size: 0.92em;
    }

    #member .member_area .member_block .profile_link a:before {
        content: '';
        width: 4px;
        height: 4px;
        border: 0px;
        border-top: solid 2px #e63d87;
        border-right: solid 2px #e63d87;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 11px;
        left: -13px;
    }

    #member .member_area .member_block .profile {
        display: none;
        position: fixed;
        left: auto;
        right: auto;
        width: 85%;
        padding: 15px 10px;
        margin: 0 auto;
        font-size: 1em;
        box-sizing: border-box;
    }

    #member .company {
        width: 100%;
        background: #EFEFEF;
    }
  
    #member .company .inner {
        padding: 20px 0 25px !important;
    }

    #member .inner:nth-child(2) {
        padding: 35px 0 60px !important;
    }

    #member .company h3 {
        width: 76.5px;
        height: auto;
        margin: 0 auto 15px auto;
        text-align: center;
    }

    #member .company .com_area {
        display: block;
        margin-top: 0px;
        width: 100%;
    }

    #member .company .com_block {
        width: 100%;
        padding: 20px;
        background: #FFFFFF;
        margin: 20px auto;
        margin-left: auto;
        height: auto;
    }

    #member .company .com_block:nth-child(2) {
        margin: 20px auto 0 auto;
    }

    #member .company h4 {
        font-size: 1em;
        padding-bottom: 5px;
    }

    #member .company .logo {
        margin: 0 auto;
        text-align: center;
        padding: 15px 0 10px;
    }

    #member .company .logo:nth-child(1) {
        width: 28px;
        height: auto;
    }

    #member .company .logo:nth-child(2) {
        width: 86px;
        height: auto;
    }

    #member .company .com_data {
        margin: 0 auto 10px auto;
        padding: 0 25px;
    }

    #member .company .com_data span {
        background: #ccc;
        padding: 2px;
    }

    #member .company .com_about {
        margin: 0 auto;
        padding: 10px 0 0;
    }

    #member .company .com_about p {
        padding-bottom: 10px;
    }

    #member .company .com_about a {
        text-decoration: underline;
        color: #e63d87;
    }

    #flow .flow_block {
        width: 90%;
        margin: 0 auto;
        padding: 15px 0 0;
        display: block;
    }

    #flow .flow_block dl {
        width: 100%;
        max-width: 100%;
        border: 1px solid #DDD;
        margin-left: 0;
        margin: 0 auto 40px auto;
        position: relative;
    }

    #flow .flow_block dl:last-child {
        margin: 0 auto;
    }

    #flow .flow_block dl:before {
        content: "";
        width: 0px;
        border-color: #999;
        border-style: solid;
        border-width: 20px;
        border-left-color: transparent;
        border-top-color: transparent;
        border-right-color: transparent;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        position: absolute;
        top: 104%;
        left: 44%;
    }

    #flow .flow_block dl.ls:before {
        content: "";
        width: 0px;
        border: none;
    }

    #flow .flow_block dl dt.sp {
        padding: 15px 5% 0 5%;
        width: 90%;
        max-width: 90%;
        display: inline-block !important;
        text-align: center;
    }

    #flow .flow_block dl dt.sp img {
        display: block;
        margin: 0 auto;
        height: 17.5px;
        width: auto;
    }

    #flow .flow_block dl dd.pink.sp {
        display: inline-block !important;
        font-size: 18px;
        width: 55%;
        color: #e63d87;
        padding: 20px 0 0 0;
        margin-left: 10%;
    }

    #flow .flow_block dl dd.text {
        width: 90%;
        margin: 0 auto;
        padding: 10px 0 20px 0;
    }

    #contact h2 img {
        width: 129.5px;
        height: auto;
    }

    #contact .title_dis {
        text-align: left;
        padding-top: 55px;
        margin-top: -40px;
        margin-bottom: 30px;
        background: url(../img/bg05_sp.png) no-repeat right 22px;
        -webkit-background-size: 37px auto;
        background-size: 37px auto;
    }

    #contact .form_area {
        width: 90%;
        margin: 0 auto;
    }

    #contact .form_area table {
        width: 100%;
        border-collapse: collapse;
        border-spacing: 0;
    }

    #contact .form_area th {
        width: 100%;
        display: block;
        padding: 10px 5%;
        background: #F4F4F4;
        border: 1px solid #d6d6d6;
        box-sizing: border-box;
        vertical-align: bottom;
        font-size: 0.92em;
    }

    #contact .form_area th span.sp {
        width: 30px;
        text-align: center;
        display: inline-block;
        vertical-align: bottom;
        float: left;
        margin-right: 3%;
        background: #e896c3;
        color: #FFFFFF;
        padding: 1px;
        font-size: 0.83em;
    }

    #contact .form_area table tr td {
        width: 100%;
        display: block;
        padding: 10px 2%;
        border-top: none;
        border-left: 1px solid #d6d6d6;
        border-right: 1px solid #d6d6d6;
        border-bottom: none;
        box-sizing: border-box;
        font-size: 0.92em;
    }

    #contact .form_area table tr:last-child td {
        border-top: none;
        border-left: 1px solid #d6d6d6;
        border-right: 1px solid #d6d6d6;
        border-bottom: 1px solid #d6d6d6;
    }

    #contact .form_area table tr td input {
        padding: 5px 1%;
        margin-left: 2%;
    }

    #contact .form_area table tr td input.mfp_n {
        width: 40%;
        margin-left: 2%;
        display: inline-block;
    }

    #contact .form_area table tr td input.mfp_t {
        margin-left: 2%;
        display: inline-block;
    }

    #contact .form_area table tr td select {
        width: 100%;
    }

    #contact .form_area .btn {
        margin: 0 auto 30px auto;
        position: relative;
    }

    #contact .form_area .btn input {
        font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
        display: block;
        width: 192px;
        height: auto;
        background: #333;
        color: #FFF;
        font-size: 24px;
        border: none;
    }

    /*
  #contact .form_area .btn:before {
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 25px;
    right: 15px;
  }
 */
    
    #contact .mail_contact {
        margin: 0 auto;
        background: #f4f4f4;
        width: 90%;
        font-size: 1em;
    }

    #contact .mail_contact .inner {
        width: 96%;
        margin: 0 auto;
        padding: 0 0 15px;
    }

    #contact .mail_contact .inner .title,
    #contact .mail_contact .inner .dis,
    #contact .mail_contact .inner .mail {
        display: block;
    }

    #contact .mail_contact .inner .title {
        font-weight: bold;
        background: url(../img/mail.png) no-repeat 15% 15px;
        padding: 15px 0 0 30px;
        text-align: center;
        margin-bottom: 1em;
    }

    #contact .mail_contact .inner .dis,
    #contact .mail_contact .inner .mail {
        font-size: 0.83em;
        text-align: center;
    }

    #contact .mail_contact .inner .mail {
        padding-top: 1em;
        margin-left: 0;
        text-align: center;
    }

    #contact .mail_contact .inner .mail a {
        text-decoration: underline;
    }
@media screen and (max-width: 767px){
    .link_area {
        width: 100%;
        margin: 0 auto;
        background: #EEE;
        padding: 10px 0 35px;
        height: 20px;
        position: relative;
    }}
@media screen and (min-width: 767px){
    .link_area {
        width: 100%;
        margin: 0 auto;
        background: #EEE;
        padding: 10px 0 13px;
        height: 20px;
        position: relative;
    }}
    .link_area .top_link {
        position: absolute;
        left: 5%;
    }

    .link_area .top_link a {
        position: relative;
        text-decoration: none;
        display: block;
        width: 145px;
        text-align: center;
        line-height: 23px;
        background: #ababab;
        color: #FFFFFF;
        -ms-border-radius: 15px;
        -webkit-border-radius: 15px;
        -moz-border-radius: 15px;
        border-radius: 15px;
       font-size: 0.95em;
    }

    .link_area .top_link a:before {
        content: '';
        width: 6px;
        height: 6px;
        border: 0px;
        border-top: solid 2px #FFFFFF;
        border-right: solid 2px #FFFFFF;
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg);
        position: absolute;
        top: 7px;
        left: 10px;
    }

    .sns {
        position: absolute;
        top: 12px;
        right: 5%;
        width: 80px;
    }

    .sns ul {
        display: table;
    }

    .sns li {
        display: table-cell;
        width: 40px;
        text-align: right;
    }

    .sns li:nth-child(1) img {
        width: 8.5px;
        height: auto;
    }

    .sns li:nth-child(2) img {
        width: 16px;
        height: auto;
    }

    footer {
        width: 100%;
        background: #333;
        padding: 20px 0;
    }

    footer .copy {
        width: 94%;
        margin: 0 auto;
        text-align: center;
        color: #FFF;
        font-size: 12px;
        font-size: 1rem;
    }

    footer .copy span {
        font-size: 10px;
        font-size: 1.0rem;
    }

    footer .pagetop {
        width: 90%;
        max-width: 90%;
        margin: 0 auto;
    }
  
    footer .pagetop a {
        width: 38px;
        hegiht: auto;
        left: -68px;
	      margin-left: 100%;
    }
  
 .p-footer-nav {
    background: #f5f5f5;
    color: #000000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 0;
    border-bottom: 1px solid #ddd;
    font-size: 14px;
    line-height: 60px;
    text-align: center;
}
.p-copyright {
    height: 60px;
    background: #000000;
    color: #fff;
    font-size: 12px;
    line-height: 60px;
    text-align: center;
}
.c-comment__form-submit:hover, .p-cb__item-btn a, .c-pw__btn, .p-readmore__btn, .p-pager span, .p-page-links a, .p-pagetop, .p-widget__title, .p-entry__meta, .p-headline, .p-article06__cat, .p-nav02__item-upper, .p-page-header__title, .p-plan__title, .p-btn {
    background: #000000;
}

 
}
