@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

@font-face{
  font-family: 'mplus-1c';
  font-weight: 400;
  src: url('../font/mplus-1c-regular.eot');
  src: url('../font/mplus-1c-regular.eot?#iefix') format('embedded-opentype'),
       url('../font/mplus-1c-regular.woff') format('woff'),
       url('../font/mplus-1c-regular.ttf') format('truetype');
}
@font-face{
  font-family: 'mplus-1c';
  src: url('../font/mplus-1c-medium.eot');
  src: url('../font/mplus-1c-medium.eot?#iefix') format('embedded-opentype'),
       url('../font/mplus-1c-medium.woff') format('woff'),
       url('../font/mplus-1c-medium.ttf') format('truetype');
  font-weight: 500;
}
@font-face{
  font-family: 'mplus-1c';
  font-weight: 700;
  src: url('../font/mplus-1c-heavy.eot');
  src: url('../font/mplus-1c-heavy.eot?#iefix') format('embedded-opentype'),
       url('../font/mplus-1c-heavy.woff') format('woff'),
       url('../font/mplus-1c-heavy.ttf') format('truetype');
}
@font-face{
  font-family: 'mplus-1c';
  font-weight: 900;
  src: url('../font/mplus-1c-bold.eot');
  src: url('../font/mplus-1c-bold.eot?#iefix') format('embedded-opentype'),
       url('../font/mplus-1c-bold.woff') format('woff'),
       url('../font/mplus-1c-bold.ttf') format('truetype');
}

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: 400;
	font-family: 'mplus-1c',"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color:#2d2d2d;
	font-size: 1.4rem;
	letter-spacing: -0.03em;
	line-height: 1.6;
}

input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: 'mplus-1c',"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}

body a {
	text-decoration:none;
	color:#2d2d2d;
}
body{
	min-width: 1000px;
}

img{
	vertical-align: bottom;
	max-width: 100%;
}

*,*:after,*:before{
	box-sizing: border-box;
}

.fade:hover,a:hover{
	opacity: 0.7;
}
.fade,a{
	transition: opacity 0.3s ease-out;
}

.wrap{
	width: 1000px;
	margin: 0 auto;
}

.mp1{font-family: 'M PLUS 1p', sans-serif;}


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

    main

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

main{
	display: block;
	position: relative;
}

.bg01{
	background: url(../img/bg01.jpg);
	background-size: 24px;
}

.l_ttl{
	font-size: 4.6rem;
	font-weight: 900;
	color: #fff;
	text-align: center;
	line-height: 100px;
	height: 100px;
	background: #2d2d2d;
}
.l_ttl.green{
	color: #fff;
	background: #01aeaf;
}

.green_s_ttl{
	text-align: center;
}
.green_s_ttl span{
	font-size: 4.6rem;
	line-height: 80px;
	height: 80px;
	color: #fff;
	font-weight: 900;
	padding: 0 35px;
	display: inline-block;
	background: #01aeaf;
	position: relative;
}
.green_s_ttl span::before,
.green_s_ttl span::after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0;
	height: 0;
	margin: auto 0;
	border: 0px solid transparent;
}
.green_s_ttl span::before{
	left: -30px;
	border-top: 80px solid transparent;
	border-right: 30px  solid #01aeaf;
}
.green_s_ttl span::after{
	right: -30px;
	border-left: 30px solid #01aeaf;
	border-bottom: 80px solid transparent;
}
.green{
	color: #01aeaf;
}
.yellow{
	color: #fcee21;
}
.red{
	color: #ff3100;
}
strong{
	font-weight: 900;
}

/*-------------------
	header
-------------------*/

header{
	position: absolute;
	top: 8px;
	left: 0;
	right: 0;
	margin: auto;
}
header .logo{
	max-width: 337px;
	position: relative;
    z-index: 1;
}


/*-------------------
	fv
-------------------*/

#fv{
	background: url(../img/fv_bg01.png) no-repeat center bottom;
	background-size: 1325px;
	padding-top: 8px;
}
#fv .list{
	position: relative;
	z-index: 1px;
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}
#fv .list li{
	width: 33%;
	max-width: 320px;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.2);
	background: #fff;
}
#fv .list li .ttl{
	text-align: center;
	background: #3a3a3a;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#fv .list li .ttl img{
	max-width: 271px;
}
#fv .list li .whitebox{
	padding: 15px 20px 12px;
}
#fv .list li .whitebox .img{
	max-width: 141px;
	margin: auto;
}
#fv .list li .whitebox .txt{
	font-size: 1.6rem;
	text-align: center;
	font-weight: 700;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 15px;
}


/*-------------------
	opt
-------------------*/

.opt{
	padding: 30px 0 25px;
	background: #01aeaf;
}
.opt .chui{
	font-size: 2rem;
	text-align: center;
	font-weight: 700;
	color: #ff3100;
	background: #ffff00;
	padding: 5px 0;
}
.opt .chui span{
	display: inline-block;
	padding-left: 35px;
	position: relative;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
.opt .chui span::before{
	content: '';
	position: absolute;
	top: 50%;
    left: 0;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	width: 27px;
	height: 25px;
	background: url(../img/opt_icon01.png) no-repeat center center;
	background-size: contain;
}
.opt .flexbox{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 8px;
}
.opt .left{
	width: 509px;
}
.opt .left .pdf{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 10px;
}
.opt .left .txtimg01{
	max-width: 364px;
}
.opt .left .txtwrap{
	display: flex;
	align-items: flex-start;
	margin-top: 10px;
}
.opt .left .txtwrap .txtimg02{
	max-width: 64px;
}
.opt .left .txtwrap .txt{
	font-size: 1.8rem;
	line-height: 1.2;
	color: #fff;
	font-weight: 900;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-left: 10px;
}
.opt .left .pdf .img{
	width: 114px;
}
.opt .right{
	width: 450px;
}
.opt .right .tel{
	margin-bottom: 8px;
	margin-top: -3px;
}
.opt .right .txt{
	font-size: 2rem;
	line-height: 1.4;
	color: #fff;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
.opt .right .tel-link{
	margin-top: 5px;
	max-width: 442px;
}
.opt .right .open{
	font-size: 1.6rem;
	color: #fff;
	text-align: right;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 3px;
}
#fv+.opt{
	padding-top: 60px;
	margin-top: -40px;
}


/*-------------------
	trouble
-------------------*/

#trouble{
	padding: 80px 0 120px;
	background: url(../img/trouble_bg01.jpg) repeat;
	background-size: 139px;
}
#trouble .wrap{
	position: relative;
}
#trouble .ttl{
	max-width: 705px;
	margin: auto;
}
#trouble .img{
	max-width: 1023px;
	width: 103%;
	margin-top: 30px;
}
#trouble .txt{
	max-width: 758px;
	margin: 20px auto 0;
}
#trouble .arrow{
	position: absolute;
	bottom: -180px;
	left: 0;
	right: 0;
	margin: auto;
	width: 473px;
}


/*-------------------
	advice
-------------------*/

#advice{
	padding-top: 50px;
}
#advice .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#advice .img{
	max-width: 308px;
	margin-left: -5px;
}
#advice dl{
	border: 5px solid #01aeaf;
	max-width: 685px;
	margin-top: -30px;
}
#advice dl dt{
	background: #01aeaf;
	text-align: right;
	position: relative;
	padding: 10px 20px;
}
#advice dl dt::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    width: 95px;
    height: 95px;
    background: url(../img/advice_icon01.png) no-repeat center center;
    background-size: contain;
}
#advice dl dt img{
	max-width: 542px;
}
#advice dl dd{
	padding: 30px 25px 25px;
	background: #fff;
}
#advice dl dd p{
	font-size: 1.8rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}


