@charset "UTF-8";
/* Reset
------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
address,em,strong,th {
	font-style: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th {
	text-align: left;
}
hr,legend {
	display: none;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}
img,fieldset {
	border: 0;
	-webkit-backface-visibility: hidden;
}
li {
	list-style-type: none;
}
img {
	vertical-align: bottom;
}
/*IE6*/
* html img{
	vertical-align: bottom;
}
/*IE7*/
*:first-child+html img{
	vertical-align: bottom;
}
a{
	outline:none;	
}

/* Fonts
------------------------------------------------------------*/
body {
	font-size: 75%; /* IE */
	font-family: "qMmpS Pro W3","Hiragino Kaku Gothic Pro","CI","Meiryo",verdana,Osaka,"lr oSVbN","MS PGothic",Sans-Serif;
	/*
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;*/

	-webkit-text-size-adjust: 100%;
}
html>/**/body {
	font-size: 12px; /* Except IE */
}

/* clearfix
------------------------------------------------------------*/
.cf::after {  
	visibility: hidden;  
	display: block;  
	font-size: 0;  
	content: " ";  
	clear: both;  
	height: 0;  
}  

* html .cf { zoom: 1; } /* IE6 */  
*:first-child+html .cf { zoom: 1; } /* IE7 */  

.ani_none,
.ani_none > *,
.ani_none::before,
.ani_none::after{
	transition:none !important;
	-webkit-transition:none !important;
	-moz-transition:none !important;	
}


/*------------ 初期設定 ------------*/
body ,
html{
	width:100%;
	min-width:100%;
	overflow-x:hidden;
}
img{
	width:100%;
	height:auto;
}
p,dt,dd {
	color: #333333;
	font-size: 3.7333vw;
	line-height: 1.7142;
}

/*------------ 全体 ------------*/

.sp{
	display:block;
}
.pc{
	display:none;	
}
.pkzl {
	font-size: 2.666vw;
	color: #777777;
	margin: 2.133vw 0 5.33vw;
	padding-left: 1.3333%;
}
._hover{
	opacity:1;
	transition: all 0.4s;
}
._hover:hover{
	opacity:0.7;
}


/*------------ WRAPPER ------------*/
#wrapper {
	width:100%;
	margin:0 auto;
	color: #333333;
}
#wrapper a,
#wrapper a:link,
#wrapper a:visited { color:#009e96; text-decoration:underline; }
#wrapper a:hover,
#wrapper a:active  { color:#009e96; text-decoration:none; }


/*------------ HEADER ------------*/

#header {
	width: 100%;
	margin: 0px auto 0px;
	position: relative;
	border-top: #009e96 solid 0.8vw ;
	border-bottom: #009e96 solid 0.2666vw;
}
#header h1 {
	margin-left: 0px;
	padding: 1.33vw 0 1.33vw 1.33vw;
	width: 13.86vw;
}
#header p,
#header ul li.ec {
	display:none;
}
#header ul{
	position:absolute;
	right: 2.5vw;
	top: 2.5vw;
}
#header ul li{
	display:inline-block;	
}
#header ul li a{
	display:block;
	font-size: 3.2vw;
	line-height: 2;
	text-decoration:none;
	position:relative;	
}
#header ul li:nth-child(2) a{
	padding-left: 8vw;
}
#header ul li:nth-child(2) a::before{
	content:"";
	display:block;
	background:url(../img/icon02.png) no-repeat left top;
	background-size: 100% auto;
	width: 7vw;
	height: 7.5vw;
	position:absolute;
	left: 0;
	top: -0.6vw;
}
#wrapper #header a,
#wrapper #header a:link,
#wrapper #header a:visited,
#wrapper #header a:hover,
#wrapper #header a:active  { color:#009e96; text-decoration:none; }

/*------------ FOOTER ------------*/

#footer {
	background: #777777;
	padding: 3.866vw 0 3.2vw;
	text-align: center;
	line-height: 0.1;
}
#footer img {
	width: 59.466vw;
	height: auto;
}

/*------------ NAVI ------------*/

.navi {
	background: #f3f1f1;
	padding: 13.33vw 0;
}
.navi h2 {
	width: 22.666%;
	margin: 0 auto 4vw;
}
.navi ul {
	width: 94.933%;
	margin: 0 auto;
}
.navi ul li + li {
	margin-top: 1.066vw;
}


