@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
}

body {
	color: #333;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "MS Pゴシック" ,Meiryo, sans-serif;
	font-size:17px;
}

/*** 共通 *********************************************************/

a {
	transition: 0.3s;
}

a:hover {
	opacity: 0.5;
}

table {
	border-collapse: collapse;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

table th,
table td {
	border: 1px solid #eee;
	padding:15px;
}

table th {
	background: #f5f4f4;
	width: 25%;
}

.contact-area-inner,.support-area,.contact-area,.link-area,.contact-area,.news-area-inner,.comment-area-inner,.company-area-inner,.service-area-inner,.recruit-area-inner,.news-detail {
	margin: 15px 0;
}

.form-area,.support-area,.contact-area,.link-area,.contact-area,.news-area,.comment-area,.company-area,.service-area,.recruit-area {
	text-align: center;
	padding: 20px 0;
}

.bg-GY {
	background: #f3f3f3;
}

.bg-WH {
	background:	#fbfbfb;
}

.contents-inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 10px;
}

/* コンテンツタイトル */
.s-title {
	font-family: "Montserrat", sans-serif;
	color: #003b79;
}

.s-title span {
	display: block;
	font-size: 0.5em;
	color: #333;
}

/* スマホの時だけ改行させるクラス */
.br_sp {
    display: none;
}

@media (max-width: 600px) {
    .br_sp {
        display: block;
    }
}

/*** ヘッダー *********************************************************/

header {
	background: linear-gradient(180deg, #003b79 10%, #01458c 90%);
	color:#fff;
}

.header-inner {
	width: 1000px;
	margin: 0 auto;
	padding: 20px;
	max-height: 90px;
}

/*** グローバルメニュー *********************************************************/

.logo{
	width: 200px;
}

.logo img{
	width: 100%;
	height: auto;
}

.fix_menu{
	display: flex;
	flex-wrap: wrap;
}

#navwrap{
	padding: 15px 30px 15px 0;
	margin-left: auto;
	width: 660px;
}

#navwrap a{
	display: inline-block;
	position: relative;
	color: #fff;
 	text-decoration: none;
}

#navwrap a:before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 3px;
	background: #fff;
	transform: scale(0, 1);
	transition: 0.4s;
}
#navwrap a:hover:before {
	transform: scale(1);
}

.header_menu{
	display: flex;
}

.header_menu ul,li {
	list-style: none;	
	margin: 0;
}

.header_menu li a{
	cursor: pointer;
	padding: 0 26px;
	color: #fff;
	text-decoration: none;
}
#switch{
	display: none;
}

/*** バーガーメニューのみ「トップ」表示 ***/
@media screen and (min-width:768px) {
	.m-top {
		display:none;
	}
}

@media screen and (max-width:768px) {
	#switch ~ label {
		padding: 12px 12px;
		width: 60px;
		height: 60px;
		background: linear-gradient(180deg, #003b79 10%, #01458c 90%);
		position: fixed;
		box-sizing: border-box;
		top: 0;
		right: 0;
		z-index: 999;
		cursor: pointer;
	}
	#switch ~ label span{
		display: block;
		width:22px;
		height:2px;
		top: 50%;
		left: 0;
		right: 0;
		margin:auto;
		background: #fff;
		position: absolute;
		-webkit-transition: 0.2s transform;
		transition: 0.2s transform;
	}
	#switch ~ label span:before,
	#switch ~ label span:after{
		content: "";
		display: block;
		background: #fff;
		position: absolute;
		width:22px;
		height:2px;
		left: 0;
		right: 0;
		margin: auto;
	}
	#switch ~ label span:before{
		top: -9px;
	}
	#switch ~ label span:after{
		top: 9px;
	}
	#navwrap{
		padding-top: 0;
		position: fixed;
		top: -100%;
		left: 0;
		width: calc(100% - 60px);
		height: 100%;
		background: rgba(0,0,0,0.8);
		transition: all 0.4s;
		padding: 40px;
		box-sizing: border-box;
	}
	#switch:checked ~ #navwrap { 
		display: block; 
		top: 0;
		z-index:999;
	}
	.header_menu{
		display: flex;
		flex-direction: column;
	}
	.header_menu li{
		margin: 0 auto 20px;
	}
	.header_menu li a{
		color: #fff;
	}
	.scroll-prevent {
		position: fixed;
		z-index: -1;
		width: 100%;
		height: 100%;
	}
}


