@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
#main .topBox {
	padding: 13px 0 12px;
	background-color: #3ea5ae;
}
#main .topBox p {
	width: 900px;
	margin: 0 auto;
	color: #fff;
}
#main .mainVisual {
	background: url("../img/top/main_visual_bg.png") repeat bottom left;
	overflow: hidden;
}
#main .mainVisual .inner {
	width: 900px;
	margin: 0 auto; 
	position: relative;
	padding: 40px 0  0;
}
#main .mainVisual .photo {
	width: 540px;
	position: absolute;
	right: -132px;
	bottom: 0;
	z-index: 1;
}
#main .mainVisual .whiteBox {
	padding: 30px;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
#main .mainVisual h1 {
	margin-bottom: 20px;
}
#main .mainVisual h1 img {
	width: 696px;
}
#main .mainVisual .textImg01 img {
	width: 547px;
}
#main .mainVisual .textImg02 {
	margin-top: 20px;
}
#main .mainVisual .textImg02 img {
	width: 548px;
}
#main .mainVisual .img01 {
	width: 265px;
	position: absolute;
	left: -280px;
	top: 63px;
}
#main .mainVisual .img02 {
	width: 260px;
	position: absolute;
	right: -352px;
	top: 89px;
}
#main .mainVisual .img03  {
	width: 150px;
	position: absolute;
	right: -235px;
	bottom: -65px;
	z-index: 2;
}
#main .mainVisual .textImg03 {
	width: 912px;
	margin: 9px auto 34px auto;
	position: relative;
	z-index: 2;
	text-align: center;
}
#main .mainVisual .textImg03 img {
	width: 912px;
}
/*===============================================
.sec01
=================================================*/
#main .sec01 {
	padding: 81px 0 0;
}
#main .sec01 h2 {
	margin-bottom: 36px;
}
#main .sec01 h2 span.underline {
	padding-bottom: 1px;
	border-bottom: 2px solid #3ea6ae;
}
#main .sec01 .listBox {
	margin-bottom: 29px;
	padding: 34px 37px 35px 39px ;
	border: 1px solid #8398a2;
	border-radius: 10px;
}
#main .sec01 ul li {
	margin-top: 12px;
	padding: 0 0 0 30px;
	background: url("../img/top/icon01.png") no-repeat left top 3px;
	background-size: 20px 19px;
}
#main .sec01 ul li:first-of-type {
	margin-top: 0;
}
#main .sec01 .textBox{
	position: relative;
	padding-bottom: 85px;
}
#main .sec01 p {
	margin-top: 12px;
}
#main .sec01 p:first-of-type {
	margin-top: 0;
}
#main .sec01 .photo{
	position: absolute;
	right: -210px;
	bottom: 0;
}
#main .sec01 .photo img{
	width: 405px;
}


/*===============================================
.sec02
=================================================*/
#main .sec02 {
	padding: 93px 0 95px;
}
#main .sec02 .headLine02{
	margin-bottom: 35px;
}


/*===============================================
.sec03
=================================================*/
#main .sec03 {
	padding: 93px 0 95px;
}
#main .sec03 .headLine02{
	margin-bottom: 35px;
}
#main .sec03 h5{
    font-size: 1.8rem;
    line-height: 1.61;
    margin-bottom: 22px;
}
#main .sec03 .subInner.sub02{
    margin-bottom: 40px;
}
#main .sec03 .subInner.sub02 + .subInner.sub02{
    margin-bottom: 44px;
}
#main .sec03 .summary {
    padding: 40px 30px 35px 40px;
	width: 900px;
	margin: 44px auto 4px;
	border-radius: 10px;
    border: 1px solid #8398a2;
}
#main .sec03 .summary h5 {
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
}

#main .sec03 .summary ul li{
    letter-spacing: 0.025em;
}


/*===============================================
.sec04
=================================================*/
#main .sec04 {
	padding: 93px 0 95px;
}
#main .sec04 h2.headLine02{
    margin-bottom: 22px;
}
#main .sec04 h2 + p{
    margin-bottom: 40px;
}
#main .sec04 h3 {
    font-size: 2.2rem;
    line-height: 1.45;
    margin-bottom: 22px;
} 


/*===============================================
.sec05
=================================================*/
#main .sec05 {
	padding: 93px 0 95px;
}
#main .sec05 h2.headLine02{
    margin-bottom: 30px;
}
#main .sec05 h3 .text.width100{
    width: 100%;
}
#main .sec05 h5{
	margin-top: 27px;
}
#main .sec05 h5:first-of-type{
	margin-top: 24px;
}
#main .sec05 .topText p{
    margin-top: 0;
}
#main .sec05 .infoBox:last-of-type h3.headLine03 {
	margin-bottom: 35px;
}
#main .sec05 .infoBox:last-of-type .subInner:first-of-type{
	margin-bottom: 54px;
}
#main .sec05 h5 + ul{
	margin-top: 12px;
}
#main .sec05 ul:first-of-type{
	margin-left: 10px;
}
#main .sec05 ul + ul{
    margin-left: 60px;
}
#main .sec05 ul li:before{
    width: 8px;
    background-size: 8px 8px;
}
#main .sec05 ul li:first-of-type{
    margin-top: 0;
}

