@charset "utf-8";

/*■■■■■■■■■■■■■■■■■■■■■■
  共通設定
■■■■■■■■■■■■■■■■■■■■■■*/


/*========== webfont ==========*/

@font-face {
    font-family: "NotoSansCJKjp-Light";
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/NotoSansCJKjp-Light.eot');
    src: local('Noto Sans CJK JP Light'), url('../fonts/NotoSansCJKjp-Light.eot?#iefix') format('embedded-opentype'), url('../fonts/NotoSansCJKjp-Light.woff') format('woff'), url('../fonts/NotoSansCJKjp-Light.otf') format('opentype')
}

@font-face {
    font-family: "NotoSansCJKjp-Regular";
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/NotoSansCJKjp-Regular.eot');
    src: local('Noto Sans CJK JP Regular'), url('../fonts/NotoSansCJKjp-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/NotoSansCJKjp-Regular.woff') format('woff'), url('../fonts/NotoSansCJKjp-Regular.otf') format('opentype')
}

@font-face {
    font-family: "NotoSansCJKjp-Medium";
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/NotoSansCJKjp-Medium.eot');
    src: local('Noto Sans CJK JP Medium'), url('../fonts/NotoSansCJKjp-Medium.eot?#iefix') format('embedded-opentype'), url('../fonts/NotoSansCJKjp-Medium.woff') format('woff'), url('../fonts/NotoSansCJKjp-Medium.otf') format('opentype')
}

@font-face {
    font-family: "NotoSansCJKjp-Bold";
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/NotoSansCJKjp-Bold.eot');
    src: local('Noto Sans CJK JP Bold'), url('../fonts/NotoSansCJKjp-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/NotoSansCJKjp-Bold.woff') format('woff'), url('../fonts/NotoSansCJKjp-Bold.otf') format('opentype')
}


/****************************************
			 General Setting 
*****************************************/

* {
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
    padding-bottom: 1px;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5 {
    font-size: 100%;
    font-weight: normal;
}


/* ====================================================
	フォントサイズの初期化
	EXAMPLES FONT-SIZE
	------------------
	 77% = 9px
	 85% = 10px
	 93% = 11px
	100% = 12px
	108% = 13px
	116% = 14px
	124% = 15px
	131% = 16px
	139% = 17px
	147% = 18px
	154% = 19px
	162% = 20px
	170% = 21px
	177% = 22px
	185% = 23px
	193% = 24px
	200% = 25px
	---------------
====================================================*/

img {
    border: 0;
    vertical-align: top;
    font-size: 1%;
    line-height: 1;
}

a img {
    border: 0;
    overflow: hidden;
    /*firefox*/
    outline: none;
}

div#container {
    position: relative;
}

ul,
ul li,
ol {
    list-style: none;
}

.clear {
    clear: both;
}

.clearfix {
    clear: both;
    zoom: 100%;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
    font-size: 0.1em;
    line-height: 0;
}


/* General Settingここまで */


/****************************************
			 Common Setting 
*****************************************/

body {
    font: 14px/1.234 "NotoSansCJKjp-Regular", "メイリオ", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -webkit-text-size-adjust: none;
    color: #2A2B2B;
    line-height: 180%;
    background: #FFF;
    overflow-x: hidden;
    /*display:none;*/
}

img {
    border: 0;
    vertical-align: top;
    font-size: 1%;
    line-height: 1;
}

a img {
    border: 0;
    overflow: hidden;
    /*firefox*/
    outline: none;
}

a:hover img.opa {
    opacity: 0.7;
    filter: alpha(opacity=70);
}

a:focus {
    outline: none;
    /*firefox*/
}

ul,
ul li,
ol {
    list-style: none;
}

a {
    color: #333;
    text-decoration: none;
}

a:hover {
    color: #333;
    text-decoration: none;
}

.clearfix {
    clear: both;
    zoom: 100%;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
    font-size: 0.1em;
    line-height: 0;
}

.float_l {
    float: left;
}

.float_r {
    float: right;
}

.pointer {
    cursor: pointer;
}


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


/* margin padding
============================*/

.mt0 {
    margin-top: 0px!important;
}

.mt5 {
    margin-top: 5px!important;
}

.mt10 {
    margin-top: 10px!important;
}

.mt15 {
    margin-top: 15px!important;
}

.mt17 {
    margin-top: 17px!important;
}

.mt18 {
    margin-top: 18px!important;
}

.mt20 {
    margin-top: 20px!important;
}

.mt25 {
    margin-top: 25px!important;
}

.mt30 {
    margin-top: 30px!important;
}

.mt40 {
    margin-top: 40px!important;
}

.mt45 {
    margin-top: 45px!important;
}

.mt50 {
    margin-top: 50px!important;
}

.mr0 {
    margin-right: 0px!important;
}

.mr5 {
    margin-right: 5px!important;
}

.mr10 {
    margin-right: 10px!important;
}