/*-------------------
	importance
-------------------*/

#importance{
	padding: 65px 0;
	background: url(../img/importance_bg01.jpg) no-repeat top center;
	background-size: 100%;
}
#importance .ttl{
	font-size: 4.6rem;
	line-height: 1.3;
	text-align: center;
	font-weight: 900;
	color: #01aeaf;
	padding: 25px 0;
	border-top: 2px solid #01aeaf;
	border-bottom: 2px solid #01aeaf;
	text-shadow: 0 0 5px rgba(255,255,255,0.75);
}
#importance .txt{
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 35px;
}
#importance .whitebox{
	padding: 40px 40px;
	margin-top: 30px;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
}
#importance .whitebox .flexbox{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#importance .whitebox .txtwrap{
	width: 552px;
}
#importance .whitebox .txtwrap p{
	font-size: 1.6rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#importance .whitebox .txtwrap p+p{
	margin-top: 20px;
}
#importance .whitebox .imgwrap{
	width: 328px;
}
#importance .whitebox .imgwrap p+p{
	margin-top: 10px;
}
#importance .point{
	padding: 25px 0 20px;
	margin-top: 30px;
	background:-webkit-gradient(linear, left top, right top, from(#ff6a00), to(#ff3100));
	background:-webkit-linear-gradient(left, #ff6a00, #ff3100);
	background:-moz-linear-gradient(left, #ff6a00, #ff3100);
	background:-o-linear-gradient(left, #ff6a00, #ff3100);
	background:linear-gradient(to right, #ff6a00, #ff3100);
}
#importance .point .img{
	max-width: 404px;
	margin: auto;
}
#importance .point .txt{
	font-size: 1.8rem;
	color: #fff;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 10px;
}
#importance .txtimg{
	max-width: 939px;
	margin: 40px auto 0;
}
#importance .lasttxt{
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 15px;
}


/*-------------------
	features
-------------------*/

#features{
	background: #e9fffe;
	padding: 72px 0;
}
#features .list{
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#features .list::after{
	content: '';
	display: block;
	width: 33%;
	max-width: 320px;
}
#features .list li{
	width: 33%;
	max-width: 320px;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.2);
	background: #fff;
}
#features .list li:nth-child(n+4){
	margin-top: 28px;
}
#features .list li .ttl{
	font-size: 2.4rem;
	line-height: 60px;
	font-weight: 900;
	text-align: center;
	color: #fff;
	background: #3a3a3a;
	position: relative;
	padding-left: 60px;
	height: 60px;
}
#features .list li .ttl .num{
	font-size: 2.5rem;
	text-align: center;
	color: #fff;
	width: 60px;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.21);
}
#features .list li .whitebox{
	padding: 25px 22px;
}
#features .list li .whitebox .img{
	max-width: 182.5px;
	text-align: center;
	margin: 0 auto 10px;
}
#features .list li .whitebox .txt{
	font-size: 1.6rem;
	font-weight: 700;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#features .lasttxt{
	max-width: 745px;
	margin: 38px auto 0;
}


/*-------------------
	intro
-------------------*/

#intro{
	background: #f4f4f4;
}
#intro .wrap{
	padding: 35px 0 60px;
}
#intro .s_ttl1{
	font-size: 2.8rem;
	font-weight: 900;
	text-align: center;
}
#intro .s_ttl1 span{
	display: inline-block;
	position: relative;
}
#intro .s_ttl1 span::before,
#intro .s_ttl1 span::after{
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    width: 76px;
    height: 2px;
    background: #000000;
}
#intro .s_ttl1 span::before{
	left: -85px;
}
#intro .s_ttl1 span::after{
	right: -85px;
}
#intro .firsttxt{
	font-size: 1.6rem;
	text-align: center;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 15px;
}
#intro .whitebox{
	margin-top: 30px;
	padding: 35px 0 35px;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
}
#intro .boxinner{
	padding: 25px 40px 0;
}
#intro .boxttl span{
	font-size: 2.8rem;
	line-height: 50px;
	height: 50px;
	color: #fff;
	padding-left: 110px;
	font-weight: 900;
	width: 400px;
	display: inline-block;
	background: #01aeaf;
	position: relative;
}
#intro .boxttl span::after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0;
	height: 0;
	margin: auto 0;
	border: 0px solid transparent;
}
#intro .boxttl span::after{
	right: -30px;
	border-left: 30px solid #01aeaf;
	border-bottom: 50px solid transparent;
}
#intro .boxttl span::before{
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	left: 15px;
	width: 78px;
	height: 78px;
}
#intro .box01 .boxttl span::before{
	background: url(../img/intro_box01_icon01.png) no-repeat center center;
	background-size: contain;
}
#intro .box02 .boxttl span::before{
	background: url(../img/intro_box02_icon01.png) no-repeat center center;
	background-size: contain;
}
#intro .box03 .boxttl span::before{
	background: url(../img/intro_box03_icon01.png) no-repeat center center;
	background-size: contain;
}
#intro .box04 .boxttl span::before{
	background: url(../img/intro_box04_icon01.png) no-repeat center center;
	background-size: contain;
}
#intro .flexbox{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#intro .flexbox.reverse{
	flex-direction: row-reverse;
}
#intro .flexbox .txtwrap{
	width: 535px;
}
#intro .flexbox .txtwrap p{
	font-size: 1.6rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#intro .flexbox .txtwrap p+p{
	margin-top: 20px;
}
#intro .flexbox .img{
	width: 345px;
}
#intro .box_firsttxt{
	font-size: 1.6rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#intro .world{
	border: 2px solid #01aeaf;
	border-radius: 10px;
	overflow: hidden;
	margin-top: 20px;
}
#intro .world li+li{
	border-top: 2px solid #01aeaf;
}
#intro .world li dl{
	display: flex;
}
#intro .world li dl dt{
	width: 161px;
	background: #e9fffe;
	display: flex;
	align-items: center;
	justify-content: center;
}
#intro .world li dl dt img{
	display: block;
	max-width: 110px;
	margin: auto;
}
#intro .world li dl dt .name{
	font-size: 1.6rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
	display: block;
	width: 100px;
	margin: 10px auto 0;
	border-radius: 25px;
	background: #01aeaf;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#intro .world li dl dd{
	padding: 20px 25px;
	width: calc(100% - 161px);
}
#intro .world li dl dd p{
	font-size: 1.4rem;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#intro .flexbox .graybox{
	padding: 10px 30px;
	background: #f4f4f4;
	margin-top: 10px;
}
#intro .flexbox .graybox ul li{
	font-size: 1.4rem;
	font-weight: 400;
	padding-left: 1em;
	text-indent: -1em;
}
#intro .note{
	font-size: 1.4rem;
	padding-left: 1em;
	text-indent: -1em;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 15px;
}
#intro .s_ttl2{
	font-size: 3.4rem;
	font-weight: 900;
	text-align: center;
	color: #01aeaf;
	position: relative;
    margin-top: 40px;
}
#intro .s_ttl2::before{
	content: '';
	width: 100%;
	height: 2px;
	background: #01aeaf;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}