/*===============================================
.sec06
=================================================*/
#main .sec06 {
	padding: 92px 0 95px;
}
#main .sec06 h2.headLine02{
    margin-bottom: 30px;
}
#main .sec06 ul li{
	padding: 70px 0 75px;
	border-bottom: 1px solid #e8ecf1;
}
#main .sec06 ul li:first-of-type{
	padding-top: 0;
}
#main .sec06 ul li:last-of-type{
	padding-bottom: 0;
	border-bottom:none;
}
#main .sec06 ul li .staffBox{
	width: 630px;
	margin: 0 auto;
}
#main .sec06 h3 {
   font-size: 2rem;
	margin-bottom: 18px;
}
#main .sec06 p.staffName{
    font-weight: bold;
	margin-top: 15px;
}

/* thumbnail */
#main .sec06 .video {
	position: relative;
	width: 100%;
	padding-top: 55.873015873%;
}
#main .sec06 .video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#main .sec06 .video figure{
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
	margin: 0;
}
#main .sec06 .video img{
	transition: .5s;
}
#main .sec06 .video img:hover{
	opacity: 0.7;
}

/*===============================================
.sec07
=================================================*/
#main .sec07 {
	padding: 90px 0 100px;
}
#main .sec07 h2.headLine02{
    margin-bottom: 41px;
}
#main .sec07 .photoBox{
	width: 49.5%;
}
#main .sec07 .photo01{
	padding-top: 2px;
}
#main .sec07 .photo02{
	position: relative;
	width: 467px;
	height: auto;
}
#main .sec07 .photo02 img{
	position: absolute;
	top: 86px;
	left: -59px;
}
#main .sec07 .table{
	width: 50.5%;
}
#main .sec07 .timeTable {
	width: 100%;
	border-collapse: collapse;
	word-break: break-all;
	border: 2px solid #d0d8e2;
}
#main .sec07 .timeTable th,
#main .sec07 .timeTable td {
	padding: 11px 12px 11px 12px;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
	background-color: #FFF;
	border: 1px solid #d0d8e2;
}
#main .sec07 .timeTable th {
	width: 22%;
	padding: 5px 10px;
	text-align: center;
	font-weight: bold;
	background-color: #e8ecf1;
	border-right: none;
}
#main .sec07 .timeTable td{
	width:78%;
	border-left:none;
}
#main .sec07 .timeTable td .title{
	display: block;
	font-weight: bold;
}


/*===============================================
.sec08
=================================================*/
#main .sec08 {
	padding: 92px 0 95px;
	background-color: #e8ecf1;
}
#main .sec08 h2.headLine02{
    margin-bottom: 30px;
}
#main .sec08 h3{
	font-size: 2.2rem;
	line-height: 2.18;
}
#main .sec08 h3 span{
	display: block;
	line-height: 1;
}
#main .sec08 .photoList{
	margin: 17px auto 24px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .sec08 .photoListl li {
	width: 293px;
}
#main .sec08 .photoList li:first-child {
	margin-bottom: 10px;
	width: 100%;
}
#main .sec08 .infoBox{
	border-color: #d0d8e2;
	margin-bottom:80px;
}
#main .sec08 .infoBox:last-of-type{
	margin-bottom: 0;
}
#main .sec08 .infoBox .subInner:first-of-type{
	margin-top: 46px;
}
#main .sec08 ul.list{
	margin-bottom: 12px;
}
#main .sec08 .infoBox  h4.headLine04{
	font-size: 2rem;
}
#main .sec08 .infoBox .subInner:nth-of-type(2) h4.headLine04{
	margin-bottom: 35px;
}
#main .sec08 .map iframe{
	vertical-align: middle;
}
#main .sec08 .map + dl{
	margin-top: 14px;
	display: flex;
}

/*===============================================
.sec09
=================================================*/
#main .sec09 {
	padding: 92px 0 100px;
}
#main .sec09 h2.headLine02{
    margin-bottom: 40px;
}
#main .sec09 .flexWrap{
	justify-content: space-between;
}
#main .sec09 .overview{
	width: 430px;
}
#main .sec09 dl {
  display: flex;
  border-bottom: solid 1px #d0d8e2;
  line-height: 1.3;
}
#main .sec09 dl:first-of-type {
  border-top: solid 1px #d0d8e2;
}
#main .sec09 dl dt {
  width: 35%;
	height: 74px;
  padding: 29px 0 31px 10px;
  font-weight: bold;
}
#main .sec09 dl dd {
  width: 65%;
	height: 74px;
  padding: 29px 0 31px 0;
}
#main .sec09 dl dd.line2{
	padding: 20px 0 20px 0;
}