/*** メインコンテンツ(index.html) *********************************************************/

/* メイン画像 */
.main {
	
	clip-path: inset(0);
	width: 100%;
	min-height: 50vh;
	padding: 16px;
	box-sizing:border-box;
	color: #fff;
}

.main-txt {
	font-size: clamp(1.75rem, 1.477rem + 1.36vw, 2.5rem);
}

.big {
	font-size: clamp(3rem, 0.818rem + 10.91vw, 4rem);
}


/*** PC用 ***/
@media screen and (min-width:1020px) {
	.main-inner{
		max-width: 1000px;
		margin: 0 auto;
		min-height: 50vh;
		/* 垂直方向の中央揃え */
		display: flex;
		align-items: center;
	}

	.main::after {
	  content: '';
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: -10;
	  width:100%;
	  height:100%;
	  background-size: cover;
	  object-fit: cover;
	}

	.main::after {
		background: url("../img/bg2000-2.jpg")
	}

	/* メイン画像上に乗せるテキスト */
	.main-txt {
		margin: auto;
		top: calc(50% - 0.5em);
		text-align: center;
		font-family: serif;
		color: #003b79;
		padding: 70px 100px;
		background-color: rgba(255, 255, 255, 0.5);
		line-height: 1.5em;
	}
}

/*** タブレット用 ***/
@media screen and (max-width:1020px) {
	.main-inner{
		max-width: 1000px;
		margin: 0 auto;
		min-height: 50vh;
		/* 垂直方向の中央揃え */
		display: flex;
		align-items: center;
	}

	.main::after {
	  content: '';
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: -10;
	  width:100%;
	  height:100%;
	  background-size: cover;
	  object-fit: cover;
	}

	.main::after {
		background: url("../img/bg1000-2.jpg")
	}

	/* メイン画像上に乗せるテキスト */
	.main-txt {
		margin: auto;
		top: calc(50% - 0.5em);
		line-height: 1.5;
		text-align: center;
		font-family: serif;
		color: #003b79;
		padding:50px 80px;
		background-color: rgba(255, 255, 255, 0.5);
	}
}

/*** SP用 ***/
@media screen and (max-width:700px) {
	.main-inner{
		max-width: 1000px;
		margin: 0 auto;
		min-height: 50vh;
		/* 垂直方向の中央揃え */
		display: flex;
		align-items: center;
	}

	.main::after {
	  content: '';
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: -10;
	  width:100%;
	  height:100%;
	  background-size: cover;
	  object-fit: cover;
	}

	.main::after {
		background: url("../img/bg650-2.jpg")
	}

	/* メイン画像上に乗せるテキスト */
	.main-txt {
		margin: auto;
		top: calc(50% - 0.5em);
		line-height: 1.5;
		text-align: center;
		font-family: serif;
		color: #003b79;
		padding:15px;
		background-color: rgba(255, 255, 255, 0.5);
	}
}


/******************************** メインコメント ***/

.lr-border {
	font-family: serif;
	color: #003b79;
	align-items: center;
	font-size: 1.3em;
}