#intro .s_ttl2 span{
	display: inline-block;
	background: #fff;
	padding: 0 10px;
	position: relative;
	z-index: 1;
}
#intro .s_ttl2_plan{
	text-align: center;
}
#intro .s_ttl2_plan span{
	font-size: 2.1rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
	display: inline-block;
	padding: 0 10px;
	margin: 10px auto 0;
	border-radius: 25px;
	background: #01aeaf;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#intro .standard{
	margin-top: 20px;
}
#intro .standard li{
	display: flex;
	justify-content: space-between;
}
#intro .standard li+li{
	margin-top: 5px;
}
#intro .standard .num{
	max-width: 125px;
	position: relative;
}
#intro .standard li:not(:last-child) .num::after{
	content: '';
	position: absolute;
	bottom: -22px;
	left: 0;
	width: 100%;
	height: 25px;
	background: url(../img/standard_bg01.png) no-repeat center top;
	background-size: contain;
}
#intro .standard dl{
	padding: 20px 30px;
	background: #f4f4f4;
	width: calc(100% - 125px - 5px);
}
#intro .standard dl dt span{
	font-size: 2.6rem;
	font-weight: 900;
	display: inline-block;
	position: relative;
	padding-left: 20px;
}
#intro .standard dl dt span::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	width: 4px;
	height: 4px;
	border: 13px solid transparent;
	border-left: 12px solid #01aeaf;
}
#intro .standard dl dd{
	margin-top: 3px;
}
#intro .standard dl dd p{
	font-size: 1.6rem;
	font-weight: 400;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#intro .tableimg{
	margin-top: 20px;
}
#intro .lasttxt{
	max-width: 955px;
	margin: 35px auto 0;
}


/*-------------------
	price
-------------------*/

#price{
	background: #e9fffe;
	padding: 72px 0;
}
#price .firsttxt{
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 40px;
}
#price .whitebox{
	margin-top: 60px;
	padding: 75px 40px 35px;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	position: relative;
}
#price .boxttl{
	text-align: center;
	position: absolute;
	top: -30px;
	left: 0;
	right: 0;
	margin: auto;
}
#price .boxttl span{
	font-size: 3.7rem;
	font-weight: 900;
	color: #fff;
	border-radius: 10px;
	text-align: center;
	padding: 2px 25px;
	display: inline-block;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	background: #2d2d2d;
	position: relative;
}
#price .boxttl span::after{
	content: '';
	position: absolute;
	bottom: -23px;
	left: 0;
	right: 0;
	margin: auto;
	width: 4px;
	height: 4px;
	border: 10px solid transparent;
	border-top: 14px solid #2d2d2d;
	-webkit-transform: rotate(-0.028deg);
	transform: rotate(-0.028deg);
}
#price .plan+.plan{
	margin-top: 30px;
	padding-top: 30px;
	border-top: 2px dashed #bababa;
}
#price .flexbox{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#price .left{
	width: 425px;
}
#price .planttl{
	margin-bottom: 20px;
}
#price .planttl span{
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 45px;
	color: #fff;
	height: 45px;
	background: #ff931e;
	display: inline-block;
	padding: 0 20px 0 30px;
	position: relative;
}
#price .planttl span::after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0;
	height: 0;
	margin: auto 0;
	border: 0px solid transparent;
	right: -30px;
	border-left: 30px solid #ff931e;
	border-bottom: 45px solid transparent;
}
#price .planttl.osusume span{
	padding-left: 80px;
}
#price .planttl.osusume span::before{
	content: '';
	position: absolute;
	top: 50%;
    left: 10px;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	width: 63px;
	height: 64px;
	background: url(../img/price_icon01.png) no-repeat center center;
	background-size: contain;x
}
#price .right.table{
	width: 442px;
	padding: 20px 20px;
	background: #f4f4f4;
}
#price .right.table p{
	font-size: 1.8rem;
	font-weight: 700;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#price .right.table table{
	width: 100%;
}
#price .right.table table th,
#price .right.table table td{
	font-size: 1.4rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#price .right.table table td{
	text-align: right;
}
#price .right.greentxt{
	width: 420px;
	position: relative;
}
#price .right.greentxt::before{
	content: '';
	position: absolute;
	top: 50%;
	left: -63px;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	width: 46px;
	height: 46px;
	background: url(../img/price_icon02.png) no-repeat center center;
	background-size: contain;
}
#price .right.greentxt p{
	font-size: 3.7rem;
	text-align: center;
	color: #fff;
	line-height: 96px;
	font-weight: 900;
	background: #01aeaf;
	width: 100%;
	height: 96px;
}
#price .right.greentxt p.big{
	font-size: 5rem;
}
#price .txt{
	font-size: 1.6rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 15px;
}
#price dl{
	display: flex;
	background: #fffed2;
	margin-top: 15px;
}
#price dl dt{
	width: 170px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ff931e;
	font-size: 1.8rem;
	font-weight: 900;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#price dl dd{
	width: calc(100% - 170px);
	display: flex;
	align-items: center;
	padding: 20px 20px;
}
#price dl dd ul.col2{
	display: flex;
	flex-wrap: wrap;
}
#price dl dd ul li{
	font-size: 1.4rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#price dl dd ul.col2 li{
	width: 40%;
}
#price dl.dl_gray{
	background: #f4f4f4;
	padding: 20px 0;
}
#price dl.dl_gray dt{
	color: #000;
	background: #f4f4f4;
	align-items: flex-start;
}
#price dl.dl_gray dd{
	align-items: flex-start;
	padding: 0;
}
#price .graybox{
	background: #f4f4f4;
	padding: 20px;
	margin-top: 35px;
}
#price .graybox p{
	font-size: 1.4rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#price .graybox ul li{
	font-size: 1.4rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	padding-left: 1.2em;
	text-indent: -1.2em;
}

/*-------------------
	present
-------------------*/

#present {
	padding: 40px 0;
	background: #00aeaf;
}
#present .whitebox{
	padding: 25px 34px 20px;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	position: relative;
	max-width: 925px;
	margin: auto;
}
#present .whitebox .txt{
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 15px;
}
#present .strongtxt{
	font-size: 2.4rem;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	font-weight: 900;
	margin-top: 30px;
}
#present .strongtxt .yellow{
	font-size: 1.3em;
}
#present .chui{
	font-size: 2rem;
	text-align: center;
	font-weight: 700;
	color: #ff3100;
	background: #ffff00;
	padding: 5px 0;
	margin-top: 30px;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.14);
	position: relative;
	z-index: 1;
}
#present .chui span{
	display: inline-block;
	padding-left: 35px;
	position: relative;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#present .chui span::before{
	content: '';
	position: absolute;
	top: 50%;
    left: 0;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
	width: 27px;
	height: 25px;
	background: url(../img/opt_icon01.png) no-repeat center center;
	background-size: contain;
}
#present .whitebox2{
	padding: 15px 30px 20px;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	position: relative;
	margin: auto;
}
#present .whitebox2 .txt{
	font-size: 2rem;
	text-align: center;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#present .whitebox2 .flexbox{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
}
#present .whitebox2 .flexbox .left{
	width: 447px;
}
#present .whitebox2 .flexbox .left .open{
	font-size: 1.6rem;
	text-align: right;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	margin-top: 5px;
}
#present .whitebox2 .flexbox .btn{
	width: 450px;
}


/*-------------------
	example
-------------------*/

#example{
	padding: 70px 0;
}
#example .casettl{
	margin-top: 40px;
}
#example .casettl .in{
	font-size: 2.4rem;
	line-height: 50px;
	font-weight: 900;
	color: #fff;
	height: 50px;
	display: inline-block;
	background: #2d2d2d;
	position: relative;
}
#example .casettl .in::after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0;
	height: 0;
	margin: auto 0;
	border: 0px solid transparent;
	right: -30px;
	border-left: 30px solid #2d2d2d;
	border-top: 50px solid transparent;
}
#example .casettl .num{
	display: inline-block;
	text-align: center;
	width: 120px;
	margin-right: 18px;
	background: rgba(255,255,255,0.18);
}
#example .whitebox{
	padding: 35px 40px 35px;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	position: relative;
}
#example .whitebox .img{
	max-width: 320px;
	float: right;
	margin-left: 40px;
	margin-bottom: 40px;
}
#example .whitebox .case_subttl{
	font-size: 2.4rem;
	font-weight: 900;
	color: #01aeaf;
	padding-bottom: 5px;
	border-bottom: 3px solid #01aeaf;
	margin-bottom: 30px;
}
#example .whitebox p{
	font-size: 1.6rem;
	font-weight: 500;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}