.mr15 {
    margin-right: 15px!important;
}

.mr20 {
    margin-right: 20px!important;
}

.mr25 {
    margin-right: 25px!important;
}

.mr30 {
    margin-right: 30px!important;
}

.mr35 {
    margin-right: 35px!important;
}

.mr40 {
    margin-right: 40px!important;
}

.mr45 {
    margin-right: 45px!important;
}

.mr50 {
    margin-right: 50px!important;
}

.mb0 {
    margin-bottom: 0px!important;
}

.mb5 {
    margin-bottom: 5px!important;
}

.mb10 {
    margin-bottom: 10px!important;
}

.mb15 {
    margin-bottom: 15px!important;
}

.mb20 {
    margin-bottom: 20px!important;
}

.mb25 {
    margin-bottom: 25px!important;
}

.mb30 {
    margin-bottom: 30px!important;
}

.mb35 {
    margin-bottom: 35px!important;
}

.mb40 {
    margin-bottom: 40px!important;
}

.mb45 {
    margin-bottom: 45px!important;
}

.mb50 {
    margin-bottom: 50px!important;
}

.ml0 {
    margin-left: 0px!important;
}

.ml5 {
    margin-left: 5px!important;
}

.ml8 {
    margin-left: 8px!important;
}

.ml10 {
    margin-left: 10px!important;
}

.ml15 {
    margin-left: 15px!important;
}

.ml20 {
    margin-left: 20px!important;
}

.ml25 {
    margin-left: 25px!important;
}

.ml30 {
    margin-left: 30px!important;
}

.ml35 {
    margin-left: 35px!important;
}

.ml40 {
    margin-left: 40px!important;
}

.ml45 {
    margin-left: 45px!important;
}

.ml50 {
    margin-left: 50px!important;
}

.ml100 {
    margin-left: 100px!important;
}

.ml80 {
    margin-left: 80px!important;
}

.pt0 {
    padding-top: 0px!important;
}

.pt5 {
    padding-top: 5px;
}

.pt10 {
    padding-top: 10px!important;
}

.pt15 {
    padding-top: 15px!important;
}

.pt20 {
    padding-top: 20px!important;
}

.pt25 {
    padding-top: 25px!important;
}

.pt30 {
    padding-top: 30px!important;
}

.pt35 {
    padding-top: 35px!important;
}

.pt40 {
    padding-top: 40px!important;
}

.pt45 {
    padding-top: 45px!important;
}

.pt50 {
    padding-top: 50px!important;
}

.pr0 {
    padding-right: 0px!important;
}

.pr5 {
    padding-right: 5px!important;
}

.pr10 {
    padding-right: 10px!important;
}

.pr15 {
    padding-right: 15px!important;
}

.pr20 {
    padding-right: 20px!important;
}

.pr25 {
    padding-right: 25px!important;
}

.pr30 {
    padding-right: 30px!important;
}

.pr35 {
    padding-right: 35px!important;
}

.pr40 {
    padding-right: 40px!important;
}

.pr45 {
    padding-right: 45px!important;
}

.pr50 {
    padding-right: 50px!important;
}

.pb0 {
    padding-bottom: 0px!important;
}

.pb5 {
    padding-bottom: 5px!important;
}

.pb10 {
    padding-bottom: 10px!important;
}

.pb15 {
    padding-bottom: 15px!important;
}

.pb20 {
    padding-bottom: 20px!important;
}

.pb25 {
    padding-bottom: 25px!important;
}

.pb30 {
    padding-bottom: 30px!important;
}

.pb35 {
    padding-bottom: 35px!important;
}

.pb40 {
    padding-bottom: 40px!important;
}

.pb45 {
    padding-bottom: 45px!important;
}

.pb50 {
    padding-bottom: 50px!important;
}

.pl0 {
    padding-left: 0px!important;
}

.pl5 {
    padding-left: 5px!important;
}

.pl10 {
    padding-left: 10px!important;
}

.pl15 {
    padding-left: 15px!important;
}

.pl20 {
    padding-left: 20px!important;
}

.pl25 {
    padding-left: 25px!important;
}

.pl30 {
    padding-left: 30px!important;
}

.pl35 {
    padding-left: 35px!important;
}

.pl40 {
    padding-left: 40px!important;
}

.pl45 {
    padding-left: 45px!important;
}

.pl50 {
    padding-left: 50px!important;
}

.align_l {
    text-align: left;
}

.align_r {
    text-align: right;
}

.align_c {
    text-align: center;
}

.pre {
    word-break: break-all;
    /*	white-space: pre;           /* CSS 2.0 */
    /*	white-space: pre-wrap;      /* CSS 2.1 */
    /*	white-space: pre-line;      /* CSS 3.0 */
    white-space: -pre-wrap;
    /* Opera 4-6 */
    white-space: -o-pre-wrap;
    /* Opera 7 */
    white-space: -moz-pre-wrap;
    /* Mozilla */
    white-space: -hp-pre-wrap;
    /* HP Printers */
    word-wrap: break-word;
    /* IE 5+ */
}


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