/*------------ TOP ------------*/

/* .block .ttl */
.block .ttl {
	width: 89.333%;
	margin: 0 auto 12vw;
	padding: 10vw 0 0;
}
.block .ttl h2 {
	width: 89.33vw;
	padding: 0 0 6vw;
	border-bottom: #f0eeed solid 0.666vw;
	margin: 0 auto 4vw;
}
.block h2 strong {
	color: #009e96;
}

/* .block .list */
.block .list {
	margin: 0 auto 0;
	padding: 0 0 10.666vw;
}
.block .list h2 {
	font-size: 6.666vw;
	line-height: 1.4;
	text-align: left;
	font-weight: bold;
	background: url(../img/block01_icon01.png) 4% top no-repeat;
	background-size: 19.066vw auto;
	padding: 0 0 4vw 28vw;
}
.block .list .ph {
	border-top: #333333 solid 1px;
}
.block .list h3 {
	font-size: 4.666vw;
	line-height: 1.5714;
	text-align: center;
	font-weight: bold;
	margin: 5.33vw 0;
}
.block .list .btn {
	width: 81.333vw;
	margin: 0 auto 13.33vw;
}
.block .list .bnr {
	width: 94.666vw;
	margin: 0 auto 13.33vw;
}
.block .list .listset {
	margin-left: 4vw;
	padding-bottom: 7.333vw;
	column-count: 2;
	column-gap: 0px;
}
.block .list01 .listset {
	padding-bottom: 0;
	height: 240vw;
}
.block .list .listset02 {
	padding-bottom: 0;
	height: 140vw;
}
.block .list .listset dl {
	display: inline-block;
	width: 44.533vw;
	margin-bottom: 6vw;
}
.block .list .listset dl dt {
	font-size: 3.466vw;
	line-height: 1.84;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #333333;
	margin-bottom: 2.66vw;
}
.block .list .listset dl dd {
	background: url(../img/block01_list_icn.png) left 1vw no-repeat;
	background-size: 3.2vw auto;
	font-size: 3.333vw;
	line-height: 1.6;
	padding-left: 5.6vw;
}

/* #block01 .point */
#block01 .point {
	background: #f3f1f1;
	width: 94.666%;
	margin: 0 auto;
	padding: 2.666vw;
	box-sizing: border-box;
}
#block01 .point h2 {
	font-size: 4vw;
	line-height: 2;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #333333;
	margin-bottom: 6.66vw;
}
#block01 .point dl {
	margin: 0 1.33vw;
	padding: 0 2.66vw;
}
#block01 .point dl + dl {
	border-top: #fff solid 0.266vw;
	padding-top: 6.666vw;
}
#block01 .point dl dt {
	background: url(../img/block01_point_icn01.png) left top no-repeat;
	background-size: 18.53vw auto;
	font-size: 4vw;
	line-height: 1.33;
	text-align: left;
	font-weight: bold;
	padding-left: 24vw;
	margin-bottom: 2vw;
}
#block01 .point dl.p02 dt {
	background: url(../img/block01_point_icn02.png) left top no-repeat;
	background-size: 18.53vw auto;
}
#block01 .point dl dd {
	font-size: 3.2vw;
	line-height: 1.66;
	text-align: left;
	margin-bottom: 6vw;
}

/* #block01 .check */
#block01 .check {
	background: #f3f1f1;
	width: 94.666%;
	margin: 0 auto 22.66vw;
	padding: 6.66vw; 
	box-sizing: border-box;
}
#block01 .check h2 {
	font-size: 5.066vw;
	line-height: 1;
	text-align: center;
	font-weight: bold;
	margin-bottom: 5.33vw;
}
#block01 .check dl {
}
#block01 .check dl dt {
	background: url(../img/block01_check_open.png) 70.66vw center no-repeat #fff;
	background-size: 6.66vw auto;
	font-size: 4.4vw;
	line-height: 13.33vw;
	text-align: center;
	font-weight: bold;
	color: #009e96;
	border: #009e96 solid 0.266vw;
	border-radius: 1.33vw;
	margin-bottom: 2.66vw;
}
#block01 .check dl dt.active {
	background: url(../img/block01_check_close.png) 70.66vw center no-repeat #fff;
	background-size: 6.66vw auto;
}
#block01 .check dl dd {
	background: url(../img/block01_check_img01.png) right 0.66vw no-repeat;
	background-size: 25.333vw auto;
	font-size: 3.2vw;
	line-height: 1.66;
	text-align: left;
	padding: 2.66vw 26.66vw 4.66vw 0;
	box-sizing: border-box;
	height: auto;
}
#block01 .check dl.c02 dd {
	background: url(../img/block01_check_img02.png) right 0.66vw no-repeat;
	background-size: 25.333vw auto;
	padding-bottom: 7vw;
}
#block01 .check dl.c03 dd {
	background: url(../img/block01_check_img03.png) right 0.66vw no-repeat;
	background-size: 25.333vw auto;
	padding-bottom: 6vw;
}
#block01 .check dl.c04 dd {
	background: url(../img/block01_check_img04.png) right 0.66vw no-repeat;
	background-size: 32vw auto;
	padding-right: 34.66vw;
}
#block01 .check dl dd a {
	display: inline-block;
	margin-top: 2vw;
}