/*===============================================
.sec10
=================================================*/
#main .sec10 {
	padding: 92px 0 100px;
	background-color: #e8ecf1;
}
#main .sec10 h2.headLine02{
    margin-bottom: 40px;
}
#main .sec10 dl {
  display: flex;
  border-bottom: solid 1px #fff;
  line-height: 1.3;
}
#main .sec10 dl:first-of-type {
  border-top: solid 1px #fff;
}
#main .sec10 dl dt {
  width: 16.6%;
  padding: 27px 0 27px 10px;
  font-weight: bold;
}
#main .sec10 dl dd {
  width: 83.4%;
  padding: 27px 0 27px 0;
}
#main .sec10 dl.nest > dt{
	padding: 24px 0 24px 10px;
}
#main .sec10 dl.nest > dd{
	padding: 24px 0 24px 0;
}
#main .sec10 dl.nest dd > dl{
	display: flex;
  border: none;
	line-height: 1.5;
}
#main .sec10 dl.nest dd > dl dt{
  padding: 0;
	margin-right: 20px;
	font-weight: normal;
}
#main .sec10 dl.nest dd.salary > dl dt{
	width:93px;
}
#main .sec10 dl.nest dd.salary > dl dd{
	width: auto;
  padding:0;
}
#main .sec10 dl.nest dd.time > dl dt{
	width:68px;
}
#main .sec10 dl.nest dd.time > dl dd{
	width: auto;
  padding:0;
}
#main .sec10 dl dd.benefit{
	display: flex;
}
#main .sec10 dl dd.benefit ul:first-of-type{
	padding-left: 2px;
}
#main .sec10 dl dd.benefit ul + ul{
	margin-left: 50px;
}
#main .sec10 dl dd.benefit ul.list li{
	padding-left: 12px;
	margin-top:3px;
}
#main .sec10 dl dd.benefit ul.list li:first-of-type{
	margin-top: 0;
}
#main .sec10 dl dd.benefit ul.list li:before{
  width: 3px;
  background-size: 3px 3px;
  background-position: center top 8px;
}
#main .sec10 dl dd.benefit ul + ul li p{
	font-size: 1.4rem;
	line-height: 1.5;
}

/*===============================================
.secFlow
=================================================*/
#main .secFlow {
	padding: 92px 0 0;
}
#main .secFlow h2.headLine02{
    margin-bottom: 40px;
}
#main .secFlow .flow{
	text-align: center;
}


/*===============================================
.secContact
=================================================*/
#main .secContact {
	padding: 92px 0 114px;
}
#main .secContact h2.headLine02{
    margin-bottom: 40px;
}
#main .secContact .stepImg{
	margin: 30px 0 50px;
	text-align: center;
}
#main .secContact p{
	text-align: center;
}
/*------------------------------------------------------------
.mailForm
------------------------------------------------------------*/
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;
}
/* Chrome */ ::-webkit-input-placeholder {
  color: #939baa;
  opacity: 1
}
/* Firefox */ ::-moz-placeholder {
  color: #939baa;
  opacity: 1
}
/* IE */ :-ms-input-placeholder {
  color: #939baa;
  opacity: 1
}
#main .mailForm .comTable .vaTop{
	vertical-align: top;
}
#main .mailForm .comTable .vaTop > th{
	padding: 30px 0 0 10px !important;
}
#main .mailForm .comTable span.note{
	display: inline-block;
	font-size: 1.4rem;
}
#main .secContact span.note {
	position:relative;
	list-style:none;
	padding-left: 1em;
	text-indent:-1em;
}
#main .secContact span.note:before {
	top:0;
	left:0;
	content: '※';
	font-size:1.4rem;
}
#main .mailForm .comTable {
	width: 100%;
	border-collapse: collapse;
	word-break: break-all;
	border: none;
}
#main .mailForm .comTable {
    margin-bottom: 50px;
}
#main .mailForm .comTable th, 
#main .mailForm .comTable td {
	padding: 26px 0;
    width: auto;
    font-size: 1.6rem;
    border-top: 1px solid  #d0d8e2;
}
#main .mailForm .comTable tr:last-of-type th,
#main .mailForm .comTable tr:last-of-type td {
	border-bottom: 1px solid #d0d8e2;
}

#main .mailForm .comTable th {
    width: 250px;
    font-weight: bold;
    text-align: left;
    border-left: none;
	position: relative;
	padding-left:10px;
}