#example .whitebox p:not(.img)+p:not(.result){
	margin-top: 10px;
}
#example .whitebox p:not(.img)+p.label{
	margin-top: 30px;
}
#example .whitebox p.result{
	padding-left: 2em;
	text-indent: -2em;
}
#example .whitebox .label span{
	font-size: 1.8rem;
	color: #fff;
	font-weight: 500;
	padding:  3px 15px;
	background: #2d2d2d;
	display: inline-block;
}
#example .lasttxt{
	margin: 35px auto 0;
	max-width: 900px;
}

/*-------------------
	faq
-------------------*/

#faq .wrap{
	padding: 40px 0 70px;
}
#faq dl{
	padding: 15px 30px 25px;
	border: 3px solid #bababa;
}
#faq dl+dl{
	margin-top: 17px;
}
#faq dl dt{
	font-size: 2.1rem;
	font-weight: 700;
	padding: 15px 0 15px 55px;
	position: relative;
}
#faq dl dt:before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 36px;
	height: 36px;
	background: url(../img/faq_icon01.png) no-repeat center center;
	background-size: contain;
}
#faq dl dd{
	padding-top: 10px;
	border-top: 2px dashed #bababa;
}
#faq dl dd p{
	font-size: 1.6rem;
	font-weight: 400;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);;
}


/*-------------------
	consultation
-------------------*/

#consultation{
	background: #e9fffe;
	padding: 72px 0;
}
#consultation .firsttxt{
	font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
    margin-top: 40px;
}
#consultation dl{
	display: flex;
	align-items: stretch;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	position: relative;
	margin-top: 15px;
}
#consultation dl:not(:last-of-type):after{
	content: '';
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: url(../img/consultation_icon01.png) no-repeat center center;
	background-size: contain;
	width: 45px;
	height: 45px;
	z-index: 1;
}
#consultation dl dt{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ff931e;
	width: 210px;
	min-height: 185px;
}
#consultation dl dt img{
	max-width: 110px;
}
#consultation dl dd{
	padding: 20px 25px;
	width: calc(100% - 210px);
	min-height: 185px;
}
#consultation dl dd p{
	font-size: 1.6rem;
    font-weight: 500;
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
}
#consultation dl dd span{
	font-size: 2rem;
    font-weight: 900;
    display: block;
}
#consultation .lasttxt{
	max-width: 608px;
	margin: 40px auto 0;
}


/*-------------------
	company
-------------------*/

#company .wrap{
	padding: 40px 0 65px;
}
#company .whitebox{
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	position: relative;
	padding: 40px 30px;
}
#company .company{
	display: flex;
	justify-content: space-between;
}
#company .company .img{
	width: 370px;
}
#company .company table{
	width: 522px;
}
#company .company table th,
#company .company table td{
	font-size: 1.6rem;
	line-height: 1.4;
	vertical-align: top;
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
	padding-bottom: 4px;
}
#company .company table th{
	font-weight: 900;
	width: 154px;
}
#company .company table td{
	width: calc(100% - 154px);
}
#company .message{
	margin-top: 30px;
}
#company .message .mesttl{
	font-size: 3.6rem;
	line-height: 1.4;
	font-weight: 900;
	padding: 80px 0 80px 365px;
	background: url(../img/message_img01.png) no-repeat 80px bottom /213px,
				-webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#f2f2f2));
	background: url(../img/message_img01.png) no-repeat 80px bottom /213px,
	-webkit-linear-gradient(top, #cccccc, #f2f2f2);
	background: url(../img/message_img01.png) no-repeat 80px bottom /213px,
	-moz-linear-gradient(top, #cccccc, #f2f2f2);
	background: url(../img/message_img01.png) no-repeat 80px bottom /213px,
	-o-linear-gradient(top, #cccccc, #f2f2f2);
	background: url(../img/message_img01.png) no-repeat 80px bottom /213px,
	linear-gradient(to bottom, #cccccc, #f2f2f2);
}
#company .message .txtwrap{
	margin-top: 20px;
}
#company .message .txtwrap p{
	font-size: 1.6rem;
	font-weight: 500;
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
}
#company .message .txtwrap p+p{
	margin-top: 10px;
}


/*-------------------
	contact
-------------------*/

#contact{
	background: #f4f4f4;
}
#contact .wrap{
	padding: 40px 0 65px;
}
#contact .whitebox{
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	position: relative;
	padding: 40px 100px;
}
#contact .txt{
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
}
#contact .txt+.txt{
	margin-top: 10px;
}
#contact .musttxt{
	font-size: 1.4rem;
	text-align: right;
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
    margin-top: 25px;
}
#contact .must{
	font-size: 1.2rem;
	color: #e74345;
	font-weight: 400;
	vertical-align: top;
}
#contact table{
	width: 100%;
	border-collapse: collapse;
}
#contact table th{
	font-size: 1.6rem;
	font-weight: 900;
	width: 220px;
	padding-top: 13px;
	vertical-align: top;
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
}
#contact table th .must{
	margin-left: 5px;
}
#contact table th .in{
	display: inline-block;
	position: relative;
	padding-left: 14px;
}
#contact table th .in::before{
	content: '';
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 5px;
	border-radius: 3px;
	height: 1.2em;
	background: -webkit-gradient(linear, left top, left bottom, from(#ff3100), to(#ff6a00));
	background: -webkit-linear-gradient(top, #ff3100, #ff6a00);
	background: -moz-linear-gradient(top, #ff3100, #ff6a00);
	background: -o-linear-gradient(top, #ff3100, #ff6a00);
	background: linear-gradient(to bottom, #ff3100, #ff6a00);
}
#contact table td{
	width: calc(100% - 220px);
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
    padding: 7px 0;
}
#contact table td input[type="text"],
#contact table td textarea{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 0 10px;
	height: 40px;
	border: 3px solid #afafaf;
	width: 100%;
}
#contact table td textarea{
	padding: 10px 10px;
	min-height: 170px;
	resize: vertical;
}
#contact table td div+div{
	margin-top: 5px;
}
#contact table td.label{
	padding-top: 10px;
}
#contact label{
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 500;
	margin-right: 20px;
}
#contact label input{
	display: none;
}
#contact label span{
	padding-left: 24px;
	position: relative;
}
#contact label span::after,
#contact label span::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#contact label span.check-span::after{
	width: 18px;
	height: 18px;
	background: #d6d6d6;
}
#contact label span.check-span::before{
	margin-top: -7px;
	left: 5px;
	width: 7px;
	height: 11px;
	transform: rotate(40deg);
	border-bottom: 2px solid #000;
	border-right: 2px solid #000;
	opacity: 0;
	z-index: 2;
}
#contact label input:checked + span::before{
	opacity: 1;
}
#contact .submit{
	width: 450px;
	margin: 25px auto 0;
}
#contact .submit button{
	cursor: pointer;
}
#contact .submit button img{
	width: 100%;
}


/* ------------------------------
	footer
------------------------------ */

