@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body * {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

body {
	line-height:1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

/*
input, select {
	vertical-align:middle;
}
*/

img{
	line-height:1;
	vertical-align:bottom;
}

/************** layout base ********************/
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

img{ max-width:100%;}

a{text-decoration:none; color:#000000;}
a:hover{text-decoration: none;}
a:link{}

a:visited{color:#0d5bab;}

/* 繝懊ち繝ｳrollover */
a:hover img{
   opacity:0.8;
}

sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{text-align:left;}
.txtRight{text-align:right;}
.txtCenter{text-align:center;}

.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}
.f20{ font-size:20px !important;}
.f22{ font-size:22px !important;}
.f24{ font-size:24px !important;}

.txtRed{ color:#D80000;}

.fLeft{ float:left;}
.fRight{ float:right;}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}
.mTop55{ margin-top:55px !important;}
.mTop60{ margin-top:60px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm55{ margin-bottom:55px !important;}
.mBtm60{ margin-bottom:60px !important;}
.mBtm70{ margin-bottom:70px !important;}
.mBtm80{ margin-bottom:80px !important;}
.mBtm90{ margin-bottom:90px !important;}
.mBtm100{ margin-bottom:100px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm55{ padding-bottom:55px !important;}
.pBtm60{ padding-bottom:60px !important;}

/************** layout base ********************/
body{
	background: #ffffff;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体","メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-align: left;
	line-height:1.5;
}

ol,ul {
	list-style:none;
}

p,dt,dd,li,td,th{
	color:#333333;
	font-size:14px;
}

div,p,dl{
	text-align:left;
}

h1,h2,h3,h4,h5,h6{
	color: #333333;
	font-size:14px;
	font-weight: bold;
}

/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}
.flex{
	display: -ms-flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;

  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}


/* common
---------------------------------------------------------------------------- */
/* body{
   min-width: 960px;
} */
.pcOnly{ display: block;}
.pcOnlyI{ display: inline-block;}

.spOnly,.spOnlyI{ display: none;}

.inner{
	width: 980px;
	margin: 0 auto;
}
.fontMin{
	font-family:Garamond , "Times New Roman" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}

main {
 overflow: hidden;
}
/* header
---------------------------------------------------------------------------- */
#header{ 
position: relative;
   background: #d3d3d3;
	display: -ms-flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#header p{
	padding: 20px 0 20px 20px;
	color: #333333;
	font-size: 22px;
	font-weight: bold;
}
/* gNavi */
#gNavi{	
	position: fixed;
	top: 0;
	right: 0;
	padding: 70px 20px;
	background: url("images/bg.png") repeat left top;
	z-index: 1000;

}
#gNavi ul{

	}
#gNavi ul li{
padding: 20px 0;
vertical-align: middle;
}
#gNavi ul li::before{ 
	content: "";
	display: inline-block;
	border-right: 3px #333333 solid;
	border-bottom: 3px #333333 solid;
	width: 6px;
	height: 6px;
	margin-right: 10px;
	-webkit-transform: rotate(45deg);
   transform: rotate(45deg);
	vertical-align: middle;
}
#gNavi ul li a{
	display: inline-block;
	font-weight: bold;
	color: #333333;
	vertical-align: middle;
}
#gNavi ul li:first-child a{
	color: #000000;
}
#gNavi ul li a::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: transportant;
}
#gNavi ul li a:hover{
	color: #333333;
	/*text-shadow:0 0 10px rgba(33, 54, 133, .3);	*/
}
#gNavi ul li a:hover::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #333333;
}


/* footer
---------------------------------------------------------------------------- */
#footer{
   background: #ffffff;
   border-top: 1px solid #002a53;
   padding: 50px 0 45px;
}
.footInfo dl{
	margin-top: 20px;
}
.footInfo dt{
	font-weight: bold;
	color: #333333;
	line-height: 1.5;
}
.footInfo dl dt span{
	font-size: 0.8em;
	font-weight: normal;
	line-height: 1.2;
}