/* PC・SP Change
============================*/

.pc_none {
    display: none;
}

.sp_none {}


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


/* font Setteing 
============================*/

.red {
    color: #F00;
}

.graybg {
    background: #EDECEC;
    border-radius: 2px;
}

.gray {
    background: #E2E2E2;
}

.fontmd {
    font-size: 116%;
}

.fontlg {
    font-size: 131%;
}

.fontS {
    font-size: 65%;
}

.fontM {
    font-size: 75%;
}

.fontL {
    font-size: 85%;
}

.bold {
    color: #3C9FD8;
}


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


/* Base Setting
============================*/

#container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #fff;
}


/* header */

#header {
    background: #E2E2E2;
}


/* h1 */

#header-top ul li h1 {
    width: 370px;
    color: #868686 !important;
    /*padding-top : 10px;*/
    padding-bottom: 10px;
    line-height: 1.5em;
    font-weight: normal;
    margin-left: 0px;
    display: block;
    letter-spacing: 0.05em;
    -webkit-text-size-adjust: 110%!important;
    margin: 0 auto;
    font-family: "NotoSansCJKjp-Light", sans-serif!important;
    color: #868686;
    font-size: 86%;
    /*text-align: center;*/
}

body.global01 ul.gNavi a.gNavi01,
body.global02 ul.gNavi a.gNavi02,
body.global03 ul.gNavi a.gNavi03,
body.global04 ul.gNavi a.gNavi04,
body.global05 ul.gNavi a.gNavi05,
body.global06 ul.gNavi a.gNavi06,
body.global07 ul.gNavi a.gNavi07 {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
}

.fixed+ul#fixbtn {
    top: 110px;
    width: 50px;
    height: 50px;
    -moz-transition: -moz-transform 0.8s linear;
    -webkit-transition: -webkit-transform 0.8s linear;
    -o-transition: -o-transform 0.8s linear;
    -ms-transition: -ms-transform 0.8s linear;
    transition: transform 0.8s linear;
}

.fixed+ul#fixbtn li a img {
    width: 50px;
    height: 50px;
}

ul.gNavi li:first-child {
    margin-left: 0px;
}

ul.gNavi li {
    float: left;
    position: relative;
    width: 140px;
    z-index: 31;
    margin-left: 24px;
}

ul,
ul li,
ol {
    list-style: outside none none;
}

ul.gNavi li a {
    white-space: nowrap;
    display: block;
    width: 140px;
    height: 106px;
    text-indent: -9999px;
    background: transparent url("../img/gnavi.png") repeat scroll 0px 0px;
}

body.global01 ul.gNavi li a.gNavi01,
body.global02 ul.gNavi li a.gNavi02,
body.global03 ul.gNavi li a.gNavi04,
body.global04 ul.gNavi li a.gNavi04,
body.global05 ul.gNavi li a.gNavi05,
body.global06 ul.gNavi li a.gNavi06 {
    background: none;
}

ul.gNavi li a.gNavi01 {
    background-position: 0px 0px;
}

ul.gNavi li a.gNavi01:hover {
    background-position: 0px -106px;
    transition: background-position 0.3s;
}

ul.gNavi li a.gNavi02 {
    background-position: -164px 0px;
}

ul.gNavi li a.gNavi02:hover {
    background-position: -164px -106px;
    transition: background-position 0.3s;
}

ul.gNavi li a.gNavi03 {
    background-position: -326px 0px;
}

ul.gNavi li a.gNavi03:hover {
    background-position: -326px -106px;
    transition: background-position 0.3s;
}

ul.gNavi li a.gNavi04 {
    background-position: -490px 0px;
}

ul.gNavi li a.gNavi04:hover {
    background-position: -490px -106px;
    transition: background-position 0.5s;
}

ul.gNavi li a.gNavi05 {
    background-position: -654px 0px;
}

ul.gNavi li a.gNavi05:hover {
    background-position: -654px -106px;
    transition: background-position 0.5s;
}

ul.gNavi li a.gNavi06 {
    background-position: -815px 0px;
}

ul.gNavi li a.gNavi06:hover {
    background-position: -815px -106px;
    transition: background-position 0.5s;
}

ul.gNavi {
    zoom: 1;
}


/* maincontens */

#main {
    clear: both;
    width: 100%;
    padding: 0px;
    height: auto;
}


/* mainvisual */

#keyvisual {
    width: 100%;
    clear: both;
    z-index: 1;
    background-repeat: repeat;
}

#keyvisual section img,
#keyvisual section h2 img {
    z-index: 1;
}

#case h2,
#about h2,
#voice h2,
#beforafter h2,
#greeting h2 {
    background: #4272B8;
}