/* #block02 .ttl */
#block02 {
	background: #f3f1f1;
	padding-bottom: 17.333vw;
}
#block02 .ttl h2 {
	background: url(../img/block02_ttl_no.png) left top no-repeat;
	background-size: 10.666vw auto;
	border-bottom: #fff solid 0.666vw;
}

/* .block .process */
.block .process {
	width: 94.666vw;
	margin: 0 auto 4vw;
	padding-bottom: 5.333vw;
	background: #fff;
}
.block .process h2 {
	font-size: 6.24vw;
	line-height: 1;
	text-align: center;
	font-weight: bold;
	color: #009e96;
	padding: 10vw 0;
}
.block .process h3 {
	width: 73.066vw;
	background: url(../img/block02_cpt_bg.png) left center no-repeat;
	background-size: 100% 0.666vw;
	margin: 0 auto 4vw;
	text-align: center;
}
.block .process h3 strong {
	display: inline-block;
	background: #fff;
	font-size: 4.8vw;
	line-height: 1;
	text-align: center;
	font-weight: bold;
	padding: 0 3.33vw;
}
.block .process .ph {
	width: 89.33vw;
	margin: 0 auto 5.333vw;
}
.block .process ul {
	width: 92%;
	margin: 0 auto;
	padding-bottom: 4.66vw;
}
.block .process ul li {
	background: url(../img/block02_icn01.png) left 1vw no-repeat;
	background-size: 4.266vw auto;
	padding-left: 6vw;
	font-size: 3.733vw;
	line-height: 1.714;
}
.block .process ul li + li {
	margin-top: 4.666vw;
}
.block .process ul li strong {
	font-weight: bold;
	color: #009e96;
}

/* #block03 .ttl */
#block03 .ttl h2 {
	background: url(../img/block03_ttl_no.png) left top no-repeat;
	background-size: 10.666vw auto;
}

/* .block .service */
.block .service {
	width: 94.666vw;
	margin: 0 auto;
	padding-bottom: 5.333vw;
}
.block .service ul {
	margin-bottom: 15.33vw;
}
.block .service dt {
	font-size: 4.8vw;
	line-height: 1.5277;
	text-align: center;
	font-weight: bold;
	padding: 0 0 5.333vw;
}
.block .service dd {
	width: 81.333vw;
	margin: 0 auto 18.666vw;
}

/* #block04 .ttl */
#block04 {
	background: #f3f1f1;
	padding-bottom: 3.75em;
}
#block04 .ttl h2 {
	background-image: url();
	border-bottom: #fff solid 0.666vw;
}
#block04 .att {
	margin-top: 2em;
	margin-bottom: 1em;
	font-size: 140%;
	font-weight: bold;
	text-align: center;
}
#block04 .nav {
	padding: 0 1.25em;
}
#block04 .nav li {
	float: none;
	width: 100%;
}
#block04 .nav li + li { margin-top: 2em; }
#block04 .nav li:nth-child(even) {
	float: none;
}
#block04 .nav li .att {
	margin-top: 0;
	margin-bottom: 0.625em;
	font-size: 120%;
}

/* #block05 .ttl */
#block05 {
	padding-bottom: 8vw;
}
#block05 .cpt {
	width: 86.666%;
	margin: 0 auto;
	padding: 17.33vw 0 0;
}
#block05 .cpt dd {
    font-size: 4vw;
    line-height: 1.66;
    text-align: center;
    padding: 0 0 9.33vw;
}
#block05 .cpt dd strong {
	font-size: 4.4vw;
	line-height: 1.51;
	font-weight: bold;
}
#block05 .btn01 {
	width: 86.666%;
	margin: 0 auto;
}
#block05 .btn01 dd {
	font-size: 4.4vw;
	line-height: 1.81;
	font-weight: bold;
	text-align: center;
	padding: 1.33vw 0 4vw;
}
#block05 dl.btn01 + dl.btn01 {
	border-top: #eaeaea solid 1px;
	padding-top: 5.8666vw;
}

/*-------- text_right --------*/
.t_right {
	text-align: right;
}

/*-------- text_left --------*/
.t_left {
	text-align: left;
}

/*-------- center --------*/
.t_center {
	text-align: center;
}

/*-------- left --------*/
.left {
	float: left;
}

/*-------- right --------*/
.right {
	float: right;
}

/*-------- ClearBoth --------*/
.cb {
	clear: both;
}

/*-------- COLOR --------*/

.red{
	color:#FF0000;
}

.orange{
	color:#FF6600;
}

.blue{
	color:#0097B2;
}

/*-------- FONT --------*/

.bold{
	font-weight:700;
}

.f10{
	font-size:10px;
}

.f14{
	font-size:14px;
}

/*-------- WIDTH --------*/

.w149{
	width:149px;	
}

.w180{
	width:180px;	
}

.w287{
	width:287px;
}

.w380{
	width:380px;
}

.w304{
	width:304px;
}

/*-------- HEIGHT --------*/

.h350{
	height:350px;	
}

.h375{
	height:375px;	
}

.h500{
	height:420px;	
}

.h600{
	height:470px;	
}

/*-------- MARGIN --------*/

.ml3{
	margin:0 0 0 3px;
}

.ml10{
	margin:0 0 0 10px;
}

.ml30{
	margin:0 0 0 30px;
}

.ml40{
	margin:0 0 0 40px;
}

.ml60{
	margin:0 0 0 60px;
}

.ml70{
	margin:0 0 0 70px;
}

.mb10{
	margin:0 0 10px 0;
}

.mb15{
	margin:0 0 15px 0;
}

.mt3{
	margin:3px 0 0 0;
}

.mt10{
	margin:10px 0 0 0;
}


.mt20{
	margin:20px 0 0 0;
}

.mt30{
	margin:30px 0 0 0;
}

/*-------- PADDING --------*/

.pt5{
	padding-top:5px;
}

.pt10{
	padding-top:10px;
}

.pt15{
	padding-top:15px;
}

.pt20{
	padding-top:20px;
}

.pt25{
	padding-top:25px;
}

.pt30{
	padding-top:30px;
}

.pt40{
	padding-top:40px;
}

.pt60{
	padding-top:60px;
}

.pl10{
	padding-left:10px;	
}

.pl12{
	padding-left:12px;	
}

.pl15{
	padding-left:15px;	
}

.pl20{
	padding-left:20px;	
}

.pl30{
	padding-left:30px;	
}

.pl40{
	padding-left:40px;	
}

.pl50{
	padding-left:50px;	
}

.pl60{
	padding-left:60px;	
}

.pl70{
	padding-left:70px;	
}

.pl80{
	padding-left:80px;	
}

.pl100{
	padding-left:100px;	
}

.pr100{
	padding-right:100px;	
}


.pb20{
	padding-bottom:20px;	
}

/*-------- COMMON --------*/

.pic{
	padding:2px;
	display:block;
	border:1px solid #CCCCCC;
}

.hidden{
	overflow:hidden;
}

.abs{
	position:absolute;
}

.ondes{
	color:#999999;
}

.page_top {
	position: fixed;
	right: -10px;
	bottom: 20px;
	z-index: 100;
	opacity:0;
	transition: all 0.4s;
}
.page_top.show {
	opacity:1;
}
.page_top a {
	display: block;
	padding: 15px;
	font-size:15px;
	background: #009e96;
	color: #fff;
	text-decoration: none;
	-webkit-border-top-left-radius: 6px;
	-webkit-border-bottom-left-radius: 6px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-border-radius-topleft: 6px;
	-moz-border-radius-bottomleft: 6px;
	-moz-transition: 0.3s ease-in-out;
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