.footInfo dd{
	margin-top: 10px;
	color: #333333;
}
.fNavi li{
	display: inline-block;
}
.fNavi li:not(:last-child){
	margin-right: 40px;
}
.fNavi li a{
	color: #333333;
}
.fNavi p{
	margin-top: 30px;
	text-align: right;
}
.fNavi p a{
	display: inline-block;
	border: 1px solid #333333;
	padding: 10px 40px;
	line-height: 15px;
	color: #333333;
	vertical-align: middle;
}
.fNavi p a::before{
	content: "";
	display: inline-block;
	margin-right: 10px;
	width: 22px;
	height: 15px;
	background: url("images/ic_mail.png") no-repeat left top;
	vertical-align: middle;
	
	filter: brightness(0%);

}
#copy{
	width: 100%;
	text-align: right;
   color: #333333;
   font-size: 10px;
}

/* pageTop
---------------------------------------------------------------------------- */
#pageTop{
   display: none;
   position: fixed;
   right: 0;
  bottom: 57px;
   width: 39px;
   z-index: 10001;
}
#pageTop a{
   display: block;
   width: 100%;
    padding: 13px 11px 12px 16px;
    line-height: 1.2;
   background: #333333;
   font-size: 12px;
   color: #fff;
   font-weight: bold;
}
#pageTop a::before{
   content: "";
	display: block;
	border-left: 1px #fff solid;
	border-top: 1px #fff solid;
	width: 5px;
	height: 5px;
	-webkit-transform: rotate(45deg);
   transform: rotate(45deg);
	vertical-align: middle;
   margin-bottom: 10px;
}


/* index
---------------------------------------------------------------------------- */
#mainImg{
padding: 50px 0 365px;
	background: url("images/mv.png") no-repeat center top;
	background-size: 1360px;
}
#mainImg h1{
	font-size: 0;
	text-align: center;
}
#mainImg h1 span{
	background: #d3d3d3;
	border-radius: 5px;
	color: #333333;
	display: inline-block;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体","メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 24px;
	letter-spacing: 0.05em;
	margin-bottom: 15px;
	padding: 2px 25px;
	text-align: center;
}
#mainImg h1 span:first-child{
	margin-right: 30px;
	padding: 2px 35px;
}
#mainImg p{
	margin-top: 20px;
	font-size: 0;
	text-align: center;
}
#mainImg ul{
	text-align: center;
}
#mainImg li{
	display: inline-block;
	margin: 23px 3px 0;
	padding: 7px 10px;
	border: 1px solid #fff;
	text-align: center;
	font-size: 15px;
	color: #fff;
}

h2.fontMin{
	font-size: 40px;
	font-weight: 700;
	text-align: center;
}


.shadow{
	-webkit-filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 1));
	-moz-filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 1));
	-ms-filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 1));
	filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 1));
}















/*
 about
 ---------*/
 #about{
 	padding: 80px 0 30px;
 }
 #about .txt{
/* padding: 100px 0 0 0;*/
 }
 #about .txt h3{
	 margin: 22px auto 0 auto;
	 font-size: 22px;
	 font-weight: bold;
	 line-height: 1.6;
	 text-align: center;
 }
 #about .txt p{
	 margin-bottom: 15px;
	 font-size: 16px;
 }










 /*
  result
  ------------*/