#main .mailForm .comTable th.required,
#main .mailForm .comTable th.optional{
	position: relative;
}
#main .mailForm .comTable th.required:after,
#main .mailForm .comTable th.optional:after{ 
  display: inline-block; 
  padding: 9px 10px 8px;
  font-size: 1.4rem;
	line-height: 1;
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 30px;
	right: 40px;
}
#main .mailForm .comTable th.required:after{
	content: "必須";
	background-color: #3ea6ae;
}
#main .mailForm .comTable th.optional:after {
  content: "任意";
  background-color: #939baa;
}
#main .mailForm .comTable td input[type="text"] {
    margin: 0 35px 0 4px;
    padding: 12px 15px 12px;
    font-size: 1.6rem;
    width: 200px;
	height: 40px;
    box-sizing: border-box;
    border: 1px solid #939baa;
    border-radius: 0;
    -webkit-appearance: none;
    background-color: #f2f4f6;
}
#main .mailForm .comTable .tel th,
#main .mailForm .comTable .tel td{
	padding: 26px 0 18px;
}
#main .mailForm .comTable .tel td input[type="text"] {
    margin: 0 5px 3px 5px;
    width: 120px;
}
#main .mailForm .comTable .tel td input[type="text"]:first-of-type {
    margin: 0 5px 3px 0;
}
#main .mailForm .comTable .tel td input[type="text"]:last-of-type {
    margin: 0 10px 3px 5px;
}
#main .mailForm .comTable .email th,
#main .mailForm .comTable .email td{
	padding: 26px 0 18px;
}
#main .mailForm .comTable .email td input[type="text"] {
    margin: 0 10px 3px 0;
    width: 500px;
}
#main .mailForm .comTable .address td input[type="text"] {
    width: 650px;
	margin: 0;
}
#main .mailForm .comTable td ul {
    margin: 5px 0 8px;
}
#main .mailForm .comTable td li {
    margin-right: 33px;
    float: left;
}
#main .mailForm .comTable td li:last-child {
    margin-right: 0;
}
#main .mailForm .comTable .age td input[type="text"] {
    width: 120px;
	margin: 0;
}
#main .mailForm .comTable .entry th,
#main .mailForm .comTable .entry td{
	padding-top: 30px;
}
#main .mailForm .comTable .entry th{
	line-height: 1.3;
	vertical-align: top;
	padding-top: 32px;
}
#main .mailForm .comTable .entry th .multiple{
	font-size: 1.4rem;
}
#main .mailForm .comTable .entry td ul:first-of-type {
    margin-bottom: 22px;
}
#main .mailForm .comTable .entry td ul.way{
	margin: 0;
}
#main .mailForm .comTable .entry td ul.way li {
    float: none;
}
#main .mailForm .comTable .entry td ul.way li:nth-of-type(n+2){
	margin: 10px 0 0;
}
#main .mailForm .comTable .entry td ul.way li label {
    margin-right: 30px;
}
#main .mailForm .comTable .entry td ul.way li:last-of-type label {
    margin-right: 0;
}
#main .mailForm .comTable .entry td li input {
    vertical-align: middle;
    margin-top: 0;
}
#main .mailForm .comTable .entry td .way li:first-child input[type="text"] {
    width: 250px;
	margin-left: 18px;
}
#main .mailForm .comTable .entry td .way li:last-child input[type="text"] {
    width: 250px;
	margin:0 0 0 82px;
}
#main .mailForm .comTable textarea {
    padding: 10px 14px;
    width: 100%;
    height: 250px;
    font-size: 1.6rem;
    border: 1px solid #939baa;
    background-color: #f2f4f6;
    -webkit-appearance: none;
	vertical-align: middle;
}
#main .mailForm .comTable textarea:focus {
    background: #fff;
}

/* radio
-------------------------------------*/
#main .mailForm .radioBtn {
  line-height: 1.2;
}
#main .mailForm .radioBtn > ul li {
  display: inline-block;
  margin-top: 5px;
  margin-right: 28px;
	margin-left: 0 !important;/* default style overwrite */
}

/* デフォルト非表示 */
.radioBtn input[type=radio].radioBtnItem{
  position: absolute;
  opacity: 0;
  z-index: -1; 
}

.radioBtn .checkRadio {
  padding-left: 30px;
  display: inline-block;
  position: relative;
}

/* 各パーツ */
.radioBtn .checkRadio::after,
.radioBtn .checkRadio::before {
  content: '';
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  background: #e8ecf1;
  border-radius: 50%;
}
.radioBtn .checkRadio::before {
  top: 0;
  left: 0;
}
.radioBtn .checkRadio::after {
  opacity: 0;
  top: 6px;
  left: 6px;
}

/*
  checked状態
*/
.radioBtn .radioBtnItem:checked + .checkRadio::before {
  background: #3ea6ae;
}
.radioBtn .radioBtnItem:checked + .checkRadio::after {
  opacity: 1;
	width: 8px;
  height: 8px;
  background: #ffffff;
}

/* checkbox
-------------------------------------*/
#main .mailForm .checkbox ul{
	margin: 4px 0 20px;
}
#main .mailForm .checkbox ul li {
  line-height: 1.2;
}

#main .mailForm .checkbox input[type=checkbox]{
  display: none;
}
#main .mailForm .checkbox label {
  display: inline-block;
}
#main .mailForm .checkbox ul li .checkboxItem {
  padding-left: 30px;
  position: relative;
}

/* 各パーツを作成 */
#main .mailForm .checkbox ul li .checkboxItem::after,
#main .mailForm .checkbox ul li .checkboxItem::before {
  content: '';
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
  background: #e8ecf1;
}
#main .mailForm .checkbox ul li .checkboxItem::after {
  opacity: 0;
  width: 4px;
  height: 10px;
  transform: rotate(45deg);
	top:3px;
  left: 6px;
  border: none;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

/*
  checked状態
*/
#main .mailForm .checkbox input[type=checkbox]:checked + .checkboxItem::before {
  background: #3ea6ae;
}
#main .mailForm .checkbox input[type=checkbox]:checked + .checkboxItem::after {
  opacity: 1;
	background: #3ea6ae;
}

/* submit
-------------------------------------*/
#main .mailForm .submit {
    text-align: center;
}
/*
#main .mailForm .submit li {
    margin: 0 12px;
    display: inline;
}
*/
#main .mailForm .submit li input {
    cursor: pointer;
    width: 393px;
	vertical-align: middle;
}
#main .mailForm .submit li input:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}

/*===============================================
#confirm #thanks common
=================================================*/
#confirm #gHeader, 
#thanks #gHeader {
    border-bottom: 2px solid #3ea6ae;
}

/*===============================================
#confirm
=================================================*/
#confirm .secContact p{
	text-align: left;
}
#confirm .secContact p + p{
	margin-top: 12px;
}
#confirm .mailForm .comTable th.required:after,
#confirm .mailForm .comTable th.optional:after{
	top:26px;
}
#confirm .mailForm{
	margin-top: 50px;
}
#confirm #main .mailForm .comTable th{
	padding: 26px 0 26px 10px;
}
#confirm #main .mailForm .comTable td{
	padding: 26px 10px 26px 0;
}