/* 640px以上には見出し左右にライン*/
@media screen and (min-width: 640px) {
	
	.lr-border {
		display: flex;
		font-size: 1.5em;
		margin-bottom:30px;
	}
	
	.lr-border:before, .lr-border:after {
		content: "";
		flex-grow: 1;
		height: 1px;
		display: block;
	}
	.lr-border:before {
		background: linear-gradient(-90deg, #003b79, transparent);
		margin-right: .4em;
	}
	.lr-border:after {
		background: linear-gradient(90deg, #003b79, transparent);
		margin-left: .4em;
	}
}

/* 640px以下は文章左揃え、SP改行なし*/
@media screen and (max-width: 640px) {
	.comment-area-inner{
		text-align:left;
	}
	/* PCのみのbr */
	.Pbr {
		display:none;
	}
}

/* 640px以下は改行*/
@media screen and (min-width: 640px) {
	/* SPのみのbr */
	.Sbr {
		display:none;
	}
}

.news-area p {
	margin-left:auto;
}

/******************************** サポート ***/

.smain {
	
	clip-path: inset(0);
	width: 100%;
	padding: 16px;
	box-sizing:border-box;
}

.smain-inner{
	max-width: 1000px;
	margin: 0 auto;
	/* 垂直方向の中央揃え */
	align-items: center;
}

.smain::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  z-index: -50;
  width:100%;
  height:100%;
  background-size: cover;
  object-fit: cover;
}

.smain::after {
	background: url("../img/bg2000-4.jpg")
}

/* メイン画像上に乗せるテキスト */
.smain-txt {
	margin: auto;
	top: calc(50% - 0.5em);
	text-align: center;
	font-size: clamp(28px, 2.9vw, 40px);
	font-family: serif;
	color: #003b79;
	font-size: 2em;
	padding:40px;
	background-color: rgba(255, 255, 255, 0.5);
	line-height: 1.5em;
}

.support-wrap{
	position: relative;
	clip-path: inset(0 0 0 0);
	width: 100%;
	height: 300px;
}

.support-inner{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index:-1;
	background-image: url("../img/bg2000-4.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}


.support-areaList{
	display: flex;
	flex-flow:row wrap;
	justify-content:space-around;
}

@media screen and (max-width:1000px){
.support-areaList{
	display: block;
	flex-flow:row wrap;
	justify-content:space-around;
 }
}

.supportBox{
	text-align:center;
	margin:10px;
	border:solid 1px #767676;
	border-radius: 10px;
	flex-basis: 280px;
	background-color: rgba(255, 255, 255, 0.3);
}

.sp1{
	background-image:url(../img/S1-map.png);
	
	background-size: 50px;
	background-repeat: no-repeat;
	background-position: center 15px;
	padding: 75px 10px 10px 10px;
	line-height:20px;
}

.sp2{
	background-image:url(../img/S2-365.png);
	background-size: 50px;
	background-repeat: no-repeat;
	background-position: center 25px;
	padding:82px 10px 10px 10px;
}

.sp3{
	background-image:url(../img/S3-maintenance.png);
	background-size: 50px;
	background-repeat: no-repeat;
	background-position: center 15px;
	padding:70px 10px 10px 10px;
	line-height:21px;
}


.supportBox a{
	color: #0051a6;
	text-decoration:none;
}

.supportBox img{
	width:30%;
	height:auto;
}

/******************************** お問い合わせ ***/

.form_wrapper{
	text-align:left;
	margin-left:15%;
}

.contact-areaList ul{
 display: flex;
}

@media screen and (max-width:1000px){
.contact-areaList ul{
  display: block;
  width:100%;
  
 }
}

.contactBox{
	display:inline-block;
	text-align:center;
	padding:10px;
	margin:10px;
	border:solid 1px #767676;
	border-radius: 10px;
	background:#fff;
	width:45%;
	line-height: 2.5em;
}

@media screen and (max-width:1000px){
.contactBox{
  	width:85%;
 }
}

.contactBox p{
	font-size:16px;
}

.contactBox a{
	color: #0051a6;
	text-decoration:none;
}

.contactBox span:before{
	content:url("../img/tel32.png");
}

.contactBox span{
	font-size: 3em;
	font-weight:bold;
}

@media screen and (max-width:1000px){
.contactBox span{
	font-size: 2em;
	font-weight:bold;
 }
}

.form-table dl{
	border-bottom:none;
}
	

/******************************** リンク ***/

.link-area img {
	width:300px;
}


/****************************

レイアウト

****************************/

/* 横並びボックス */
.flexBox {
	display: flex;
}

/* 2個 */
.b2_flex {
	width: 50%;
    padding: 10px;
}

/* 画像＋説明 */
.b2-20_flex {
	width: 20%;
    padding: 10px;
}

.b2-80_flex {
	width: 80%;
    padding: 10px;
}

.b2-30_flex {
	width: 30%;
    padding: 10px;
}

.b2-70_flex {
	width: 70%;
    padding: 10px;
}

.b2-40_flex {
	width: 40%;
    padding: 10px;
}

.b2-60_flex {
	width: 60%;
    padding: 10px;
}

/* 3個 */
.b3_flex {
	width: 33%;
    padding: 10px;
}
/* 4個 */
.b4_flex {
	width: 23%;
    padding: 10px;
}

/* 上下真ん中 */
.flex_center {
	display: flex;
    /*justify-content: center;*/
    align-items: center;
}

/* インラインブロック */
.in_blk {
	display: inline-block;
}

/* ブロック */
.d_blk {
	display: block;
}

/****************************

画像

****************************/
/* リサイズ */
.rsize{
	width:100%;
	height:auto;
}

/* グレー枠線 */
.img_border{
	border:1px solid #eee;
}

/****************************

文字装飾

****************************/
/* フォントサイズ */

.ft11 {
	font-size: 11px;
}

.ft13 {
	font-size: 13px;
}

.ft14 {
	font-size: 14px;
}

.ft16 {
	font-size: 16px;
}

.ft18 {
	font-size: 18px;
}

.ft20 {
	font-size: 20px;
}

.ft25 {
	font-size: 25px;
}

.ft36 {
	font-size: 36px;
}

/* 太文字 */
.txt-b {
	font-weight: bold;
}

/* 左寄せ */
.txt-left {
	text-align: left;
}

/* 右寄せ */
.txt-right {
	text-align: right;
}

/* 真ん中寄せ */
.txt-center {
	text-align: center;
}

/* 文字色：赤 */
.txt-red {
	color: #ff0000;
}

/* 文字色：緑 */
.txt-green {
	color: #8DBF2A;
}

/* 文字色：グレー */
.txt-gy {
	color: #666;
}

/* 文字色：黒 */
.txt-bk {
	color: #333;
}


/*** News　お知らせ *********************************************************/

.news-list-title::before{
	content: "■ ";
	color: #003b79;
	font-size: 0.8em;
}

.news-list-title a{
	color: #333;
}

.news-list-title a:hover{
	color: #888;
}

.news-list {
	text-align: left;
	list-style: none;
}

.news-list li {
	padding: 10px;
	border-bottom: 1px dashed #d5d5d5;
}

.news-list-day {
	font-size: 0.9em;
	color: #767676;
}

.news-area p a {
	margin:0 auto;
	color: #333;
	text-decoration: none;
	width:100px;
}

.news-detail {
	text-align:left;
}

.news-day{
	text-align:right;
	font-size:0.9em;
}

.news-title p{
	border-left: 10px solid #003b79;
	border-bottom: 1px solid #003b79;
	padding: 12px;
	font-weight: bold;
	color: #003b79;
}

/*** Company　会社概要 *********************************************************/

.company-area-inner {
	text-align:left;
}

.company-detail ul{
	list-style: none;
}

.company-detail li {
	padding: 2px;
}

.company-detail li::before {
	content: "■ ";
	color: #003b79;
	font-size: 0.8em;
}

.company-detail p{
	text-align: right;
}

.license li {
	margin-bottom:10px;
}

/* 640px以下には縦並び */
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .company-detail {
    width: 80%;
  }
  .company-detail th,
  .company-detail td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
  .company-area-inner {
	margin-left: -30px;
  }
}


/*** Service　業務内容 *********************************************************/

.service-area-inner {
	margin:15px auto;
}

.service-box {
	background: #fff;
	border: 1px solid #eee;
	width: 100%;
	max-width: 800px;
	border-radius: 8px;
	margin: 0 auto;
}

.service-title {
	background: #01448a;
	border-radius: 8px 8px 0 0;
	padding: 10px;
	color: #fff;
}

.service-detail {
	padding:15px;
	text-align:left;
}

.service-detail ul{
	list-style: none;
}

.service-detail li {
	padding: 2px;
}

.service-detail li::before {
	content: "■ ";
	color: #003b79;
	font-size: 0.8em;
}

.service-detail-box {
	background: #f9f9f9;
	padding: 5px;
	border-radius: 4px;
	text-align: center;
	max-width: 700px;
	margin: 10px auto 0 auto;
}

.service-detail-box-one {
	padding:5px;
}

.service-detail-box p {
	font-size:0.8em;
}

.service-detail-box a {
	font-weight:bold;
	color:#003b79;
	text-decoration: none;
}

.service-area-inner {
	background:#eee;
	width:100%;
	max-width:800px;
	border-radius:8px;
	margin:15px auto;
}

/*** Recruit　採用情報 *********************************************************/

.recruit-area-inner {
	text-align:left;
}

.recruit-area-inner p {
	text-align:left;
	margin: 0 0 10px 10px;
}

.recruit-area-inner ul{
	list-style: none;
}

.recruit-area-inner li {
	padding: 2px;
}

.recruit-area-inner li::before {
	content: "■ ";
	color: #003b79;
	font-size: 0.8em;
}

.contact-button {
	text-align: center;
	border: 2px solid #003b79;
	border-radius: 5px;
	background: #003b79;
	padding: 10px;
	width: 250px;
	margin-bottom: 10px;
	color: #fff;
	font-weight:bold;
	cursor:pointer;
}

.contact-button:hover {
	color: #003b79;
	background: #fff;
}

/* 640px以下には縦並び */
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .recruit-detail {
    width: 80%;
  }
  .recruit-detail th,
  .recruit-detail td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
  .recruit-area-inner {
	margin-left: -30px;
  }
}

.p2{
	padding:30px;
}



/*** Contact ********************************************************/

article#undermain {
    width: 100%;
    position: relative;
    padding-bottom: 50px;
    background-color: #f4f4f4;
}