.resultHeader{
	position: relative;
	background: #d3d3d3;
	height: 145px;
}
.resultHeader::before{
	position: absolute;
	bottom: -6vw;
	left: 0;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-width: 6vw 50vw 0 50vw;
    border-color: #d3d3d3 transparent transparent transparent;
    border-style: solid;
   /* margin-left: 14px;*/
    vertical-align: middle;
}
.resultHeader > .inner{
	position: relative;
}
.resultHeader h2{
	position: absolute;
	top: 20px;
	background: #f9f9f9;
	padding: 30px 38px 60px;
	border-radius: 10px 10px 0 0;
	color: #333333;
	font-size: 30px;
	font-weight: normal;
}
.resultHeader h2 span{
	font-size: 52px;
}
.resultHeader p{
	position: absolute;
	top: 60px;
	left: 370px;
	width: 400px;
	margin: auto;
	color: #333333;
	font-size: 37px;
	font-weight: bold;
	line-height: 1;
}
.resultHeader p .num{
	font-size: 30px;
}
.resultHeader p .num span{
	font-size: 70px;
	padding-left: 15px;
}
.resultHeader p .note{
	font-size: 12px;
	font-weight: normal;
	display: block;
	margin-top: 10px;
}
.resultHeader ul{
	width: 240px;
	position: absolute;
	top: 45px;
	right: 0;
}
.resultHeader ul li{
	color: #333333;
	border-bottom: 1px dotted #fff;
	font-size: 16px;
	padding-bottom: 8px;
	margin-bottom: 8px;
}
.resultHeader ul li:last-child{
	border-bottom: none;
}
.resultHeader ul li > span:nth-child(1){
	padding-left: 11px;
	width: 186px;
	box-sizing: border-box;
	display: inline-block;
}
.resultHeader ul li > span:nth-child(2){
	text-align: right;
	display: inline-block;
	width: 43px;
}
#result {
	background: #f9f9f9;
	position: relative;
	padding-bottom: 3vw;
}
#result::before{
	position: absolute;
	bottom: -6.35vw;
	left: 0;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-width: 6.4vw 50vw 0 50vw;
    border-color: #f9f9f9 transparent transparent transparent;
    border-style: solid;
    /*margin-left: 14px;*/
    vertical-align: middle;
 -webkit-filter: drop-shadow(0px 3px 2px rgba(0,0,0,.2));
        filter: drop-shadow(0px 3px 2px rgba(0,0,0,.2));
}
#result ul.inner{
	margin: 75px auto 0;
	width: 1020px;
}
#result ul.inner{
	display: -ms-flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
}
#result ul.inner li{
	width: 500px;
	height: 386px;
	position: relative;
	margin-top: 60px;
}
#result ul.inner li h3{
	border: 3px solid #fff;
	background: #d3d3d3;
	color: #333333;
	text-align: center;
	font-family:Garamond , "Times New Roman" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-weight: bold;
	font-size: 18px;
	width: 118px;
	height: 118px;
	box-sizing: border-box;
	position: absolute;
	left: 13px;
	z-index: 20;
	display: table;
}
#result ul.inner li h3 span{
	display: table-cell;
	vertical-align: middle;
}
#result ul.inner li img{
	position: absolute;
	z-index: 0;
	top: 60px;
}
#result ul.inner li p{
	background: #fff;
	position: absolute;
	z-index: 50;
	top: 300px;
	right: 10px;
	padding: 20px 27px;
	-moz-box-shadow: 6px 7px 0px 0px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 6px 7px 0px 0px rgba(0, 0, 0, 0.2);
	box-shadow: 6px 7px 0px 0px rgba(0, 0, 0, 0.2);
	font-size: 13px;
}
#result ul.inner li p span{
	font-size: 16px;
	font-weight: bold;
}
 
 /*
  step
  ------------*/