footer{
	padding: 18px 0;
	background: #2d2d2d;
}
footer .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
footer .copy{
	font-size: 1.4rem;
	color: #fff;
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
}
footer .link{
	display: flex;
}
footer .link li+li::before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 1em;
	background: #fff;
	margin: -2px 15px 0;
}
footer .link li{
    -webkit-transform: rotate(0.028deg);
    transform: rotate(0.028deg);
}
footer .link a{
	font-size: 1.6rem;
	color: #fff;
}



@media screen and (min-width: 769px) {

	.sp{
		display: none!important;
	}

}


@media screen and (max-width: 768px) {

	.pc{
		display: none!important;
	}
	body{
		min-width: auto;
		min-width: initial;
	}
	img{
		width: 100%;
	}
	.wrap{
		width: 94%;
	}


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

	    main

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

	main{
		padding-top: 50px;
		overflow: hidden;
	}

	.bg01{
		background-size: 12px;
	}

	.l_ttl{
		font-size: 7.2vw;
		line-height: 15.8vw;
		height: 15.8vw;
	}

	.green_s_ttl{
		text-align: center;
	}
	.green_s_ttl span{
		font-size: 7.2vw;
		line-height: 12.5vw;
		height: 12.5vw;
		padding: 0 7vw;
	}
	.green_s_ttl span::before{
		left: -4.9vw;
		border-top: 12.5vw solid transparent;
		border-right: 5vw  solid #01aeaf;
	}
	.green_s_ttl span::after{
		right: -4.9vw;
		border-left: 5vw solid #01aeaf;
		border-bottom: 12.5vw solid transparent;
	}


	/*-------------------
		header
	-------------------*/

	header{
		position: fixed;
		top: 0;
		height: 50px;
		background: #01aeaf;
		z-index: 999;
	}
	header .wrap{
		width: 97%;
		margin-right: 0;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	header .logo{
		width: 145px;
		line-height: 1;
		max-width: 100%;
		background: #fff;
		padding: 5px;
		border-radius: 3px;
	}
	header .spnav{
		display: flex;
		align-items: flex-start;
	}
	header .spnav .btn{
		width: 50px;
		height: 50px;
	}
	header .spnav .btn .icon{
		max-width: 21px;
		display: block;
		margin: auto;
		padding-top: 6px;
	}
	header .spnav .btn .txt{
		font-size: 0.9rem;
		text-align: center;
		color: #fff;
		font-weight: 700;
	}
	header .spnav .tel-link{
		background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#b3b3b3));
		background: -webkit-linear-gradient(top, #f2f2f2, #b3b3b3);
		background: -moz-linear-gradient(top, #f2f2f2, #b3b3b3);
		background: -o-linear-gradient(top, #f2f2f2, #b3b3b3);
		background: linear-gradient(to bottom, #f2f2f2, #b3b3b3);
	}
	header .spnav .tel-link a{
		display: block;
		height: 100%;
	}
	header .spnav .tel-link .txt{
		color: #3a3a3a;
	}
	header .spnav .mail{
		background: -webkit-gradient(linear, left top, left bottom, from(#ffce1e), to(#ff651e));
		background: -webkit-linear-gradient(top, #ffce1e, #ff651e);
		background: -moz-linear-gradient(top, #ffce1e, #ff651e);
		background: -o-linear-gradient(top, #ffce1e, #ff651e);
		background: linear-gradient(to bottom, #ffce1e, #ff651e);
	}
	header .spnav .mail a{
		display: block;
		height: 100%;
	}
	header .spnav .menu_btn .menu-trigger {
		position: relative;
		top: 12px;
		width: 20px;
		height: 14px;
		margin: auto;
	}
	header .spnav .menu_btn .menu-trigger span {
		display: block;
		transition: all .4s;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		border-radius: 4px;
	}
	header .spnav .menu_btn .menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	header .spnav .menu_btn .menu-trigger span:nth-of-type(2) {
		top: 6px;
	}
	header .spnav .menu_btn .menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	header .spnav .menu_btn .txt{
		margin-top: 14px;
	}
	header .spnav .menu_btn.active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(7px) rotate(-45deg);
		transform: translateY(7px) rotate(-45deg);
	}
	header .spnav .menu_btn.active .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}
	header .spnav .menu_btn.active .menu-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-5px) rotate(45deg);
		transform: translateY(-5px) rotate(45deg);
	}

	header nav{
		position: fixed;
		top: 49px;
		left: 0;
		width: 100%;
		background: #01aeaf;
		display: none;
	}
	header nav .gnav{
		display: flex;
		flex-wrap: wrap;
	}
	header nav .gnav li{
		width: 100%;
		border-top: 2px solid #fff;
	}
	header nav .gnav li.half{
		width: 50%;
		border-bottom: 2px solid #fff;
	}
	header nav .gnav li.half+.half{
		border-left: 2px solid #fff;
	}
	header nav .gnav li a{
		font-size: 1.2rem;
		font-weight: 700;
		color: #fff;
		padding: 10px 3%;
		display: block;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
		position: relative;
	}
	header nav .gnav li a::after{
		content: '';
		position: absolute;
		top: 50%;
		right: 3%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		background: url(../img/nav_icon01.png) no-repeat center center;
		background-size: contain;
		width: 8px;
		height: 10px;
	}
	header nav .gnav li.half a{
		padding: 10px 6%;
	}
	header nav .gnav li.half a::after{
		right: 6.5%;
	}


	/*-------------------
		fv
	-------------------*/

	#fv{
		background: url(../img/fv_bg01_sp.png) no-repeat right bottom;
		background-size: 82%;
		padding: 3% 0 0;
	}
	#fv .list{
		display: block;
		margin-top: 3%;
		margin-bottom: 5%;
		width: 52%;
	}
	#fv .list li{
		width: 100%;
		max-width: 100%;
	}
	#fv .list li .ttl{
		height: auto;
		padding: 2vw 0;
		display: flex;
	}
	#fv .list li .ttl img{
		max-width: 74%;
		width: 74%;
	}
	#fv .list li+li{
		margin-top: 6%;
	}
	#fv .list li .whitebox{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 3% 5%;
	}
	#fv .list li .whitebox .img{
		max-width: 100%;
		width: 26%;
		margin: 0;
	}
	#fv .list li .whitebox .txt{
		font-size: 0.8rem;
		font-size: 2.8vw;
		line-height: 1.4;
		text-align: left;
		margin-top: 0;
		width: 65%;
	}
	#fv .omakase{
		font-size: 5.5vw;
		color: #fff;
		font-weight: 900;
		text-align: center;
		background: #ffc500;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#fv .omakase strong{
		font-size: 1.1em;
	}


	/*-------------------
		opt
	-------------------*/

	.opt,
	#fv+.opt{
		padding: 4.5vw 0 4.5vw;
		margin-top: 0;
	}
	.opt .chui{
		font-size: 3.8vw;
		padding: 1.2vw 0;
	}
	.opt .chui span{
		padding-left: 6vw;
	}
	.opt .chui span::before{
		width: 4.5vw;
		height: 4.5vw;
		margin-top: -0.2vw;
	}
	.opt .flexbox{
		display: block;
		margin-top: 2.5vw;
	}
	.opt .left{
		width: 100%;
	}
	.opt .left .pdf{
		position: relative;
		display: block;
		margin-top: 2vw;
	}
	.opt .left .txtimg01{
		max-width: 100%;
	}
	.opt .left .txtwrap{
		margin-top: 4vw;
	}
	.opt .left .txtwrap .txtimg02{
		max-width: 100%;
	}
	.opt .left .txtwrap .txt{
		font-size: 3.8vw;
		line-height: 1.4;
		margin-left: 0;
	}
	.opt .left .pdf .img{
		width: 14.5vw;
		position: absolute;
		top: 10.5vw;
		right: 0;
	}
	.opt .right{
		width: 100%;
		padding: 4.5vw 4.5vw 3vw;
		margin-top: 5vw;
		background: rgba(255,255,255,0.29);
	}
	.opt .right .txt{
		font-size: 3.45vw;
		text-align: center;
		margin-bottom: 2.5vw;
	}
	.opt .right .btn{
		margin-top: 2vw;
	}


	/*-------------------
		trouble
	-------------------*/

	#trouble{
		padding: 8vw 0 16.5vw;
		background-size: 69px;
	}
	#trouble .wrap{
		position: relative;
	}
	#trouble .ttl{
		max-width: 100%;
		width: 90%;
		margin: auto;
	}
	#trouble .img{
		max-width: 103%;
		width: 103%;
		margin-top: 6vw;
	}
	#trouble .txt{
		max-width: 80%;
		margin: 3vw auto 0;
	}
	#trouble .arrow{
		bottom: -24.5vw;
		width: 78%;
	}


	/*-------------------
		advice
	-------------------*/

	#advice{
		padding: 13vw 0 10vw;
	}
	#advice .wrap{
		display: block;
	}
	#advice dl{
		border: 4px solid #01aeaf;
		max-width: 100%;
		margin-top: 0;
	}
	#advice dl dt{
		padding: 1.5vw 1.5vw calc(1.3vw + 4px);
	}
	#advice dl dt::before{
	    width: 17vw;
	    height: 17vw;
	}
	#advice dl dt img{
		max-width: 100%;
		width: 69vw;
		vertical-align: middle;
	}
	#advice dl dd{
		padding: 5vw 3.5vw 4vw;
	}
	#advice dl dd p{
		font-size: 3.8vw;
	}


	/*-------------------
		importance
	-------------------*/

	#importance{
		padding: 8.5vw 0 5vw;
		background-image: url(../img/importance_bg01_sp.jpg);
	}
	#importance .ttl{
		font-size: 7.2vw;
		line-height: 1.25;
		padding: 4vw 0;
		border-top: 1px solid #01aeaf;
		border-bottom: 1px solid #01aeaf;
	}
	#importance .txt{
		font-size: 3.8vw;
		margin-top: 5vw;
	}
	#importance .whitebox{
		padding: 4vw 4vw;
		margin-top: 5vw;
	}
	#importance .whitebox .flexbox{
		display: block;
	}
	#importance .whitebox .txtwrap{
		width: 100%;
	}
	#importance .whitebox .txtwrap p{
		font-size: 3.8vw;
	}
	#importance .whitebox .txtwrap p+p{
		margin-top: 3vw;
	}
	#importance .whitebox .imgwrap{
		width: 100%;
		margin-top: 3vw;
	}
	#importance .whitebox .imgwrap p+p{
		margin-top: 3vw;
	}
	#importance .point{
		padding: 4vw;
		margin-top: 4vw;
	}
	#importance .point .img{
		max-width: 100%;
		width: 88%;
		margin: auto;
	}
	#importance .point .txt{
		font-size: 3.8vw;
		text-align: left;
		margin-top: 3vw;
	}
	#importance .txtimg{
		max-width: 100%;
		margin: 7vw auto 0;
	}
	#importance .lasttxt{
		font-size: 3.8vw;
		margin-top: 4vw;
	}


	/*-------------------
		features
	-------------------*/

	#features{
		padding: 10vw 0;
	}
	#features .list{
		margin-top: 7vw;
		display:block;
	}
	#features .list::after{
		display: none;
	}
	#features .list li{
		width: 100%;
		max-width: 100%;
	}
	#features .list li:nth-child(n+1){
		margin-top: 3vw;
	}
	#features .list li .ttl{
		font-size: 4.7vw;
		line-height: 10vw;
		text-align: left;
		padding-top: 0.2vw;
		padding-left: 15vw;
		height: 10vw;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#features .list li .ttl .num{
		font-size: 3.8vw;
		width: 10vw;
	}
	#features .list li .whitebox{
		padding: 4vw 3vw;
		display: flex;
		justify-content: space-between;
	}
	#features .list li .whitebox .img{
		max-width: 100%;
		width: 21%;
		text-align: left;
		margin: 0;
	}
	#features .list li .whitebox .txt{
		font-size: 3.8vw;
		width: 76%;
	}
	#features .lasttxt{
		max-width: 100%;
		width: 96%;
		margin: 7vw auto 0;
	}


	/*-------------------
		intro
	-------------------*/

	#intro .wrap{
		padding: 6vw 0 10vw;
	}
	#intro .s_ttl1{
		font-size: 4.5vw;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#intro .s_ttl1 span::before,
	#intro .s_ttl1 span::after{
	    width: 14vw;
	    height: 1px;
	    margin-top: -1px;
	}
	#intro .s_ttl1 span::before{
		left: -16vw;
	}
	#intro .s_ttl1 span::after{
		right: -16vw;
	}
	#intro .firsttxt{
		font-size: 3.8vw;
		text-align: left;
		margin-top: 3vw;
	}
	#intro .whitebox{
		margin-top: 3vw;
		padding: 5vw 0;
	}
	#intro .boxinner{
		padding: 5vw 4vw 0;
	}
	#intro .boxttl span{
		font-size: 1.5rem;
		font-size: 4.7vw;
		line-height: 8vw;
		height: 8vw;
		padding-left: 18vw;
		width: 74%;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#intro .boxttl span::after{
		right: -4.9vw;
		border-left: 5vw solid #01aeaf;
		border-bottom: 8vw solid transparent;
	}
	#intro .boxttl span::before{
		left: 3vw;
		width: 13vw;
		height: 13vw;
	}
	#intro .flexbox{
		display: block;
	}
	#intro .flexbox .txtwrap{
		width: 100%;
	}
	#intro .flexbox.reverse .txtwrap{
		margin-top: 3vw;
	}
	#intro .flexbox .txtwrap p{
		font-size: 3.8vw;
	}
	#intro .flexbox .txtwrap p+p{
		margin-top: 3vw;
	}
	#intro .flexbox .img{
		width: 90%;
		margin: 3vw auto 0;
	}
	#intro .flexbox.reverse .img{
		margin-top: 0;
	}
	#intro .box_firsttxt{
		font-size: 3.8vw;
	}
	#intro .world{
		border-radius: 1.5vw;
		margin-top: 3vw;
		border: 1px solid #01aeaf;
	}
	#intro .world li+li {
		border-top: 1px solid #01aeaf;
	}
	#intro .world li dl dt{
		width: 30%;
		padding: 4vw 3vw;
		align-items: flex-start;
	}
	#intro .world li dl dt img{
		max-width: 100%;
	}
	#intro .world li dl dt .name{
		font-size: 3.2vw;
		width: 100%;
		margin: 2vw auto 0;
		border-radius: 25vw;
	}
	#intro .world li dl dd{
		padding: 4vw;
		width: 70%;
	}
	#intro .world li dl dd p{
		font-size: 3.8vw;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#intro .flexbox .graybox{
		padding: 3vw 3vw;
		margin-top: 3vw;
	}
	#intro .flexbox .graybox ul li{
		font-size: 3.8vw;
	}
	#intro .note{
		font-size: 3.2vw;
		margin-top: 3vw;
		padding-left: 1.25em;
		text-indent: -1.25em;
	}
	#intro .s_ttl2{
		font-size: 5.3vw;
	    margin-top: 7vw;
	}
	#intro .s_ttl2::before{
		height: 1px;
	}
	#intro .s_ttl2 span{
		padding: 0 3vw;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#intro .s_ttl2_plan span{
		font-size: 3.8vw;
		padding: 0.5vw 3vw;
		margin: 0 auto 0;
		border-radius: 5vw;
	}
	#intro .standard{
		margin-top: 5vw;
	}
	#intro .standard li{
		justify-content: space-between;
	}
	#intro .standard li+li{
		margin-top: 1%;
	}
	#intro .standard .num{
		width: 21%;
		max-width: 100%;
		position: relative;
	}
	#intro .standard li:not(:first-child) .num{
		margin-top: 0.5vw;
	}
	#intro .standard li:not(:last-child) .num::after{
		bottom: -5vw;
		height: 5vw;
		background: url(../img/standard_bg01_sp.png) no-repeat center top;
		background-size: contain;
	}
	#intro .standard dl{
		padding: 3.1vw 5.5vw 2vw;
		width: 78.5%;
	}
	#intro .standard dl dt span{
		font-size: 4.2vw;
		line-height: 1.4;
		padding-left: 4vw;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#intro .standard dl dt span::before{
		top: 0.5vw;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		border: 2.2vw solid transparent;
		border-left: 2.2vw solid #01aeaf;
	}
	#intro .standard dl dd{
		margin-top: 1.5vw;
	}
	#intro .standard dl dd p{
		font-size: 3.8vw;
		line-height: 1.5;
	}
	#intro .tableimg{
		margin-top: 4vw;
		max-width: 100%;
		overflow-x: scroll;
	}
	#intro .tableimg img{
		width: 178%;
		max-width: 178%;
	}
	#intro .lasttxt{
		max-width: 100%;
		width: 85%;
		margin: 7vw auto 0;
	}


	/*-------------------
		price
	-------------------*/

	#price{
		padding: 10vw 0;
	}
	#price .firsttxt{
		font-size: 3.8vw;
		margin-top: 5vw;
	}
	#price .whitebox{
		margin-top: 12vw;
		padding: 13vw 4vw 4vw;
	}
	#price .boxttl{
		top: -7vw;
	}
	#price .boxttl span{
		font-size: 6vw;
		border-radius: 1.5vw;
		padding: 1.5vw 5vw;
	}
	#price .boxttl span::after{
		bottom: -4.2vw;
		border: 2vw solid transparent;
		border-top: 2.8vw solid #2d2d2d;
	}
	#price .plan+.plan{
		margin-top: 5vw;
		padding-top: 5vw;
		border-top: 1px dashed #bababa;
	}
	#price .flexbox{
		display: block;
	}
	#price .left{
		width: 100%;
	}
	#price .planttl{
		margin-bottom: 5vw;
	}
	#price .planttl span{
		font-size: 4.7vw;
		line-height: 7.5vw;
		height: 7.5vw;
		padding: 0 2vw 0 3vw;
	}
	#price .planttl span::after{
		right: -4.9vw;
		border-left: 5vw solid #ff931e;
		border-bottom: 7.5vw solid transparent;
	}
	#price .planttl.osusume span{
		padding-left: 17vw;
	}
	#price .planttl.osusume span::before{
	    left: 2vw;
		width: 12.5vw;
		height: 12.5vw;
	}
	#price .right.table{
		width: 100%;
		padding: 4vw;
		margin-top: 3vw;
	}
	#price .right.table p{
		font-size: 3.2vw;
	}
	#price .right.table table th,
	#price .right.table table td{
		font-size: 0.9rem;
		font-size: 3vw;
	}
	#price .right.greentxt{
		width: 100%;
		padding-top: 15vw;
	}
	#price .right.greentxt::before{
		top: 3.8vw;
		left: 0;
		right: 0;
		transform: translateY(0);
	    -webkit- transform: translateY(0);
	    margin: auto;
		width: 8vw;
		height: 8vw;
	}
	#price .right.greentxt p{
		font-size: 7.2vw;
		line-height: 14.5vw;
		height: 14.5vw;
	}
	#price .right.greentxt p.big{
		font-size: 7.2vw;
	}
	#price .txt{
		font-size: 3.8vw;
		margin-top: 3vw;
	}
	#price dl{
		display: block;
		margin-top: 3vw;
	}
	#price dl dt{
		text-align: center;
		width: 100%;
		display: block;
		font-size: 4.7vw;
		padding: 1vw 4vw;
	}
	#price dl dd{
		width: 100%;
		display: block;
		padding: 3vw 5vw;
	}
	#price dl dd ul.col2{
		display: block;
	}
	#price dl dd ul li{
		font-size: 3.8vw;
		padding-left: 1em;
		text-indent: -1em;
	}
	#price dl dd ul.col2 li{
		width: 100%;
	}
	#price dl.dl_gray{
		padding: 4vw;
	}
	#price dl.dl_gray dt{
		text-align: left;
		padding: 0;
	}
	#price dl.dl_gray dd p{
		font-size: 3.8vw;
	}
	#price .graybox{
		padding: 4vw;
		margin-top: 3vw;
	}
	#price .graybox p{
		font-size: 3.7vw;
	}
	#price .graybox ul li{
		font-size: 3.7vw;
	}

	/*-------------------
		present
	-------------------*/

	#present {
		padding: 5vw 0;
	}
	#present .whitebox{
		padding: 4vw 3.5vw;
		max-width: 100%;
	}
	#present .whitebox .txt{
		font-size: 3.8vw;
		letter-spacing: -0.05em;
		margin-top: 3vw;
		text-align: left;
	}
	#present .strongtxt{
		font-size: 5vw;
		margin-top: 5vw;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#present .strongtxt .yellow{
		font-size: 1.2em;
	}
	#present .chui{
		font-size: 3.8vw;
		padding: 1.2vw 0;
		box-shadow: none;
		margin-top: 5vw;
	}
	#present .chui span{
		padding-left: 6vw;
	}
	#present .chui span::before{
		width: 4.5vw;
		height: 4.5vw;
		margin-top: -0.2vw;
	}
	#present .whitebox2{
		padding: 4vw;
	}
	#present .whitebox2 .txt{
		font-size: 3.4vw;
	}
	#present .whitebox2 .flexbox{
		display: block;
		margin-top: 2vw;
	}
	#present .whitebox2 .flexbox .left{
		width: 100%;
	}
	#present .whitebox2 .flexbox .btn{
		width: 100%;
		margin-top: 2vw;
	}


	/*-------------------
		example
	-------------------*/

	#example{
		padding: 10vw 0;
	}
	#example .casettl{
		margin-top: 5vw;
	}
	#example .casettl .in{
		font-size: 4.5vw;
		line-height: 8.5vw;
		height: 8vw;
		padding-right: 1.3vw;
		-webkit-transform: rotate(0.028deg);
		transform: rotate(0.028deg);
	}
	#example .casettl .in::after{
		right: -4.9vw;
		border-left: 5vw solid #2d2d2d;
		border-top: 8vw solid transparent;
	}
	#example .casettl .in .small{
		font-size: 0.65em;
	}
	#example .casettl .num{
		width: 22vw;
		margin-right: 3vw;
	}
	#example .whitebox{
		padding: 4vw;
	}
	#example .whitebox .img{
		max-width: 100%;
		width: 70%;
		float: none;
		margin: 0 auto 5vw;
	}
	#example .whitebox .case_subttl{
		font-size: 4.3vw;
		line-height: 1.4;
		padding-bottom: 1.5vw;
		border-bottom: 2px solid #01aeaf;
		margin-bottom: 5vw;
	}
	#example .whitebox p{
		font-size: 3.8vw;
	}
	#example .whitebox p:not(.img)+p:not(.result){
		margin-top: 2vw;
	}
	#example .whitebox p:not(.img)+p.label{
		margin-top: 5vw;
	}
	#example .whitebox .label span{
		font-size: 3.8vw;
		padding: 1vw 5vw;
	}
	#example .lasttxt{
		margin: 7vw auto 0;
		max-width: 100%;
	}

	/*-------------------
		faq
	-------------------*/

	#faq .wrap{
		padding: 7vw 0;
	}
	#faq dl{
		padding: 2vw 4vw 4vw;
		border: 2px solid #bababa;
	}
	#faq dl+dl{
		margin-top: 5vw;
	}
	#faq dl dt{
		font-size: 4.7vw;
		padding: 3vw 0 3vw 10vw;
	    -webkit-transform: rotate(0.028deg);
	    transform: rotate(0.028deg);
	}
	#faq dl dt:before{
		width: 8vw;
		height: 8vw;
	}
	#faq dl dd{
		padding-top: 3vw;
		border-top: 1px dashed #bababa;
	}
	#faq dl dd p{
		font-size: 3.8vw;
	}


	/*-------------------
		consultation
	-------------------*/

	#consultation{
		padding: 10vw 0;
	}
	#consultation .firsttxt{
		font-size: 3.8vw;
	    margin-top: 5vw;
	}
	#consultation dl{
		display: block;
		background: none;
		box-shadow: none;
		margin-top: 5vw;
	}
	#consultation dl+dl{
		margin-top: 14vw;
	}
	#consultation dl:not(:last-of-type):after{
		bottom: -11vw;
		width: 8vw;
		height: 8vw;
	}
	#consultation dl dt{
		display: block;
		background: none;
		width: 50vw;
		margin: auto;
		min-height: auto;
		min-height: inherit;
	}
	#consultation dl dt img{
		max-width: 100%;
	}
	#consultation dl dd{
		padding: 9vw 4vw 4vw;
		width: 100%;
		margin-top: -6vw;
		min-height: auto;
		min-height: inherit;
		background: #fff;
		box-shadow: 3px 3px 5px rgba(0,0,0,0.14);
	}
	#consultation dl dd p{
		font-size: 3.8vw;
		letter-spacing: -0.06em;
	}
	#consultation dl dd span{
		font-size: 3.8vw;
		text-align: center;
		margin: auto;
	}
	#consultation .lasttxt{
		max-width: 100%;
		margin: 7vw auto 0;
	}


	/*-------------------
		company
	-------------------*/

	#company .wrap{
		padding: 5vw 0 8vw;
	}
	#company .whitebox{
		padding: 4vw 4vw;
	}
	#company .company{
		display: block;
	}
	#company .company .img{
		width: 80%;
		margin: 0 auto 3vw;
	}
	#company .company table{
		width: 100%;
	}
	#company .company table th,
	#company .company table td{
		font-size: 3.8vw;
		width: 100%;
		display: block;
	}
	#company .company table th{
		padding: 1vw 0 0;
	}
	#company .company table td{
		padding: 0 0 1vw;
	}
	#company .message{
		margin-top: 5vw;
	}
	#company .message .mesttl{
		font-size: 5.3vw;
		line-height: 1.3;
		text-align: center;
	    -webkit-transform: rotate(0.028deg);
	    transform: rotate(0.028deg);
		padding: 5vw 0 40vw;
		background: url(../img/message_img01_sp.png) no-repeat center bottom /36%,
					url(../img/message_bg01_sp.png) no-repeat center bottom /100%;
		background: url(../img/message_img01_sp.png) no-repeat center bottom /36%,
					url(../img/message_bg01_sp.png) no-repeat center bottom /100%;
		background: url(../img/message_img01_sp.png) no-repeat center bottom /36%,
					url(../img/message_bg01_sp.png) no-repeat center bottom /100%;
		background: url(../img/message_img01_sp.png) no-repeat center bottom /36%,
					url(../img/message_bg01_sp.png) no-repeat center bottom /100%;
		background: url(../img/message_img01_sp.png) no-repeat center bottom /36%,
					url(../img/message_bg01_sp.png) no-repeat center bottom /100%;
	}
	#company .message .txtwrap{
		margin-top: 5vw;
	}
	#company .message .txtwrap p{
		font-size: 3.8vw;
	}
	#company .message .txtwrap p+p{
		margin-top: 2vw;
	}


	/*-------------------
		contact
	-------------------*/

	#contact .wrap{
		padding: 5vw 0 8vw;
	}
	#contact .whitebox{
		padding: 4vw 4vw;
	}
	#contact .txt{
		font-size: 3.8vw;
		text-align: left;
	}
	#contact .txt+.txt{
		margin-top: 0;
	}
	#contact .musttxt{
		font-size: 0.9rem;
		font-size: 3vw;
	    margin-top: 5vw;
	}
	#contact .must{
		font-size: 0.8em;
	}
	#contact table{
		margin-top: -5vw;
	}
	#contact table th{
		font-size: 3.8vw;
		width: 100%;
		padding-top: 0;
		display: block;
	}
	#contact table th .must{
		margin-left: 1vw;
	}
	#contact table th .in{
		padding-left: 3vw;
	}
	#contact table th .in::before{
		width: 1vw;
		border-radius: 1vw;
	}
	#contact table td{
		width: 100%;
	    padding: 1vw 0 3vw;
		display: block;
	}
	#contact table td input[type="text"],
	#contact table td textarea{
		font-size: 3vw;
		padding: 0 2vw;
		height: 12.2vw;
		border: 2px solid #afafaf;
	}
	#contact table td textarea{
		padding: 2vw;
		min-height: 26.55vw;
	}
	#contact table td div+div{
		margin-top: 1vw;
	}
	#contact table td.label{
		padding-top: 3vw;
	}
	#contact label{
		font-size: 3.8vw;
		margin-right: 0;
	}
	#contact label input{
		display: none;
	}
	#contact label span{
		padding-left: 8vw;
		display: block;
		position: relative;
	}
	#contact label span.check-span::after{
		width: 6vw;
		height: 6vw;
	}
	#contact label span.check-span::before{
		margin-top: -2vw;
		left: 2.1vw;
		width: 2.2vw;
		height: 3.2vw;
	}
	#contact .submit{
		width: 76vw;
		margin: 0 auto 0;
	}

	/* ------------------------------
		footer
	------------------------------ */

	footer{
		padding: 3vw 0;
	}
	footer .wrap{
		display: block;
	}
	footer .copy{
		font-size: 2.6vw;
		text-align: center;
	}

}





/*-------------------
	confirm thanks
-------------------*/

.confirm header,.thanks header{
	position: relative;
	top: 0;
	left: 0;
	padding: 20px 0;
}
.confirm #contact table{
	margin-top: 20px;
}
.confirm #contact table td{
	padding-top: 14px;
	font-size: 1.4rem;
}
.confirm #contact .submit .back{
	margin-bottom: 10px;
}
.thanks #contact .btn{
	max-width: 450px;
	margin: 15px auto 0;
}

@media screen and (max-width: 768px) {

	.confirm header,.thanks header{
		position: fixed;
		top: 0;
		left: 0;
		padding: 0;
	}
	.confirm #contact table{
		margin-top: 20px;
	}
	.confirm #contact table td{
		padding-top: 5px;
		font-size: 1.4rem;
	}
	.confirm #contact .submit{
		display: block;
		width: 100%;
	}
	.confirm #contact .submit button{
		max-width: 100%;
	}
	.confirm #contact .submit .back{
		max-width: 100%;
		margin-bottom: 3%;
	}
	.thanks #contact .btn{
		max-width: 100%;
		margin: 4vw auto 0;
	}


}



/* ------------------------------
    clearfix
------------------------------ */

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

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */