@charset "UTF-8";
/*----------------------------------------------------------------- 
リセット
----------------------------------------------------------------- */
*,
*:after,
*:before {
	margin:0;
	padding:0;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	border: 0;
	outline: 0;
	 -webkit-appearance: none;
}
ol, ul,li{ list-style: none; margin:0; padding:0;}
:focus,
:active { outline:0;}
table {
	border-collapse: collapse;
	border-spacing: 0;
	}
th, 
td { padding:8px; line-height:1.4em;}
input{ margin-right:5px;}	
.switch {
	visibility: hidden;
}

body{ font:14px/1.5 ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif; margin:0; padding:0; color:#333;}
h1, h2, h3, h4, h5, h6, p,dt ,dl,dd{ font-size:inherit; margin:0; padding:0; }
hr{ display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
ul{ list-style:none; margin:0; padding:0; }
li{ margin:0; padding:0; }
img{ vertical-align:bottom; border:0; max-width: 100%; height: auto; width: auto\9; /* ie8 */  }
@media screen and (min-width: 360px) { * { -webkit-text-size-adjust: none; } }


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

.clearfix:after,
.header:after,
.contents:after,
#headerIn:after{ content: ".";display:block;height:0.1px;clear:both;visibility:hidden;font-size:0.1em;line-height:0; }
.clearfix,
.header,
.contents,
#headerIn{ display:inline-block;overflow:hidden;_overflow:visible;display:block; }
* html .clearfix,
* html .header,
* html .contents,
* html #headerIn{ height:1%; }


/* ----------- anchor */
a { color:#333; text-decoration:none;}
a:hover { color:#FD7E34; }
a .imgbt:hover{opacity:0.5;filter:alpha(opacity=50);cursor:pointer;}
a { -webkit-tap-highlight-color: rgba(0,0,0,0); }



/* ---------------------------------------------------------
	汎用ボタン
--------------------------------------------------------- */

.btn a,input.btn{
	 -webkit-appearance: none;
	display:block;
	margin:20px auto;
	background:#64B5F6;
	font-size:160%;
	font-weight: bold;
	width: 50%;
	text-align: center;
	padding:10px;
	border-radius: 5px;
  -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
  -moz-border-radius: 5px;   /* Firefox用 */  
	color: #fff;
}
.btn a:hover,input.btn:hover{ background:#FF9800;} 

.btn01 a,
input.btn01 {
  display: block;
  cursor: pointer;
  width: 300px;
  margin: 0 auto 20px auto;
  padding:15px 20px;
  font-size:16px;
  font-weight:bold;
  color: #fff;
  text-align: center;
  background-color: #0074BC;
  border:solid 3px #FFFFFF;
  box-shadow: 2px 2px 3px #6B6B6B;
  -webkit-box-shadow: 2px 2px 3px #6B6B6B;
  -moz-box-shadow: 2px 2px 3px #6B6B6B;
  -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
 
.btn01 a:hover,
input.btn01:hover {
  background-color:#0088DE;
  box-shadow: 1px 1px 3px #A4A4A4;
  -webkit-box-shadow: 1px 1px 3px #A4A4A4;
  -moz-box-shadow: 1px 1px 3px #A4A4A4;
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
}
 
.btn01 a:active,
input.btn01 a:active {
  color: #ddd;
  background-color: #12978d;
  box-shadow: 0 0 0 #047c71, 0 0 0px rgba(0,0,0,0.2);
  -webkit-transform: translateY(6px);
  transform: translateY(6px);
  transition-duration: 0.1s;
}


/* ---------------------------------------------------------
	フォーム、フォーム バリデーション
--------------------------------------------------------- */
.table01{
  width:100%;
  border-top:solid 1px #d9d9d9;
  border-right:solid 1px #d9d9d9;
  border-left:solid 1px #d9d9d9;
}
.table01 th,
.table01 td{
  padding:15px 10px;
  border-bottom:solid 1px #d9d9d9;
}
.table01 th{
  width:28%;
  color:#000;
  text-align:left;
  font-weight:normal;
  background:#ebebeb;
}
.table01 td{
  background:#FFFFFF;
}

.table02{
  width:100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.table02 th,
.table02 td{
  padding:15px 0 20px 0;
  vertical-align: middle;
  border-bottom: 1px solid #C4C3CD;
}
.table02 th{
  width:28%;
  color:#000;
  text-align:left;
}


/* ---------------------------------------------------------
	フォーム、フォーム バリデーション
--------------------------------------------------------- */

/* input base */
input, textarea {
	padding:10px;
	text-align:left;
	border:1px solid #ddd;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
input:focus,textarea:focus {
    border:solid 1px #489AD8;
}
input{ min-height:40px;}

input[type=checkbox],
input[type=radio]{ margin-right:5px; }
input[type=text],input[type=tel] { width: 70%; font-size:1.6em;display:block;}
textarea {  width:100%; font-size:1em;display:block;}

label,
input[type=text], 
input[type=tel], 
input[type=checkbox],
input[type=radio] { display:inline;}
 
input.myError,
textarea.myError{ background:#FFFFE6; }
p.myError{ color:#F00; padding-top:10px; font-weight:bolder; display:block; clear:both; }

.nini{ background:#085C63; color:#fff; padding:3px 6px 2px; font-weight:normal; font-size:12px; margin-right:10px;}
.caution{ background:#D74009; color:#fff; padding:3px 6px 2px; font-weight:normal; font-size:12px; margin-right:10px;}
table td p{ font-size: 86%; color: #666; margin-top: 5px;}
table td p span{ background:#ECECEC; color:#000; padding: 2px 5px 3px; margin-right:5px;} 
table td ul.list li{ padding:5px; }

/* ------------------------------------------------
	　common
    ---------------------------------------------- */

.fl { float:left;}
.fr { float:right;}

.mb5 { margin-bottom:5px;}
.mb10 { margin-bottom:10px;}
.mb20 { margin-bottom:20px;}
.mb30 { margin-bottom:30px;}
.mb40 { margin-bottom:40px;}
.mb50 { margin-bottom:50px;}
.mb60 { margin-bottom:60px;}
.mb70 { margin-bottom:70px;}
.mb90 { margin-bottom:90px;}

.ml5 { margin-left:5px;}
.ml10 { margin-left:10px;}
.ml12 { margin-left:12px;}
.ml13 { margin-left:13px;}
.ml15 { margin-left:15px;}
.ml20 { margin-left:20px;}
.ml25 { margin-left:25px;}
.ml30 { margin-left:30px;}

.mr5 { margin-right:5px;}
.mr10 { margin-right:10px;}
.mr15 { margin-right:15px;}
.mr20 { margin-right:20px;}
.mr30 { margin-right:30px;}

.mt5 { margin-top:5px;}
.mt10 { margin-top:10px;}
.mt15 { margin-top:15px;}
.mt20 { margin-top:20px;}
.mt30 { margin-top:30px;}
.mt40 { margin-top:40px;}
.mt50 { margin-top:50px;}
.mt60 { margin-top:60px;}

.pt5 { padding-top:5px;}
.pt10 { padding-top:10px;}
.pt20 { padding-top:20px;}
.pt30 { padding-top:30px;}
.pt40 { padding-top:40px;}

.pb5 { padding-bottom:5px;}
.pb10 { padding-bottom:10px;}
.pb20 { padding-bottom:20px;}
.pb100{ padding-bottom: 100px;}

.text10{ font-size:72%; }
.text11{ font-size:79%; }
.text12{ font-size:86%; }
.text13{ font-size:93%; }
.text14{ font-size:100%; }
.text16{ font-size:115%; }
.text18{ font-size:129%; }
.text20{ font-size:143%; }
.text24{ font-size:172%; }
.text28{ font-size:200%; }
.text30{ font-size:214%; }
.textC { text-align:center;}
.textR { text-align:right;}
.textL{ text-align: left;}
.textB { font-weight:bolder;}

.red { color:#f00;}

.box10p { width: 10%;}
.box15p { width: 15%;}
.box20p { width: 20%;}
.box35p { width: 35%;}
.box40p { width: 40%;}
.box45p { width: 45%;}
.box49p { width: 49%;}
.box50p { width: 50%;}
.box55p { width: 55%;}
.box60p { width: 60%;}
.box80p { width: 80%;}

.lrAuto{ margin-left:auto; margin-right:auto;}

.link a{ color:#FD7E33; text-decoration:underline; font-weight:bold;}
.link a:hover{ text-decoration:none;}

.va_b{ vertical-align:bottom;}
.va_m{ display:inline-block;vertical-align:middle;}

a.borderLink01{
  color:#333333;
  border-bottom: 1px solid #333333;
  transition: border-color 0.3s, color 0.3s;
}
a.borderLink01:hover{
  border-color:#ffd24d;
  color:#ffd24d;
}

a.blankLink01{
  padding-right:15px;
  background:url(../img/ico_link03.png) right center no-repeat;
  background-size:12px;
}
a.blankLink02{
  padding-right:15px;
  background:url(../img/ico_link04.png) right center no-repeat;
  background-size:12px;
}


/*----------------------------------------------------------------- 
common 404
----------------------------------------------------------------- */
.notfoundText01{ font-size:214%; font-weight:bold; margin-bottom:10px; text-align:center; }
.notfoundText02{ font-size:115%; font-weight:bold; margin-bottom:20px; text-align:center; }


/* ---------------------------------------------------------
	common 1000px
--------------------------------------------------------- */
.wrap01,
#gNavi ul,
#footerIn{
  margin:0 auto;
  width:1000px;
}


/* ---------------------------------------------------------
	common padding
--------------------------------------------------------- */
.ptbCommon01{
  padding:90px 0;
}


/*----------------------------------------------------
 	header
----------------------------------------------------*/
html,
body{
  height:100%;
  margin:0;
  padding:0;
}
#header{
  position: relative;
  width:100%;
  height: auto;
  min-height: 100%;
  background:url(../img/bg_top01.jpg) left top no-repeat;
  background-size: cover;
}
#headerSub{
  padding-bottom:30px;
}
#headerLogo{
  float:left;
  margin:30px 0 0 30px;
}
.headerContact01{
  float:right;
  margin:0 30px;
}
.headerContact02{
  float:right;
  margin-top:30px;
  margin-right: 30px;
}
.headerCatch01{
  position:absolute;
  top:40%;
  left:50%;
  margin:0 0 0 -265px;
  display:none;
}
.headerCatch01{
  max-width:530px;
}

/*----------------------------------------------------
 	gNavi
----------------------------------------------------*/
#gNavi{
  background:#000000;
  box-shadow: 0px 5px 5px #CFCFCF;
  -webkit-box-shadow: 0px 5px 5px #CFCFCF;
  -moz-box-shadow: 0px 5px 5px #CFCFCF;
}
#gNavi ul{display: flex;justify-content: center;}
#gNavi li{
/*  float:left;*/
  display:block;
}
@media only screen and (min-width: 960px){
  #gNavi li{
    text-align: center;
  }
}

#gNav01{
  width:111px;
}
#gNav02{
  width:271px;
}
#gNav03{
  width:271px;
}
#gNav04{
  width:196px;
}
#gNav05{
  width:136px;
}
#gNav06{
  width:145px;
}
#gNav08{
  width:193px;
}
/*#gNavi li img{
  width:100%;
}*/
#gNavi li a{
  padding-top:3px;
  display:block;
}
#gNavi a:after {
  display: block;
  content: "";
  width: 0;
  height: 3px;
  background-color: #ffd24d;
  margin:0 auto;
  transition: .25s ease-out;
  -webkit-transition: .25s ease-out;
  -moz-transition: .25s ease-out;
  -o-transition: .25s ease-out;
  -ms-transition: .25s ease-out;
}
#gNavi a:hover:after {
    width: 100%;
}
#gNavi li span{
  display:none;
}



/*----------------------------------------------------
 	footer
----------------------------------------------------*/
#footer{
  background:#000000;
  padding:40px 0;
}
#footerIn{
  position: relative; 
  overflow: hidden;
}
#footerIn > ul{
  position: relative;
  left: 50%;
  float: left;
}
#footerIn > ul > li{
  float:left;
  position: relative;
  left: -50%;
}
#footerIn{
  color:#FFFFFF;
}
#footerIn a{
  color:#FFFFFF;
  border-bottom: 1px solid #010101;
  transition: border-color 0.3s, color 0.3s;
}
#footerIn a:hover{
  border-color:#ffd24d;
  color:#ffd24d;
}
#copyright{
  margin-top:30px;
  clear:both;
}
.pageTop{
  position:fixed;
  right: 25px;
  bottom: 20px;
}


/*----------------------------------------------------
 	About
----------------------------------------------------*/
#aboutWrap{
  background:url(../img/bg_top02.png) center top no-repeat;
  background-size: cover;
  min-height:540px;
  text-align:center;
}
#aboutWrap p{
  font-size:16px;
  line-height:2;
}


/*----------------------------------------------------
 	Merit
----------------------------------------------------*/
#meritWrap{
  background:#E1E4EA;
}
.h3Merit01{
  background:#0074BC;
  text-align:center;
  font-size:24px;
  font-weight:bold;
  color:#FFFFFF;
  padding:15px 10px;
  margin-bottom:1px;
}
.meritImg01 img{
  width:100%;
}
.oneStop01{
  float:left;
  margin-right:30px;
}
.oneStop02{
  overflow:hidden;
}
.oneStopTitle01{
  color:#0074BC;
  border-top:solid 2px #0074BC;
  border-bottom:solid 2px #0074BC;
  padding:7px;
  font-size:24px;
  font-weight:bold;
  text-align:center;
  margin-bottom:20px;
}
.oneStop02 p{
  font-size:16px;
  margin-bottom:20px;
}


/*----------------------------------------------------
 	Actual
----------------------------------------------------*/
#actualWrap{
  background:url(../img/bg_top03.jpg) center bottom no-repeat;
  background-size: cover;
  min-height:540px;
}
#actualWrap h2{
  width:180px;
}
.actualText01{
  border-left: solid 2px #0074BC;
  padding-left:25px;
  margin-bottom:20px;
  font-size:16px;
  font-weight:bold;
  text-align:left;
}
.actualTable01{
  width:100%;
  border-top:solid 1px #9BD3F4;
  border-right:solid 1px #9BD3F4;
  border-left:solid 1px #9BD3F4;
}
.actualTable01 th,
.actualTable01 td{
  padding:15px 10px;
  border-bottom:solid 1px #9BD3F4;
}
.actualTable01 th{
  width:28%;
  color:#000;
  text-align:left;
  font-weight:normal;
  background:#FFD24D;
}
.actualTable01 td{
  background:#FFFFFF;
}

/*----------------------------------------------------
 	Plan
----------------------------------------------------*/
#planWrap .wrap01 { padding-top: 120px!important;}
#planWrap h2{
  width:252px;
}
.planList > li {
  background: #FFD24D url(../img/icoArrow.svg) right 10px center no-repeat;
  background-size: 0.5em;
  display: flex;
  align-items: center;
  margin-top: 1px;
}
.planList > li a {
  width: 100%;
  padding: 15px 32px 14px 15px;
  display: block;
  color: #222;
  text-align: center;
}
.planList > li:hover {
  background-color: #ffdf82;
}