#rank h2 {
    background: #3B9344;
    color: #FFF !important;
    display: block;
    display: table;
    text-align: center;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: 0.06em;
    font-size: 160%;
    font-family: "NotoSansCJKjp-Bold", sans-serif;
    padding: 0px 0px 10px 0px;
}

#rank h2 span strong {
    color: #FFF;
    font-size: 200%;
    padding: 3px;
}

#price h2 {
    background: #4272B8;
}

#contact h2,#flow h2,#tel h2 {
    background: #E2E3E3;
}

#case h2:after,
#tel h2:after,
#about h2:after,
#greeting h2:after,
#price h2:after,
#flow h2:after,
#beforafter h2:after,
#contact h2:after,
#voice h2:after {
    border-left: 1px solid #4A494A transparent;
}

#case h2:before,
#tel h2:before,
#about h2:before,
#greeting h2:before,
#price h2:before,
#flow h2:before,
#beforafter h2:before,
#contact h2:before,
#voice h2:before {
    border-right: 1px solid #4A494A transparent;
}

#case p,
#about p.blue,
#greeting p {
    background: #F2FCFE;
}

#case p span,
#about p.blue span,
#greeting p span {
    border-top: 1px dotted #98D5EE;
    border-bottom: 1px dotted #98D5EE;
}

#rank p span,
#price p span {
    border-top: 1px dotted #98D5EE;
    border-bottom: 1px dotted #98D5EE;
}

#tel a.formlink:hover {
    background: #336699;
}

#case p span {
    width: 960px;
    display: block;
    padding: 20px 0px;
    border-top: 1px dotted #98D5EE;
    border-bottom: 1px dotted #98D5EE;
    font-size: 116%;
    line-height: 1.5;
    color: #FFF;
    text-shadow: 0px 2px 3px #000000;
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
}

.voice_title {
    border-bottom: 2px dashed #e58cbb;
    color: #e58cbb;
    font-size: 131%;
    margin-bottom: 15px;
    padding-bottom: 10px;
}

.img_right {
    float: right;
    margin-left: 20px;
    margin-bottom: 10px;
}


/* Contents */

.contactarea {
    width: 960px;
    margin: 0 auto;
}

.contactarea h2 {
    width: 171px;
    height: 174px;
    display: block;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 20px;
}

.contactarea ol li:first-child {
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
    font-size: 131%;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

ol li a.contsbtn {
    display: block;
    width: 288px;
    height: 34px;
    padding-top: 10px;
    background: #4C4C4C;
    color: #FFF;
    text-shadow: 0px 2px 3px #000000;
    text-decoration: none;
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
    font-size: 116%;
    letter-spacing: 0.15em;
    transition: background-color 0.8s;
    margin: 0 auto;
    margin-top: 20px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    margin-bottom: 40px;
}

ol li a.contsbtn:hover {
    background-color: #333;
}

#guidance {
    background: #769763;
    width: 100%;
    box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.41);
    z-index: 1;
    position: relative;
}

#guidance h2 {
    display: block;
    width: 960px;
    font-size: 131%;
    color: #FFF;
    text-shadow: 0px 2px 3px #000000;
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0.15em;
    padding: 30px 0px;
}

#guidance h2 span {
    background-image: url(../img/guidance_h2left.png), url(../img/guidance_h2right.png);
    background-position: left, right;
    background-repeat: no-repeat, no-repeat;
    background-size: 24px 36px, 24px 36px;
    padding: 40px 50px;
}

#contents {
    background: url("../img/contents_bg.png") repeat;
    width: 100%;
    background-size: 108px 108px;
    height: 1570px;
    box-shadow: 0px -4px 5px -1px rgba(0, 0, 0, 0.41) inset;
    -ms-box-shadow: 0px -4px 5px -1px rgba(0, 0, 0, 0.41) inset;
    -moz-box-shadow: 0px -4px 5px -1px rgba(0, 0, 0, 0.41) inset;
    -webkit-box-shadow: 0px -4px 5px -1px rgba(0, 0, 0, 0.41) inset;
    -o-box-shadow: 0px -4px 5px -1px rgba(0, 0, 0, 0.41) inset;
}

#contents section {
    width: 960px;
    background: #FFF;
    box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.41);
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    margin-top: 40px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
}

#contents section h2 {
    display: block;
    width: 960px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    background: #4C4C4C;
    height: 47px;
    padding-top: 20px;
    color: #FFF;
    text-shadow: 0px 2px 3px #000000;
    text-align: center;
    background-image: url(../img/contents_h2.png), url(../img/contents_h2.png);
    background-position: 30px, 740px;
    background-repeat: no-repeat, no-repeat;
    background-size: 182px 17px, 182px 17px;
    font-size: 131%;
    letter-spacing: 0.05em;
    font-family: "NotoSansCJKjp-Light", sans-serif;
}

#contents section h2 span {
    letter-spacing: 0.15em;
    padding-right: 2px;
}

#contents section ul li {
    width: 440px;
}