#step{
	margin-top: 190px;
	position: relative;
	padding-bottom: 80px;
	z-index:50;
}
#step::before{
	position: absolute;
	bottom: -6.35vw;
	left: 0;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-width: 6.4vw 50vw 0 50vw;
    border-color: #fff transparent transparent transparent;
    border-style: solid;
    /*margin-left: 14px;*/
    vertical-align: middle;
 -webkit-filter: drop-shadow(0px 3px 2px rgba(0,0,0,.2));
        filter: drop-shadow(0px 3px 2px rgba(0,0,0,.2));
}
#step ol{
	margin-top: 50px;
}
#step li{
	border: 5px solid #ccc;
	position: relative;
	display: -ms-flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: -5px;
}
#step li::before{
	content: "";
	position: absolute;
	bottom: -32px;
	left: 50%;
	border-top: 5px solid #ccc;
  border-right: 5px solid #ccc;
  transform: translateX(-50%) rotate(135deg);
	width: 50px;
	height: 50px;
	z-index: 100;
}
#step li::after{
	content: "";
	position: absolute;
	bottom: -25px;
	left: 50%;
	border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateX(-50%) rotate(135deg);
  background: #fff;
	width: 50px;
	height: 50px;
	z-index: 200;
}
#step li:last-child::before,
#step li:last-child::after{
	border: none;
	background: none;
	width: 0;
	height: 0;
	bottom: 0;
}
#step li h3{
	background: #d3d3d3;
	color: #333333;
	font-size: 18px;
	text-align: center;
	padding: 50px 138px 50px 50px;
	box-sizing: border-box;
	position: relative;
}
#step li h3::before{
	content:"";
	position: absolute;
	bottom:0;
	left: 146px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 306px 142px;
	border-color: transparent transparent #ffffff transparent;
}
#step li h3 span{
	font-size: 70px;
	line-height: 1;
}
#step li p{
	font-size: 24px;
	font-weight: bold;
	padding: 110px 0 0 0;
}
#step li img{
	max-width: 368px;
}
#step li:nth-child(5){
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
#step li:nth-child(5) h3{
	margin-right: 90px;
}
#step li:nth-child(5) h3::before{
	border-width: 0 0 197px 100px;
	left: 188px;
}
#step li:nth-child(5) p{
	padding-top: 80px;
}
 /*
  announce
  ------------*/
#announce{
 	background: url("images/announce_img_01.png") no-repeat center top #fff;
	padding: 170px 0 60px;
	position: relative;
	z-index: 30;
 }
#announce::before{
	position: absolute;
	bottom: -6.35vw;
	left: 0;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-width: 6.4vw 50vw 0 50vw;
    border-color: #fff transparent transparent transparent;
    border-style: solid;
    /*margin-left: 14px;*/
    vertical-align: middle;
 -webkit-filter: drop-shadow(0px 3px 2px rgba(0,0,0,.2));
        filter: drop-shadow(0px 3px 2px rgba(0,0,0,.2));
}
#announce h2{
	line-height: 1;
	background: #555555;
	-moz-box-shadow: 0px 0px 8px 0px rgba(255, 255, 255, 0.8);
	-webkit-box-shadow: 0px 0px 8px 0px rgba(255, 255, 255, 0.8);
	box-shadow: 0px 0px 8px 0px rgba(255, 255, 255, 0.8);
	padding: 45px 5.5vw;
	width: 54.5vw;
	box-sizing: border-box;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 100px;
}
#announce p{
	font-size: 18px;
	line-height: 1.8;
	text-align: center;
	margin-bottom: 15px;
}
#announce .catch{
	text-align: center;
	color: #333333;
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 10px;
}
#announce .bgTxt{
	background: #333;
	color: #fff;
	padding: 5px;
	margin: 0 auto;
	width: 412px;
	font-size: 16px;
	box-sizing: border-box;
	margin-bottom: 38px;
}
#announce .announceBox{
	background: #d3d3d3;
	padding: 40px 0;
	margin-bottom: 70px;
}
#announce .announceBox p{
	text-align: center;
	font-weight: bold;
	font-size: 16px;
}
#announce .announceBox dl{
	width: 830px;
	margin: 0 auto;
	display: -ms-flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
#announce .announceBox dt,
#announce .announceBox dd{
	background: #fff;
	padding: 15px;
	box-sizing: border-box;
	margin-bottom: 13px;
}
#announce .announceBox dt{
	text-align: center;
	margin-right: 5px;
	width: 20%;
 
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex; 
 align-items: center;
 justify-content: center;
}
#announce .announceBox dd{
	width: 78.5%;
}
#announce h3{
	background: #d3d3d3;
	color: #333333;
	font-size: 24px;
	padding: 10px 20px;
}
#announce h3 + p{
	text-align: left;
	font-size: 16px;
	line-height: 1.5;
	padding: 10px 20px;
	margin-bottom: 0;
}
#announce h3 + p + h3{
	margin-top: 50px;
}
#announce ul{
	list-style-type: disc;
	margin: 20px 0 0 20px;
}
#announce ul li{
	margin: 0 0 10px 0;
}

 /*
  contact
  ------------*/
#contact{
	background: #d3d3d3;
	padding: 180px 0 80px;
}
#contact .inner{
	text-align: center;
}
#contact h2{
	text-align: center;
	color: #000;
	font-size: 40px;
	font-weight: normal;
	margin-bottom: 35px;
}
#contact p{
	text-align: center;
	font-size: 16px;
	margin-bottom: 40px;
}
#contact p.lead{
position: relative;
  display: flex;
  margin: 1.5em auto;
  padding: 10px;
  width: 60%;
  background: #777777;
	color: #ffffff;
	text-align: left;
	align-items:center;
}

#contact p.lead:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #d3d3d3;
}
#contact p.lead img{
	width: 43%;
	margin-right: 10px;
}

#contact dl{
	display: -ms-flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 750px;
	margin: 0 auto;
}
#contact dt span{
	color: #EF595C;
	font-size: 12px;
}
#contact dt,.formTable th{
	width: 180px;
	padding-bottom: 25px;
	font-size: 16px;
}
#contact dd,.formTable td{
	width: 560px;
	padding-bottom: 25px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
#contact dd input,
#contact dd textarea{
	border: none;
	padding: 15px;
	width: 100%;
	font-size: 14px;
}
#contact dd input[type="radio"]{
	width: 20px;
	height: 20px;
}
#contact dl + p{
	text-align: center;
	font-size: 14px;
	margin-bottom: 23px;
}
#contact dl + p label{
	display: flex;
	align-items: center;
	justify-content: center;
}
#contact dl + p input{
	width: 25px;
	height: 25px;
	border: 1px solid #ccc;
}
#contact dl + p a{
	text-decoration: underline;
	color: #333333;
}
#contact .formBtn .btn{
 position: relative;
 display: inline-block;
}
#contact .formBtn .btn input{
	display: block;
	margin: 0 auto;
	background: #777777;
	color: #fff;
	text-align: center;
	border: none;
	padding: 18px 80px;
	font-size: 14px;
	position: relative;
}
#contact .formBtn .btn::after{
	position: absolute;
	content: "";
	top: 50%;
	right: 18px;
	border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
	width: 8px;
	height: 8px;
 margin-top: -4px;
}

.tab{
  display: flex;
  justify-content: center;
	width: 750px;
	margin: 0 auto;
	border-bottom:solid 1px #777777;	
}
.tab li{
  width: 40%;
  padding:10px;
  list-style:none;
  border:solid 1px #777777;
	border-bottom:none;
  text-align:center;
  cursor:pointer;
	margin: 0;
}
.panel-group{
margin-top: 30px;
}
.panel{
  display:none;
}
.tab li.is-active{
  background:#777777;
  color:#FFF;
  transition: all 0.2s ease-out;
}
.panel.is-show{
  display:block;
}

.formTable{
 width: 100%;
	max-width: 750px;
 margin: 0 auto;
}
.formTable th{
 font-weight: normal;
}
.formTable td{
 padding-left: 5px;
}
 .formBtn input[type=button]{
  padding: 10px;
  margin:0 0 0 20px ;
 }
.conf #contact .inner{
 background: #FFFFFF;
 padding: 30px;
}
/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
              smartphone
--------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
body{
	font-family: Arial, Roboto, “Droid Sans”, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
}
img{max-width:100%;}
.pcOnly,.pcOnlyI{ display:none;}
.spOnly{ display:block;}
.spOnlyI{ display:inline-block;}

/*SP common
---------------------------------------------------------------------------- */
.inner{
	width: 94%;
}


/* SP header
---------------------------------------------------------------------------- */
 #header{
  position: inherit;
 }