.readyWrap { padding-top: 40vh;}
.readyText { font-size: 1.6rem;}
.readyWrap #copyright { font-size: 11px;}

@media only screen and (min-width: 960px){
  .planList {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1px;
  }
  .planList > li {
    width: calc(33.33333% - 1px);
  }
  .readyText { font-size:min(2vw,30px);}
  .readyWrap #copyright { font-size:clamp(12px, 1.2vw, 18px);}
}


/*----------------------------------------------------
 	contact
----------------------------------------------------*/
#contactWrap{
  background:#E1E4EA;
}

#contactWrap table{
  margin-bottom:20px;
}
.contactNavi01{
  text-align:center;
  color:#CA595B;
  margin-bottom:10px;
}


/*----------------------------------------------------
 	company
----------------------------------------------------*/
#topCompanyWrap{
  background:#0074BC;
}
.topCompany01{
  float:left;
  width:240px;
  margin-right:20px;
}
.topCompany02{
  float:left;
  width:400px;
  margin-right:20px;
}
.topCompany03{
  float:left;
  width:320px;
}
.topCompany03 iframe{
  width:100%;
}
.topCompany01 .telTitle01{
  background:#FFFFFF;
  color:#0074BC;
  font-size:12px;
  text-align:center;
  padding:5px;
  margin-bottom:10px;
}
.topCompany01 .tel01{
  margin-bottom:5px;
}
.topCompany01 .time01{
  margin-bottom:20px;
  color:#FFFFFF;
}
.topCompany02 .table01{
  font-size:12px;
  margin-bottom:15px;
}


/*----------------------------------------------------
 	contact
----------------------------------------------------*/
#privacyWrap{
  background:#E1E4EA;
}

#privacyWrap dt{
  font-weight:bold;
  font-size:18px;
  margin-bottom:5px;
}
#privacyWrap dd{
  margin-bottom:20px;
}


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