.contsh3,
.contsh3_2,
.contsh3_3,
.contsh3_4 {
    font-family: "NotoSansCJKjp-Bold", sans-serif;
    margin-top: 20px;
}

.contsh3 {
    color: #E1EBD8;
    font-size: 730%;
    letter-spacing: 0.175em;
}

.contsh3_2 {
    color: #E4D6D2;
    font-size: 730%;
    letter-spacing: 0.175em;
}

.contsh3_3 {
    color: #E1EBD8;
    font-size: 630%;
    letter-spacing: 0.1em;
}

.contsh3_4 {
    color: #E4D6D2;
    font-size: 630%;
    letter-spacing: 0.05em;
}

#contents section p {
    width: 420px;
    line-height: 2;
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: 0.02em;
    margin-top: 60px;
}

#contents section a {
    width: 420px;
    height: 38px;
    display: block;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(240, 113, 70, .6)), to(rgba(239, 143, 117, .6)));
    background: linear-gradient(to bottom, rgba(240, 113, 70, .6), rgba(239, 143, 117, .6));
    background-color: rgb(240, 113, 70);
    -webkit-transition: background-color .4s;
    transition: background-color .4s;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    text-decoration: none;
    color: #FFF;
    padding-top: 12px;
    letter-spacing: 0.05em;
    font-size: 116%;
    text-align: center;
    margin-top: 30px;
    text-shadow: 0px 1px 2px #555555;
}

#contents section a.btn2 {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(139, 183, 121, .6)), to(rgba(178, 211, 163, .6)));
    background: linear-gradient(to bottom, rgba(139, 183, 121, .6), rgba(178, 211, 163, .6));
    background-color: rgb(139, 183, 121);
    -webkit-transition: background-color .4s;
    transition: background-color .4s;
}

#contents section a:hover {
    background-color: rgb(193, 72, 52);
}

#contents section a.btn2:hover {
    background-color: rgb(98, 130, 78);
}

#contents section a span {
    letter-spacing: 0.075em;
    font-size: 105%;
}

#contsform strong img {
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
    opacity: 0.9;
}

#contsform strong img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 1;
}

#contsform h2 span,
#about h3 span,
#menu h3 span,
#hck h3 span,
#model h3 span,
#shopstyle h3 span,
#mont h3 span,
#value h3 span {
    padding: 40px 50px;
}


/* pagetop */

#topbutton {
    /* ▼表示位置を画面の右下に固定 */
    position: fixed;
    /* ←表示場所を固定 */
    bottom: 15px;
    /* ←下端からの距離 */
    right: 15px;
    /* ←右端からの距離 */
    width: 50px;
    /* ←横幅 */
    height: 50px;
    /* ▼最初は非表示にしておく */
    display: none;
    /* ▼配色・配置・文字の装飾など */
    background: #4C4C4C;
    box-sizing: border-box;
    behavior: url("../PIE.htc");
    opacity: 0.85;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    text-align: center;
    font-size: 124%;
    margin: 0px;
    padding: 10px;
    letter-spacing: 0.1em;
    z-index: 3000;
    line-height: 100%;
    border: 1px solid #000;
}

#topbutton a {
    color: white;
    text-decoration: none;
    width: 50px;
    margin-left: -10px;
    margin-bottom: -10px;
    display: block;
    height: 50px;
}

#topbutton:hover {
    text-decoration: none;
    background: #000000;
    -webkit-transition: background-color .35s ease-out, color .35s ease-out;
    transition: background-color .35s ease-out, color .35s ease-out;
    border: 1px solid #000;
}


/* footer */

#footer {
    background: #6BBF67;
    clear: both;
    width: 100%;
    line-height: 1.5em;
    margin: 0 auto;
    -webkit-text-size-adjust: 100%!important;
}

#footer footer ul {
    display: inline-block;
    margin-top: 20px;
}

#footer footer ul li span {
    padding-left: 20px;
    padding-right: 20px;
    color: #FFF;
    text-shadow: 0px 2px 3px #000000;
}

#footer footer ul li a {
    color: #FFF;
    text-decoration: none;
    letter-spacing: 0.075em;
    font-family: "NotoSansCJKjp-Light", sans-serif!important;
    transition: color 0.2s;
    text-shadow: 0px 2px 3px #000000;
}

#footer footer ul li a:hover {
    color: #000;
    text-shadow: none;
    font-family: "NotoSansCJKjp-Regular", sans-serif!important;
}

#copyright {
    clear: both;
    width: 100%;
    margin: 0px auto 0;
    height: 20px;
    text-align: center;
    padding-top: 10px;
}


/*■■■■■■■■■■■■■■■■■■■■■■
　　スマホ設定
■■■■■■■■■■■■■■■■■■■■■■*/


/*------------------------------------------
■ 自動で角丸グラデーション回避
------------------------------------------*/

input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}


/*------------------------------------------
■ ヘッダーエリア
------------------------------------------*/

#header-top {
    width: 100%;
    position: relative;
    margin: 0 auto;
    margin-bottom: 5px;
    background: #fff;
}

#header-top ul li:first-child a {
    display: block;
    margin-top: 10px;
    margin-left: 10px;
}

#header-top ul li:first-child a img {
    width: 110px;
    height: 29px;
}

@media only screen and (max-width: 400px) {
    #header-top ul li:first-child a img {
        width: 90px;
        height: 24px;
    }
    #header-top ul li:nth-child(2) {
        margin-left: 15px !important;
    }
    #header #header-top ul li h1 {
        width: 210px !important;
        letter-spacing: 0em !important;
        font-size: 9px !important;
    }
}

#header-top ul li:nth-child(2) {
    margin-top: 5px;
    margin-left: 20px;
}

#header #header-top ul li:nth-child(3) {
    display: none;
}

#header #header-top ul li h1 {
    width: 230px;
    font-size: 10px;
}

#header #header-top ul li h1 span {
    display: none;
}


/* globalnavigation */

#globalnavi,
ul.gNavi {
    display: none;
}


/* keyvisual */

#keyvisual h2 {
    width: 100%;
    margin: 0 auto;
    z-index: 1;
    padding-top: 0px;
    padding-bottom: 10px;
    position: relative;
}

#keyvisual section h2 img {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

#keyvisual section a img {
    width: 200px;
    height: 28px;
}

#keyvisual section a {
    margin: 0 auto;
    display: block;
    padding-bottom: 10px;
}


/* fixed */

ul#fixbtn {
    display: none;
}

.fixed+#keyvisual {
    /* Fixed固定ナビ差分 */
    margin-top: 62px;
}


/*------------------------------------------
■ コンテンツエリア
------------------------------------------*/


/* contents */

.telbox,
.aboutbox,
.greetingbox,
.pricebox,
.flowbox,
.beforafterbox,
.contactbox,
.voicebox {
    background: #FFF;
    width: 100%;
    margin: 0 auto;
}
#rank {
    background: #5DAF59;
}
#case {
    background: #3C9FD8;
}


/* h2 */

#case h2,
#tel h2,
#rank h2,
#about h2,
#greeting h2,
#price h2,
#beforafter h2,
#contact h2,
#voice h2 {
    width: 100%;
    height: 45px;
    display: block;
    color: #FFF;
    display: table;
    text-align: center;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: 0.06em;
    font-size: 102%;
    font-family: "NotoSansCJKjp-Medium", sans-serif;
}
#flow h2 {
    width: 100%;
    height: 45px;
    display: block;
    color: #4A494A;
    display: table;
    text-align: center;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: 0.06em;
    font-size: 102%;
    font-family: "NotoSansCJKjp-Medium", sans-serif;
}

#tel h2,#contact h2 {
    color: #4A494A;
}


/* h2 span */

#case h2 span,
#tel h2 span,
#rank h2 span,
#about h2 span,
#greeting h2 span,
#price h2 span,
#flow h2 span,
#beforafter h2 span,
#contact h2 span,
#voice h2 span {
    margin-top: 10px;
    display: block;
}


/* case h3 */

.casebg h3 {
    background: url("../img/check_nav_lg.jpg") no-repeat;
    background-size: 20px 20px;
    background-position: 0px 4px;
    width: 100%;
    height: 20px;
    display: block;
    margin: 0 auto;
    margin-bottom: 15px;
    margin-left: 20px;
    color: #FFF;
    padding-bottom: 15px;
    font-size: 93%;
}

#price h3 {
    color: #4A494A;
    font-size: 105%;
    padding: 10px;
}

/* case background */

.casebg span,
.rankbg span,
.contactbg span {
    display: block;
    margin-left: 30px;
    font-size: 93%;
    line-height: 1.8;
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
}


/* case p */

#case p,
#rank p.rankpink,
#about p.blue,
#greeting p,
#price p {
    width: 100%;
    padding: 5px 0px;
}

#price p {
    border: 1px solid #4A494A;
    padding: 10px;
    margin: 20px;
    width: 85%;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

#case p span,
#rank p span,
#about p.blue span,
#greeting p span,
#price p span {
    width: 100%;
    display: block;
    padding: 10px 0px;
    font-size: 103%;
    line-height: 1.6;
    color: #474749;
    text-shadow: 0px 1px 2px #FFF;
    letter-spacing: 0.05em;
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
}


/* telbox */

.telbox ol {
    padding: 10px 20px;
}

.telbox ol li:first-child {
    width: 30%;
}

.telbox ol li:nth-child(2),
.telbox ol li:nth-child(3) {
    width: 62%;
}

.telbox ol li:nth-child(4) {
    width: 70%;
    padding: 0% 15% 20px 15%;
}

.telbox ol li:first-child img {
    width: 100%;
    height: auto;
}