#header p{
	font-size: 14px;
	padding: 10px 50px 10px 10px;
}
 #header .spMenu{
  position: fixed;
  display: block;
  background: #d3d3d3;
  width: 40px;
  height:40px;
  padding:10px 5px;
  top: 0;
  right: 0;
  z-index: 1001;
 }
 #header .spMenu span{
  display: block;
  background: #FFFFFF;
  width: 100%;
  height: 2px;
 }
 .spMenu span::before,
 .spMenu span::after{
  content: "";
  display: block;
  background: #FFFFFF;
  width: calc(100% - 10px);
  height: 2px;
  position: absolute;
  left: 5px;
 }
 .spMenu span::before{
  top: 50%;
  margin-top: -1px;
 }
 .spMenu span::after{
  bottom: 10px;
 }
/* gNavi */
#gNavi{
 position: fixed;
	transition: all 0.2s;
transform: translate(157px);
}
 #gNavi.open{
	transform: translate(0); }

/*SP footer
---------------------------------------------------------------------------- */
#footer{
   padding: 50px 0 30px;
}
 .footInfo{
  width: 100%;
  padding: 0 0 20px;
  text-align: center;
 }
 
 
 
 
.fNavi {
  width: 100%;
  text-align: center;
}
.fNavi li:not(:last-child){
	margin-right: 40px;
}
.fNavi p{
	margin-top: 20px;
	text-align: center;
}
#copy{
 margin-top: 20px;
	text-align: center;
   color: #fff;
   font-size: 10px;
}

/* index
---------------------------------------------------------------------------- */
#mainImg{
    padding: 50px 0 165px 0;
    background-position: left 0 top 0;
}
#mainImg h1 span{
	font-size: 16px;
	padding-left: 5%;
	padding-right: 5%;
}
#mainImg h1 span:first-child{
	margin-right: 10px;
}

 /*
 Sp about
 ---------*/
 #about{
 	padding: 40px 0 30px;
 }
 #about .flex{
  display: block;
	margin-top: 40px;
  text-align: center;
 }
 #about .flex > img{
  width: 60%;
  margin: 0 auto;
 }
 #about .txt{
 padding: 30px 0 0 0;
 }
 #about .txt h3{
	 margin-bottom: 20px;
	 font-size: 20px;
	 text-align: left;
 }
 #about .txt p{
	 margin-bottom: 10px;
	 font-size: 16px;
 }

#about .txt span.structure {
	padding: 15px;
	max-width: 100%;
}




/*
  SP result
  ------------*/
.resultHeader{
 height: auto;
	min-height: 145px;
 padding: 10px 0 0;
}
.resultHeader h2{
	position: relative;
	top: 0;
	padding: 20px 10px;
 margin: 0 0 10px;
	border-radius: 10px;
	font-size: 20px;
 text-align: center;
}
.resultHeader h2 span{
	font-size: 32px;
}
.resultHeader p{
	position: relative;
	top: 0;
	left: 0;
	width: auto;
	margin: 0 auto;
	font-size: 27px;
 text-align: center;
}
.resultHeader p .num{
	font-size: 20px;
}
.resultHeader p .num span{
	font-size: 60px;
	padding-left: 15px;
}
.resultHeader p .note{
	font-size: 12px;
	font-weight: normal;
	display: block;
	margin: 10px 0;
}
.resultHeader ul{
	width: auto;
	position: relative;
	top: 0;
	right: 0;
}
#result {
	padding-bottom: 5vw;
}
#result::before{
    border-width: 6.4vw 55vw 0 55vw;
    margin-left: -5vw;
}
#result ul.inner{
 display: block;
 max-width: 498px;
	margin: 0 auto 0;
	width: auto;
}
#result ul.inner{
	display: -ms-flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
}
#result ul.inner li{
	width: auto;
	height: auto;
	position: relative;
	margin-top: 40px;
}
#result ul.inner li h3{
	border: 3px solid #fff;
	font-size: 16px;
	width: 100px;
	height: 100px;
	box-sizing: border-box;
	position: relative;
	left: 0;
 margin: 0 0 -50px 10px;
}
#result ul.inner li h3 span{
	display: table-cell;
	vertical-align: middle;
}
#result ul.inner li img{
	position: relative;
	z-index: 0;
	top: 0;
}
#result ul.inner li p{
	position:relative;
	top: 0;
	right: 0;
 width: 80%;
 min-width: 270px;
 margin: -5vw 3% 0 auto;
	padding: 10px 20px;
	font-size: 13px;
}

 /*
 SP step
  ------------*/