section.sentence {
    width: 70%;
    margin: 0 auto;
}

form.inner dl {
    width: 70%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 20px 0;
}

dt {
    display: block;
    unicode-bidi: isolate;
}

.form-area dl.required dt {
    position: relative;
}

.form-area dl.required dt:after {
    font-size: 0.75rem;
}

.form-area dl.required dt:after {
    content: "必須";
    width: 51px;
    height: 21px;
    line-height: 21px;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 5px;
    right: 26px;
    border: 1px solid #00244c;
    background-color: #00244c;
}

form.inner dl.address dd input[type="text"] {
    width: 350px;
}

form.inner dl.phone01 dd input[type="text"] {
    width: 200px;
}

form.inner dl dd input[type="text"] {
    font-size: 1rem;
	width:200px;
}

form.inner dl dd ins {
    display: block;
    color: #f00;
    font-weight: bold;
    text-decoration: none;
}


form.inner dl dt {
    font-size: 1.125rem;
}

dd {
    display: block;
    margin-inline-start: 40px;
    unicode-bidi: isolate;
}


form.inner dl dt {
    align-items: center;
    color: #00244c;
    font-weight: bold;
    padding: 0px 100px 0px 0px;
}

ul, li, dl, dt, dd {
    margin: 0;
    padding: 0;
    list-style: none;
}