/* ---------------------------------------------------------
	common diplay
--------------------------------------------------------- */
.pcNone{
  display:none;
}
.fixed{
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
}

}


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

/* ---------------------------------------------------------
	common diplay
--------------------------------------------------------- */
.spNone{
  display:none;
}
  
/* ---------------------------------------------------------
	common padding
--------------------------------------------------------- */
.wrap01,
#gNavi ul,
#footerIn{
  padding:0 10px;
  width:100%;
}
.ptbCommon01{
  padding:40px 0;
}

/*----------------------------------------------------
 	header
----------------------------------------------------*/
#headerLogo{
  float:none;
  text-align:center;
  margin:25px 0 0 0;
}
#headerLogo img{
  width:150px;
}
.headerContact01,
.headerContact02{
  display:none !important;
}
.headerCatch01{
  position:absolute;
  max-width:350px;
  top:40%;
  left:50%;
  margin:0 0 0 -175px;
  display:none;
}

/*----------------------------------------------------
 	gNavi
----------------------------------------------------*/
#gNavi{
  position:fixed;
  top:10px;
  width:100%;
  background:none;
  box-shadow:none;
  -webkit-box-shadow:none;
  -moz-box-shadow::none;
}
#gNavi .spMenu01{
  text-align:right;
  margin-right:10px;
}
#gNavi .spMenu01 img{
  width:50px;
}
#gNavi ul{
  display:none;
  position:relative;
  z-index:2;
  overflow:hidden;
  margin-top:10px;
}
#gNavi li{
  background:#000000;
  float:none;
  display:block;
  width:100%;
  border-top:dotted 1px #E2E2E2;
  margin-top:-1px;
}
#gNavi li a{
  display:block;
  padding:15px 30px;
  color:#FFFFFF;
  background:url(../img/ico_link01.png) 10px center no-repeat;
  background-size:12px;
}
#gNavi a:after {
  display: none;
}
#gNavi li img{
  display:none;
}
#gNavi li span{
  display:inline;
}
#gNavi li .spMenuClose{
  display:block !important;
  padding:15px;
  color:#FFFFFF;
  text-align:center;
}
#gNavi li .spMenuClose span{
  padding:0 20px;
  background:url(../img/ico_link02.png) left center no-repeat;
  background-size:12px;
}


/*----------------------------------------------------
 	footer
----------------------------------------------------*/
#footer{
  background:#000000;
  padding:40px 0;
}
#footerIn{
  position: relative; 
  overflow: hidden;
}
#footerIn > ul{
  display:none;
}
#footerIn{
  color:#FFFFFF;
}
#copyright{
  margin:10px 0;
  clear:both;
}

/*----------------------------------------------------
 	H2
----------------------------------------------------*/
.ptbCommon01 h2 { margin-left: auto; margin-right: auto; text-align: center;}

/*----------------------------------------------------
 	About
----------------------------------------------------*/
#aboutWrap{
  background:url(../img/bg_top02.png) center bottom no-repeat;
  min-height:300px;
}
#aboutWrap p{
  text-align:left;
}

/*----------------------------------------------------
 	Merit
----------------------------------------------------*/
.h3Merit01{
  font-size:20px;
}
.oneStop01{
  float:none;
  width:60%;
  text-align:center;
  margin:0 auto 10px auto;
}
.oneStopTitle01{
  font-size:20px;
}


/*----------------------------------------------------
 	company
----------------------------------------------------*/
.topCompany01{
  float:none;
  width:100%;
  text-align:center;
}
.topCompany02{
  float:none;
  width:100%;
}
.topCompany03{
  float:none;
  width:100%;
}
.footTelSp01{
  border:solid 2px #FFFFFF;
  padding:10px;
  text-align:center;
  margin-bottom:15px;
}
.topCompany01 .telTitle01{
  background:none;
  color:#FFFFFF;
  font-size:12px;
  text-align:center;
  padding:0;
  margin-bottom:10px;
}
.topCompany01 .tel01{
  margin-bottom:0;
}

}

@media only screen and (max-width: 667px){
  
.table01 th,
.table02 th,
.actualTable01 th,
.table01 td,
.table02 td,
.actualTable01 td{
  width:100%;
  display:block;
}
.table02 th{
  border:none;
  padding-bottom:5px;
}

input[type=text],input[type=tel] { width: 100%; font-size:1.2em;display:block;}

}