#confirm .mailForm .comTable .entry th{
	padding-top: 28px;
}
#confirm .mailForm .comTable .entry td li{
	float: none;
}
#confirm .mailForm .comTable .detail th {
	vertical-align: top;
}
#confirm #main .mailForm .comTable td ul{
	margin: 0;
	
	
}
#confirm #main .mailForm ul li{
	margin-right: 0;
}
#confirm .mailForm ul li:first-of-type{
	margin-top: 0;
}
#confirm .mailForm ul.btn{
	display: flex;
	justify-content: space-between;
	width: 690px;
	margin: 0 auto;
}
#confirm .mailForm ul.btn li input[type=button]{
	background-image: url("../img/common/contact_btn_back.png");
	background-repeat: no-repeat;
	width: 333px;
	height: 93px;
	background-size: cover;
	background-position: center center;
}
#confirm .mailForm ul.btn li input:hover {
    opacity: 0.7;
	filter: alpha(opacity=70);
}

/*===============================================
#thanks
=================================================*/
#thanks .content {
	text-align: center;
}
#thanks .toTopPage{
	margin-top: 50px;
}

/*
.errorMsg {
    margin-bottom: 20px;
    color: #E52113;
}
*/


@media all and (max-width: 767px){
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
#main .topBox {
	padding: 11px 7px 9px 12px;
}
#main .topBox p {
	width: 100%;
	font-size: 1.2rem;
	letter-spacing: 0.025em;
	line-height: 1.5;
}
#main .mainVisual {
	background:none;
}
#main .mainVisual .inner {
	width: 100%;
	padding:0;
}
#main .spBg{
	background: url("../img/top/main_visual_bg.png") repeat;
	background-size: 350px;
	background-position: 10px 90px;
	padding: 25px 22px;
	}
#main .mainVisual .whiteBox {
	padding: 22px 13px 20px;
}
#main .mainVisual h1 {
	margin-bottom: 15px;
}
#main .mainVisual h1 img {
	width: 100%;
}
#main .mainVisual .photo {
	margin: 0 -32px 0 -30px;
	width: auto;
	position: static;
}
	#main .mainVisual .photo img{
		width: 100%;
	}
#main .mainVisual .textImg01{
		padding: 0 2px;
	}
#main .mainVisual .textImg01 img {
	width: 100%;
}
#main .mainVisual .textImg02 {
	margin-top: 11px;
	padding: 0 2px;
}
#main .mainVisual .textImg02 img {
	width: 100%;
}
#main .mainVisual .img01,
#main .mainVisual .img02,
#main .mainVisual .img03{
	display: none;
}
#main .mainVisual .textImg03 {
	width: 100%;
	margin: 0 auto;
	padding: 17px 10px;
	background-color: #3ea6ae;
}
#main .mainVisual .textImg03 img {
	width: auto;
}
	
/*===============================================
.sec01
=================================================*/
#main .sec01 {
	padding: 40px 0 0;
}
#main .sec01 h2 {
	margin-bottom: 22px;
	line-height: 1.5;
	letter-spacing: 0;
}
#main .sec01 h2 span.underline {
	padding-bottom: 2px;
}
#main .sec01 .listBox {
	margin-bottom: 24px;
	padding: 21px 16px 24px 11px ;
}
#main .sec01 ul li {
	letter-spacing: 0;
	line-height: 1.66;
	margin-top: 13px;
	padding: 0 0 0 21px;
	background-position: left top 5px;
	background-size: 18px 16px;
}
#main .sec01 .textBox{
	position: static;
	padding-bottom: 0px;
}
#main .sec01 p {
	margin-top: 12px;
}
#main .sec01 .photo{
	position: static;
	margin-top: 15px;
	text-align: right;
}
#main .sec01 .photo img{
	width: 81.875vw;
}	
	
	
/*===============================================
.sec02
=================================================*/
#main .sec02 {
	padding: 67px 0 65px;
}
#main .sec02 .headLine02{
	margin-bottom: 28px;
}
#main .sec02 .photoBox.pic{
	width: 72%;
	margin: 0 auto;
	}
/*===============================================
.sec03
=================================================*/
#main .sec03 {
	padding: 67px 0 65px;
}
#main .sec03 .headLine02{
	margin-bottom: 28px;
}
#main .sec03 h5{
    line-height: 1.32;
    margin-bottom: 12px;
}
#main .sec03 .subInner.sub02{
    margin-bottom: 40px;
}
#main .sec03 .subInner.sub02 + .subInner.sub02{
    margin-bottom: 35px;
}
#main .sec03 .summary {
    padding: 35px 15px 30px;
	width: 100%;
	margin: 20px auto 0;
}
#main .sec03 .summary h5 {
    font-size: 1.8rem;
    margin-bottom: 28px;
}	
	
/*===============================================
.sec04
=================================================*/
#main .sec04 {
	padding: 67px 0 65px;
}
#main .sec04 h2.headLine02{
    margin-bottom: 22px;
}
#main .sec04 h2 + p{
    margin-bottom: 21px;
}
#main .sec04 h3 {
    font-size: 1.8rem;
    line-height: 1.4;
    margin-bottom: 11px;
} 	
	