#step{
	margin-top: 80px;
	padding-bottom: 40px;
}
#step::before{
    border-width: 6.4vw 55vw 0 55vw;
    margin-left: -5vw;
}
#step ol{
	margin-top: 50px;
}
#step li{
	border: 5px solid #ccc;
	position: relative;
	display: block;
 padding-bottom: 20px;
	margin-top: -5px;
 text-align: center;
}
 #step li:last-child{
  padding-bottom: 0;
 }
#step li h3{
	font-size: 18px;
	padding: 55px 50px 20px;
}
 #step li:first-child h3{
  padding-top: 20px;
 }
#step li h3::before{
 display: none;
}
#step li p{
 display: inline-block;
	font-size: 20px;
	padding: 10px;
}
 #step li img{
  position: relative;
	z-index: 205;
	width: 100%;
 }
 #step li:nth-child(5) h3{
		margin-right: 0;
	}
 #step li:nth-child(5) p{
 	padding-top: 30px;
 }
 
 /*
 SP announce
  ------------*/
#announce{
 	background: url("images/announce_img_01.png") no-repeat center top #fff;
	padding: 45vw 0 60px;
 }
#announce::before{
 bottom: -6.30vw;
    border-width: 6.4vw 55vw 0 55vw;
    margin-left: -5vw;
}
#announce h2{
	padding: 45px 5.5vw;
	width: 84.5vw;
	margin-bottom: 25vw;
 line-height: 1;
 font-size: 0;
}
#announce p{
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 15px;
}
#announce .catch{
	font-size: 32px;
	margin-bottom: 10px;
 line-height: 1.3;
}
#announce .bgTxt{
	padding: 5px;
	width: auto;
	font-size: 15px;
	margin-bottom: 30px;
}
#announce .announceBox{
	padding: 30px 10px;
	margin-bottom: 50px;
}
#announce .announceBox p{
	font-size: 14px;
}
#announce .announceBox dl{
	width: auto;
	display: block;
}
#announce .announceBox dt,
#announce .announceBox dd{
	padding: 10px;
	margin-bottom: 13px;
}
#announce .announceBox dt{
	margin-right:0;
 margin-bottom: 3px;
	width: auto;
}
#announce .announceBox dd{
	width: auto;
}
#announce h3{
	font-size: 20px;
	padding: 10px 10px;
}
#announce h3 + p{
	font-size: 14px;
	line-height: 1.5;
}
#announce h3 + p + h3{
	margin-top: 30px;
}
 
 /*
  SP contact
  ------------*/
#contact{
	padding: 100px 0 40px;
}
#contact h2{
	font-size: 35px;
	margin-bottom: 30px;
}
#contact p{
	text-align: left;
	font-size: 14px;
	margin-bottom: 40px;
}
#contact p.lead,
#contact p.lead img{
	width: 100%;
}
#contact dl{
	display: block;
	width: auto;
}
#contact dt,
 .formTable th{
	width: auto;
	padding-bottom: 10px;
	font-size: 16px;
}
#contact dd,
 .formTable td{
	width: auto;
	padding-bottom: 20px;
}
#contact dd input,
#contact dd textarea{
	padding: 10px;
}
#contact dl + p{
	font-size: 14px;
	margin-bottom: 20px;
}
#contact .formBtn{
 text-align:center;
}
 #contact .txtCenter{
  text-align: center;
 }
 .formTable{
}
 .formTable tr,
 .formTable tbody,
 .formTable thead,
.formTable th,
.formTable td{
 display: block;
}
 .formTable td{
  background: #FFFFFF;
  padding: 10px;
  margin-bottom: 10px;
 }
 .formBtn input[type=button]{
  display: block;
  width: 60%;
  padding: 10px;
  margin: 10px auto 0;
 }
}

.tab{
	width: auto;
}



/*SP END*/