select {
    width: 250px;
    background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%), linear-gradient(to right, #3E6793, #3E6793);
    background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), 100% 0;
    background-size: 5px 5px, 5px 5px, 2.5em 2.5em;
    background-repeat: no-repeat;
}

select {
    width: 200px;
    background-color: #f4f4f4;
    border: 1px solid #3E6793;
    display: inline-block;
    font: inherit;
    line-height: 1.5em;
    padding: 0.5em 3.5em 0.5em 1em;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
}

section.policy {
    width: 70%;
    margin: 30px auto;
    background-color: #ebebeb;
    padding: 20px 20px 0 20px;
}

section.policy h3 {
    width: 100%;
    min-width: auto;
    text-align: center;
    color: #00244c;
    margin-bottom: 20px;
}

main h3 {
    font-size: 1.25rem;
}

main h3 {
    width: 70%;
    min-width: 1360px;
    margin: 0 auto;
    border-bottom: 1px solid #000;
}

section.policy p {
    text-align: center;
    margin: 0 auto;
}

form.inner section.policy input {
    display: none;
}

[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

form.inner section.policy label {
    font-size: 1rem;
}


button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

/*
main {
    background-color: #f4f4f4;
    background-image: none;
}

main {
    display: block;
}

*/
#form dl.required dt {
    position: relative;
}

#form dl.required dt:after {
    font-size: 0.75rem;
}

#form dl.required dt:after {
    content: "必須";
    width: 51px;
    height: 21px;
    line-height: 21px;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 5px;
    right: 26px;
    border: 1px solid #00244c;
    background-color: #00244c;
}

form.inner section.policy label {
    position: relative;
    overflow: hidden;
    padding: 0 30px 0 40px;
    line-height: 60px;
    cursor: pointer;
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
}


form.inner section.policy input {
    display: none;
}

form.inner section.policy label {
    font-size: 1rem;
}

form.inner section.policy label:before {
    position: absolute;
    top: 50%;
    left: 9px;
    width: 23px;
    height: 23px;
    content: '';
    border: 1px solid #3E6793;
    transform: translateY(-50%);
}


form.inner section.policy label {
    font-size: 1rem;
}

form.inner section.policy label {
    position: relative;
    overflow: hidden;
    padding: 0 30px 0 40px;
    line-height: 60px;
    cursor: pointer;
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
}


section.policy p {
    text-align: center;
    margin: 0 auto;
}


form.inner section.policy label {
    position: relative;
    overflow: hidden;
    padding: 0 30px 0 40px;
    line-height: 60px;
    cursor: pointer;
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
}

form.inner section.policy input:checked + label:after {
    position: absolute;
    top: 50%;
    left: 16px;
    width: 15px;
    height: 13px;
    content: "";
    background: url(../img/checkbox.png) center center no-repeat;
    transform: translateY(-50%);
}


form.inner section.policy label {
    font-size: 1rem;
}

form.inner section.policy label {
    position: relative;
    overflow: hidden;
    padding: 0 30px 0 40px;
    line-height: 60px;
    cursor: pointer;
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
}


section.form-check ul li input[type="button"] {
    width: 100%;
    background-color: #00244c;
    border: 2px solid #00244c;
    color: #fff;
    padding: 30px 0;
    cursor: pointer;
}

@media screen and (min-width: 768px) {
	form.inner dl dt{
		width: 30%;
	}
}

@media screen and (max-width: 768px) {

	.contact-form dl {
	display: block !important;
	margin-bottom: 20px;
	}

	.contact-form dl dt {
	display: block !important;
	font-weight: bold;
	margin-bottom: 6px;
	}

	.contact-form dl dd {
	display: block !important;
	margin-left: 0 !important;
	}

	.contact-form dl dd input,
	.contact-form dl dd select,
	.contact-form dl dd textarea {
	width: 100% !important;
	box-sizing: border-box !important;
  }
}

.textarea{
	overflow-y:scroll;
	height: 100px;
	width: 100%;
}

/*** footer *********************************************************/

footer {
	background: #7a818b;
	color:#fff;
}

.footer-inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 30px;
}

/* 750px以下は縦並び */
@media screen and (max-width: 750px) {	
	.flogo{
		width: 90%;
		box-sizing:border-box;
		display:block;
	}
	
	.flink{
		vertical-align:top;
		box-sizing: border-box;
		padding-top:30px;
		width: 80%;
		display:block;
	}
}

/* 750px以上は横並び*/
@media screen and (min-width: 750px) {	
	.flogo{
		width: 50%;
		box-sizing:border-box;
		display:inline-block;
		padding: 0 0 0 20px;
	}
	
	.flink{
		vertical-align:top;
		box-sizing: border-box;
		display:inline-block;
		text-align:left;
		padding-top:30px;
		float: right;
		width: 40%;
	}
}

.flogo img{
	width:50%;
	margin-top:30px;
}

.flogo p{
	padding-left:5px;
	font-size: 16px;
}

.flink li{
	position: relative;
	padding-left: 10px;
}

.flink li a{
	color:#fff;
	margin-left: 10px;
    text-decoration: none;
}

.flink li:before {
	content: "";
	position: absolute;
	top: .70em;
	left: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 5px;
	height: 5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.footer-inner small{
	margin-top:50px;
}