/*===============================================
.sec05
=================================================*/
#main .sec05 {
	padding: 67px 0 65px;
}
#main .sec05 h2.headLine02{
    margin-bottom: 27px;
}
#main .sec05 .topText p{
    margin-top: 10px;
}
#main .sec05 .infoBox:last-of-type h3.headLine03 {
	margin-bottom: 35px;
}
#main .sec05 .infoBox:last-of-type .subInner:first-of-type{
	margin-bottom: 35px;
}
#main .sec05 ul:first-of-type{
	margin-left: 0;
}
#main .sec05 ul + ul{
    margin-left: 33px;
}
	#main .sec05 ul li{
		margin-top: 4px;
	}
#main .sec05 ul li:before{
    width: 10px;
    background-size: 10px 10px;
}
#main .sec05 h5{
	margin-top: 20px;
}
#main .sec05 h5:first-of-type{
	margin-top: 23px;
}

/*===============================================
.sec06
=================================================*/
#main .sec06 {
	padding: 67px 0 65px;
}
#main .sec06 h2.headLine02{
    margin-bottom: 20px;
}
#main .sec06 ul li{
	width: 100%;
	padding: 30px 0;
}
#main .sec06 ul li .staffBox{
	width: 100%;
}
#main .sec06 h3 {
   font-size: 1.8rem;
	margin-bottom: 12px;
	line-height: 1.4;
	letter-spacing: 0;
}
#main .sec06 p.staffName{
	margin-top: 10px;
}	
#main .sec06 .video img{
	width: 100%;
}

/*===============================================
.sec07
=================================================*/
#main .sec07 {
	padding: 67px 0 65px;
}
#main .sec07 h2.headLine02{
    margin-bottom: 30px;
}
#main .sec07 .flexWrap{
	display: block;
	}
#main .sec07 .photoBox{
	width: 100%;
}
#main .sec07 .photo01{
	padding: 0 5px 0 0;
	text-align: center;
}
#main .sec07 .table{
	width: 100%;
	margin-top: 30px;
}
#main .sec07 .timeTable {
	width: 100%;
	border: 1px solid #d0d8e2;
}
#main .sec07 .timeTable th,
#main .sec07 .timeTable td {
	padding: 6px 8px;
	line-height: 1.6;
}
#main .sec07 .timeTable th {
	width: 20%;
	padding: 0 5px;
	font-weight: normal;
}
#main .sec07 .timeTable td{
	width:80%;
}
#main .sec07 .timeTable td.ls0{
	letter-spacing: 0.05em;
	}
#main .sec07 .timeTable td .title{
	margin-bottom: 3px;
	} 
#main .sec07 .timeTable td .text.newLine {
	display: inline-block;
	margin-top: 4px;
	}
#main .sec07 .photo02.sp{
	position: static;
	width: 100%;
	margin-top: 30px;
	text-align: center;
}
#main .sec07 .photo02 img{
	position: static;
}

/*===============================================
.sec08
=================================================*/
#main .sec08 {
	padding: 67px 0 65px;
}
#main .sec08 .content{
		margin: 0;
	}
#main .sec08 h2.headLine02{
    margin-bottom: 27px;
}
#main .sec08 h3{
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 0 14px;
}
#main .sec08 h3 span{
	margin-bottom: 11px;
}
#main .sec08 .photoList{
	margin: 11px auto 10px;
	display: block;
}
#main .sec08 .photoListl li {
	width: 0;
}
#main .sec08 .photoList img{
	width: 100%;
}
#main .sec08 .infoBox{
	margin-bottom:37px;
}
#main .sec08 .infoBox .spInner{
	margin: 0 14px;
	width: auto;
	}
#main .sec08 .infoBox .subInner:first-of-type{
	margin-top: 35px;
}
#main .sec08 .infoBox .subInner .photoBox{
	padding: 0 0 5px 0;
	}
#main .sec08 .infoBox ul.list{
	margin-bottom: 11px;
}
#main .sec08 .infoBox ul.list li:first-of-type{
	margin-top: 0;
}
#main .sec08 .infoBox  h4.headLine04{
	font-size: 1.8rem;
}
#main .sec08 .infoBox .subInner:nth-of-type(2) h4.headLine04{
	margin-bottom: 10px;
}
#main .sec08 .map iframe{
	width: 100%;
	height: 400px;
}
#main .sec08 .map + dl{
	margin-top: 10px;
}

/*===============================================
.sec09
=================================================*/
#main .sec09 {
	padding: 67px 0 70px;
}
#main .sec09 h2.headLine02{
    margin-bottom: 27px;
}
#main .sec09 .flexWrap{
	display: block;
}
#main .sec09 .overview{
	width: 100%;
}#main .sec09 .overview:first-of-type dl:last-of-type{
		border-bottom: none;
	}
#main .sec09 dl {
  display: block;
  line-height: 1.5;
}
#main .sec09 dl dt {
  width: 100%;
	height: auto;
	font-size: 1.6rem;
  padding: 16px 0 0 10px;
}
#main .sec09 dl dd {
  width: 100%;
	height: auto;
  padding: 0 0 16px 10px;
	margin-top: 6px;
}
#main .sec09 dl dd.line2{
	padding: 0 0 16px 10px;
	margin-top: 6px;
}