.telbox ol li:nth-child(2) {
    margin-left: 10px;
    padding-top: 8px;
    padding: 5px;
    font-size: 93%;
    font-family: "NotoSansCJKjp-Medium", sans-serif;
    color: #474749;
    line-height: 1.8;
}

.telbox ol li:nth-child(3) img {
    width: 95%;
    height: auto;
}

.telbox ol li:nth-child(3),
.telbox ol li:nth-child(4) {
    margin: 0 auto;
    float: none;
}

.telbox ol li:nth-child(4) {
    margin: 0 auto;
}

.telbox ol li:nth-child(4) img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

#tel a.formlink {
    background: #5582B8;
    width: 92%;
    text-align: center;
    margin: 0 4%;
    padding: 5px 0px;
    display: block;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    transition: background-color 0.8s;
}

#tel a.formlink span {
    width: 100%;
    display: block;
    padding: 8px 0px;
    border-top: 1px dotted #5977BA;
    border-bottom: 1px dotted #5977BA;
    background: url(../img/form_icon.png) no-repeat;
    background-size: 30px 33px;
    background-position: 10px 0px;
    font-size: 108%;
    line-height: 1.5;
    color: #FFF;
    text-shadow: 0px 1px 2px #000000;
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
}

.rankbg h3:first-child {
    background: url("../img/number_1_green.png") no-repeat;
    background-size: 20px 20px;
    background-position: 0px 4px;
    width: 90% !important;
}

.rankbg h3:nth-child(2) {
    background: url("../img/number_2_green.png") no-repeat;
    background-size: 20px 20px;
    background-position: 0px 4px;
    width: 90% !important;
}

.rankbg h3:nth-child(3) {
    background: url("../img/number_3_green.png") no-repeat;
    background-size: 20px 20px;
    background-position: 0px 4px;
    width: 90% !important;
}

.rankbg h3:nth-child(4) {
    background: url("../img/number_4_green.png") no-repeat;
    background-size: 20px 20px;
    background-position: 0px 4px;
    width: 90% !important;
}

.rankbg h3:nth-child(5) {
    background: url("../img/number_5_green.png") no-repeat;
    background-size: 20px 20px;
    background-position: 0px 4px;
    width: 90% !important;
}

.flowbg h3:first-child {
    background: url("../img/step1.png") no-repeat;
    background-size: 60px 22px;
    background-position: 0px 4px;
    width: 90% !important;
}

.flowbg h3:nth-child(3) {
    background: url("../img/step2.png") no-repeat;
    background-size: 60px 22px;
    background-position: 0px 4px;
    width: 90% !important;
}

.flowbg h3:nth-child(5) {
    background: url("../img/step3.png") no-repeat;
    background-size: 60px 22px;
    background-position: 0px 4px;
    width: 90% !important;
}

.flowbg h3:nth-child(7) {
    background: url("../img/step4.png") no-repeat;
    background-size: 60px 22px;
    background-position: 0px 4px;
    width: 90% !important;
}

.rankbg h3 {
    width: 100%;
    height: 20px;
    display: block;
    margin: 0 auto;
    margin-bottom: 15px;
    margin-left: 20px;
    color: #FFF;
    border-bottom: 1px dotted #FFF;
    padding-bottom: 15px;
    font-size: 100%;
}

.flowbg h3,
.contactbg h3 {
    width: 100%;
    height: 20px;
    display: block;
    margin: 0 auto;
    margin-bottom: 15px;
    margin-left: 20px;
    color: #666766;
    border-bottom: 1px dotted #C6C6C5;
    padding-bottom: 15px;
    font-size: 108%;
}

.rankbg p {
    width: 92%;
    font-family: "NotoSansCJKjp-Regular", sans-serif;
    margin: 0 4%;
    margin-bottom: 30px;
    color: #FFF;
    font-size: 93%;
    text-align: justify;
    text-justify: inter-ideograph;
}

.aboutbg .ml40 img {
    width: 95%;
    height: auto;
}

.aboutbg p.pb30 {
    font-size: 73%;
}

.aboutbg p img {
    width: 96%;
    height: auto;
}

.aboutbg .ml40,
.aboutbox .ml40 {
    margin-left: 20px !important;
}

.aboutbg p.conts {
    width: 90%;
    display: block;
    margin-left: 20px;
    padding-top: 15px;
    font-size: 93%;
    letter-spacing: 0em;
    line-height: 2;
    font-family: "NotoSansCJKjp-Regular", sans-serif;
    text-align: justify;
    text-justify: inter-ideograph;
}

.greetingbg ul li:first-child {
    float: none !important;
}

.greetingbg ul li img {
    margin: 0 auto;
    text-align: center;
    display: block;
}

.greetingbg ul li:nth-child(2) {
    margin-left: 2.5%;
    margin-right: 2.5%;
    margin-top: 20px;
    font-size: 108%;
    letter-spacing: 0.075em;
    text-shadow: 0px 2px 0px #FFF;
    line-height: 1.8;
}

.balloon {
    background-color: #F9F4F5;
    position: relative;
    display: inline-block;
    padding: 15px 15px;
    width: auto;
    min-width: 115px;
    line-height: 32px;
    text-align: center;
    z-index: 0;
}

#balloon:before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    margin-left: -9px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 9px 9px 9px;
    border-color: transparent transparent #F6F6F6 transparent;
    z-index: 0;
}

.balloon:after {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #F9F4F5 transparent;
    z-index: -1;
}


/* table */

table {
    width: 100%;
    padding: 0 4% 20px 4%;
    margin-top: 20px;
}

th,
td {
    padding: 20px;
    border: 1px solid #E4F2F9;
    letter-spacing: 0em !important;
}

th {
    background: #E5E5E5;
}

.label {
    background: #4A494A;
    padding: 5px;
    color: #FFF;
    padding-left: 15px;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.responsive th {
    width: 60%;
    text-align: left;
    background: #F7F7F7 !important;
}

.responsive td {
    width: 40%;
    text-align: left;
    font-size: 131%;
}

.responsive td span {
    font-size: 76%;
}

.responsive td strong {
    color: #FF0000;
    font-family: "NotoSansCJKjp-Bold", sans-serif;
}

@media only screen and (max-width: 480px) {
    /*.responsive { margin: 0 -10px; }*/
    .responsive tr {
        display: block;
        margin-bottom: 10px;
    }
    .responsive th {
        display: block;
        width: 88%;
        font-size: 93%;
    }
    .responsive td {
        display: list-item;
        width: 90%;
        margin-left: 10%;
        border: none;
        padding: 5px;
        font-size: 93%;
    }
}

.flowbg span {
    display: block;
    margin-left: 70px;
    letter-spacing: 0.03em;
    line-height: 1.8;
    font-weight: bold;
    font-size: 100%;
    width: 60% !important;
    padding-top: 2px;
}

.flowbg p {
    width: 60% !important;
    margin-left: 20px;
    font-size: 93%;
    letter-spacing: 0.03em;
    line-height: 1.8;
    padding-bottom: 20px;
    font-family: "NotoSansCJKjp-Regular", sans-serif;
}

.flowbg {
    background: url("../img/flow_lg.png") no-repeat;
    background-position: right top;
    background-size: 120px 423px;
}

.beforafterbg h3 {
    width: 90%;
    display: block;
    margin: 0 auto;
    margin-bottom: 15px;
    margin-left: 20px;
    color: #3C9FD8;
    border-bottom: 1px dotted #C6C6C5;
    padding-bottom: 15px;
    font-size: 108%;
    font-weight: bold;
}

.beforafterbg p {
    width: 90%;
    margin-left: 20px;
    font-size: 100%;
    letter-spacing: 0.03em;
    line-height: 1.8;
    padding-bottom: 20px;
    font-family: "NotoSansCJKjp-Regular", sans-serif;
    font-size: 93%;
}

.beforafterbg p:nth-child(3) img {
    width: 96%;
    height: auto;
}

.beforafterbg p:nth-child(6) img {
    width: 96%;
    height: auto;
}

.beforafterbg p:nth-child(13) img {
    width: 96%;
    height: auto;
}

#price p span,
#greeting p span {
    padding: 20px 10%;
    width: 80%;
    text-align: justify;
    text-justify: inter-ideograph;
}

.voice_set {
    border-radius: 10px;
    margin: 0 auto 40px;
    padding: 20px;
    background: #FFFFFF;
    font-size: 93%;
    text-align: justify;
    text-justify: inter-ideograph;
}

.voice_set p:nth-child(2) {
    font-size: 116%;
    font-weight: bold;
    letter-spacing: 0em;
    font-family: "NotoSansCJKjp-Bold", sans-serif;
    margin-bottom: 15px;
    color: #4A494A;
}

.voice_set img {
    width: 120px;
    height: 150px;
}

#contsform {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 30px;
    background: #F7F7F7;
}

#contsform strong {
    width: 100%;
    height: 679px;
    overflow: hidden;
    display: block;
}

#contsform h2 {
    display: block;
    width: 100%;
    font-size: 131%;
    color: #2A2B2B;
    font-family: "NotoSansCJKjp-Medium", sans-serif!important;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0.15em;
    padding: 20px 0px;
}

#contsform h2 a img {
    width: 230px;
    height: 61px;
}

#contsform ol li:first-child {
    color: #FFF;
    width: 230px;
    margin: 0 auto;
    letter-spacing: 0em;
    border-radius: 4px;
    font-size: 86%;
}

#contsform ol li:nth-child(2) a img {
    width: 230px;
    height: 82px;
}

#footer footer {
    width: 100%;
    height: 30px;
    margin: 0 auto;
    text-align: center;
}

#copyright h2 {
    color: #FFF;
    font-size: 65% !important;
    letter-spacing: 0.075em;
}