/*===============================================
.sec10
=================================================*/
#main .sec10 {
	padding: 67px 0 70px;
}
#main .sec10 h2.headLine02{
    margin-bottom: 27px;
}
#main .sec10 dl {
  display: block;
  line-height: 1.5;
}
#main .sec10 dl dt {
  font-size: 1.6rem;
  width: 100%;
  padding: 16px 10px 0 10px;
}
#main .sec10 dl dd {
  width: 100%;
  padding: 0 10px 16px 10px;
  margin-top: 6px;
}
#main .sec10 dl.nest > dt{
	padding: 16px 10px 0 10px;
}
#main .sec10 dl.nest > dd{
	padding: 0 0 16px 10px;
	margin-top: 6px;
}
#main .sec10 dl.nest dd > dl dt{
	margin-right: 20px;
}
#main .sec10 dl.nest dd.salary > dl dt{
	width:6em;
}
#main .sec10 dl.nest dd.salary > dl dd{
	margin-top: 0;
}
#main .sec10 dl.nest dd.time > dl dt{
	width:6em;
}
	#main .sec10 dl.nest dd.time > dl dd{
		margin-top: 0;
	}
#main .sec10 dl dd.benefit{
	display: block;
	padding-bottom: 22px;
}
#main .sec10 dl dd.benefit ul:first-of-type{
	padding-left: 10px;
}
#main .sec10 dl dd.benefit ul + ul{
	margin-left: 10px;
}
#main .sec10 dl dd.benefit ul.list li{
	padding-left: 8px;
	margin-top:0;
}
#main .sec10 dl dd.benefit ul.list li:before{
  background-position: center top 11px;
}
#main .sec10 dl dd.benefit ul + ul li p{
	font-size: 1.3rem;
	margin-top: 6px;
}
	
/*===============================================
.secFlow
=================================================*/
#main .secFlow {
	padding: 67px 14px 0;
}
#main .secFlow h2.headLine02{
    margin-bottom: 27px;
}
#main .secFlow .flow{
	text-align: center;
}
#main .secFlow .flow img{
	width: 100%;
}

/*===============================================
.secContact
=================================================*/
#main .secContact {
	padding: 67px 0 66px;
}
#main .secContact h2.headLine02{
    margin-bottom: 27px;
}
#main .secContact .stepImg{
	margin: 25px 0 23px;
}
#main .secContact .stepImg img{
	width: 100%;
}
#main .secContact p{
	text-align: left;
}
/*------------------------------------------------------------
.mailForm
------------------------------------------------------------*/
#main .mailForm .comTable .vaTop{
	vertical-align: top;
}
#main .mailForm .comTable .vaTop > th{
	padding: 0 0 10px 10px !important;
}

#main .secContact span.note{
	line-height: 1.6;
}
#main .mailForm .comTable {
    margin: 22px 0 0;
}
#main .mailForm .comTable th,
#main .mailForm .comTable td {
	padding: 0 10px;
	display: block;
    width: auto;
    font-size: 1.5rem;
	line-height: 1.5;
	border-top: none;
    border-left: 4px solid #3ea6ae;
}
#main .mailForm .comTable tr:last-of-type th,
#main .mailForm .comTable tr:last-of-type td {
	border-bottom: 0;
}
#main .mailForm .comTable th {
    width: auto;
	position: static;
	padding-bottom:12px;
}
#main .mailForm .comTable th.required,
#main .mailForm .comTable th.optional{
	position: static;
}
#main .mailForm .comTable th.required:after,
#main .mailForm .comTable th.optional:after{
  padding: 0;
  font-size: 1.5rem;
  position: static;
	font-weight: normal;
}
#main .mailForm .comTable th.required:after{
	content: "(必須)";
	background: none;
	color: #3ea6ae;
}
#main .mailForm .comTable th.optional:after {
  content: "(任意)";
  background: none;
  color: #939baa;
}
#main .mailForm .comTable td{
	margin-bottom: 25px;
        padding-right: 0;
        width: auto;
        font-size: 1.4rem;
	}
#main .mailForm .comTable td input[type="text"] {
    margin: 0 0 10px 0;
    padding: 5px 9px;
    font-size: 1.4rem;
    width: 210px;
	height: auto;
}
#main .mailForm .comTable .tel th,
#main .mailForm .comTable .tel td{
	padding: 0 0 0 10px;
}
#main .mailForm .comTable .tel td{
	padding-bottom: 5px;
	}
#main .mailForm .comTable .tel .note{
	display: block;
	margin-top: 2px;
	}
#main .mailForm .comTable .tel td input[type="text"] {
    margin: 0 0 4px 0;
    width: 80px;
}
#main .mailForm .comTable .tel td input[type="text"]:first-of-type {
    margin: 0;
}
#main .mailForm .comTable .tel td input[type="text"]:last-of-type {
    margin: 0;
}
#main .mailForm .comTable .email th,
#main .mailForm .comTable .email td{
	padding: 0 0 0 10px;
}
#main .mailForm .comTable .email td{
	padding-bottom: 5px;
	}
#main .mailForm .comTable .email td input[type="text"] {
    margin: 0 0 4px 0;
    width: 100%;
}
#main .mailForm .comTable .address td input[type="text"] {
    width:100%;
	margin: 0 0 10px 0;
}
#main .mailForm .comTable td ul {
    margin: 0;
}
#main .mailForm .comTable td li {
    margin-right: 0;
}
#main .mailForm .comTable .age td input[type="text"] {
    width: 80px;
	margin: 0 0 10px 0;
}
#main .mailForm .comTable .entry th,
#main .mailForm .comTable .entry td{
	padding-top: 0;
}
#main .mailForm .comTable .entry th.optional{
		position: static;
	}
#main .mailForm .comTable .entry th.optional:after{ 
  display: none; 
  padding: 0;
  font-size: 0;
	line-height: 0;
}
#main .mailForm .comTable th.optional .spOptional{
	font-weight: normal;
}	
#main .mailForm .comTable .entry th{
	line-height: 1.5;
	vertical-align: top;
	padding-top: 0;
}
#main .mailForm .comTable .entry td ul:first-of-type {
    margin-bottom: 0;
}
#main .mailForm .comTable .entry td ul.way{
	margin: 0;
}
#main .mailForm .comTable .entry td ul li{
	margin-bottom: 14px;
	float: none;
	line-height: 1;
	}
#main .mailForm .comTable .entry td ul.way li{
	margin-bottom: 10px;
	}	
#main .mailForm .comTable .entry td ul.way li:nth-of-type(n+2){
	margin:  0;
	padding-bottom: 10px;
}
#main .mailForm .comTable .entry td ul.way li label {
    margin: 0 0 5px 0;
}
#main .mailForm .comTable .entry td ul.way li:last-of-type label {
    margin-right: 0;
}
#main .mailForm .comTable .entry td li input {
    vertical-align: middle;
    margin-top: 0;
}
#main .mailForm .comTable .entry td .way li:first-child input[type="text"] {
    width: 223px;
	margin: 0 0 0 5px;
}
#main .mailForm .comTable .entry td .way li:last-child input[type="text"] {
    width: 260px;
	margin:0 0 0 0;
}
#main .mailForm .comTable .entry td .way li .journal{
		margin-left: 18px;
		display: block;
	}
#main .mailForm .comTable textarea {
    padding: 5px 9px;
	margin-bottom: 10px;
    height: 230px;
    font-size: 1.4rem;
}


/* radio
-------------------------------------*/
#main .mailForm .radioBtn {
  line-height: 1.2;
}
#main .mailForm .radioBtn > ul{
	padding-bottom: 10px;
	}
#main .mailForm .radioBtn > ul li {
  margin-top: 0;
  margin-right: 17px;
	line-height: 1;
}

.radioBtn .checkRadio {
  padding-left: 17px;
}

/* 各パーツ */
.radioBtn .checkRadio::after,
.radioBtn .checkRadio::before {
  width: 10px;
  height: 10px;
}
.radioBtn .checkRadio::before {
  top: 2px;
  left: 0;
}
.radioBtn .checkRadio::after {
  top: 5px;
  left: 3px;
}

/*
  checked状態
*/
.radioBtn .radioBtnItem:checked + .checkRadio::after {
	width: 4px;
  height: 4px;
}

/* checkbox
-------------------------------------*/
#main .mailForm .checkbox ul{
	margin: 0px;
}
#main .mailForm .checkbox ul + ul{
	margin-bottom: 10px;
	}
#main .mailForm .checkbox ul li .checkboxItem {
  padding-left: 17px;
}

/* 各パーツを作成 */
#main .mailForm .checkbox ul li .checkboxItem::after,
#main .mailForm .checkbox ul li .checkboxItem::before {
  width: 10px;
  height: 10px;
  top: 0;
  left: 0;
}
#main .mailForm .checkbox ul li .checkboxItem::before{
	top:2px;
	}
#main .mailForm .checkbox ul li .checkboxItem::after {
  width: 3px;
  height: 6px;
	top:3px;
  left: 3px;
  border: none;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
	
/* submit
-------------------------------------*/
#main .mailForm .submit li input {
    width: 50vw;
}	
	
/*===============================================
#confirm #thanks common
=================================================*/
#confirm #gHeader, 
#thanks #gHeader {
    border-bottom-width:1px;
}

/*===============================================
#confirm
=================================================*/
#confirm .secContact{
	padding: 30px 0 66px;
	}
#confirm .secContact p + p{
	margin-top: 10px;
}
#confirm .mailForm{
	margin-top: 22px;
}
#confirm #main .mailForm .comTable{
	margin: 22px 0 5px;
	}
#confirm #main .mailForm .comTable th{
	padding: 0 10px 5px 10px;
}
#confirm #main .mailForm .comTable td{
	padding: 0 10px;
	margin-bottom: 20px;
}
#confirm .mailForm .comTable .entry th{
	padding-top: 0;
}
#confirm .mailForm ul.btn{
	display: block;
	width: 100%;
	margin-top: 10px;
}
#confirm #main .mailForm ul.btn li{
		width: 70%;
		margin: 0 auto;
	}
#confirm .mailForm ul.btn li input[type=button]{
	width: 100%;
	height: 17.8385vw;
}
#confirm .mailForm ul.btn li input[type="image"] {
	width: 100%;
}
/*===============================================
#thanks
=================================================*/
#thanks .secContact{
	padding: 30px 0 66px;
	}
#thanks .toTopPage{
	margin: 30px auto 0;
	width: 70%;
}	
	
	
	
	
}