@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Young+Serif&display=swap');

/*--------------------------------------------
font-family: 'Noto Sans JP', sans-serif;
font-family: "Young Serif", serif;

font-weight: 400; regular
font-weight: 500; medium
font-weight: 600; semibold
font-weight: 700; bold
---------------------------------------------*/

/* Font Awesome
---------------------------------------------
font-family: "Font Awesome 5 Free";
font-family: "Font Awesome 5 Brands";

Solid→ font-weight: 900;
Regular→ font-weight: 400;
Brands→ font-weight: 400;
--------------------------------------------- */
/* 全体構造
---------------------------------------------------- */
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;
	background:transparent;
}
h1{
	font-size: 100%;
	line-height: 0;
}
iframe{
	vertical-align:bottom;
}
.clearfix:after {
    content: " ";  /* 新しい要素を作る */
    display: block;  /* ブロックレベル要素に */
    clear: both;
    height: 0;
    visibility: hidden!important;
}
.clearfix {
    zoom: 1;
    overflow: hidden;
}
.clearfix2:after {
    content: "";  /* 新しい要素を作る */
    display: block;  /* ブロックレベル要素に */
    clear: both;
    height: 0;
}
.clearfix2 {
    zoom: 1;
}
.clear{clear:both !important;}

img{border:0;vertical-align:bottom;}
* {margin:0px; padding:0px;}
html {
	overflow-y: scroll;
}
body{
	font-size:100%;
	line-height:180%;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif", "メイリオ", "ＭＳ Ｐゴシック";
	color:#000;
}
.img_filter a:hover img{
    opacity:0.7;
    filter: alpha(opacity=70);
}
a{
	color:#1075C7;
	text-decoration: none;
}
a:hover{
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	color: #ff0000;
	text-decoration: none;
}
body{ margin:0px ; padding:0px;}

body, html {
/*    height: 100vh;*/
}
/*-------------------------------
	margin
-------------------------------------*/
.mt5{margin-top: 5px;}
.mt10{margin-top: 10px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}
.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;}
.mb120{margin-bottom: 120px;}
.mr6{margin-right: 6px;}
.ml6{margin-left: 6px;}
.pt10{padding-top: 10px;}
.pt20{padding-top: 20px;}
.pt30{padding-top: 30px;}
.pt40{padding-top: 40px;}
.pb10{padding-bottom: 10px;}
.pb20{padding-bottom: 20px;}
.pb30{padding-bottom: 30px;}
.pb40{padding-bottom: 40px;}
.pb50{padding-bottom: 50px;}
.tac {text-align: center;}
.tar {text-align: right;}
.shadow { box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.19);}
.red{color:#FF0000;}
@media only screen and (max-width:991px){
	.mt40{margin-top: 20px;}
	.mt50{margin-top: 20px;}
	.mb40{margin-bottom: 20px;}
	.mb50{margin-bottom: 20px;}
	.mb60{margin-bottom: 30px;}
	.mb120{margin-bottom: 60px;}
}
@media only screen and (max-width:767px){
	.mt40{margin-top: 20px;}
	.mt50{margin-top: 20px;}
	.mb40{margin-bottom: 20px;}
	.mb50{margin-bottom: 20px;}
	.mb60{margin-bottom: 30px;}
}
/*---------------------------------------------
    loading
----------------------------------------------- */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 1.0s 2.0s forwards;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.loading__logo {
	opacity: 0;
	animation: logo_fade 1.5s 0.5s forwards;
	width: 400px;
	padding: 10px;
}
@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  60% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
  }
}

/*---------------------------------------------
    common
----------------------------------------------- */
.contents{
    width: 100%;
    margin: 0px auto;
    padding: 50px 0px;
}
.bread_crumb{
    text-align: left;
    margin: 0px auto;
	padding: 5px 5px 5px 50px;
	color: #888;
	font-size: 12px;
	letter-spacing: 0.1em;
	background: #dfeefb;
}
.bread_crumb a{
	color: #888;
	font-weight: bold;
	text-decoration: none;
}
.bread_crumb a:hover{
	text-decoration: underline;
}
.modal-open {
    padding-right: 0px !important;
}
.line_w {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
}
.line_w:before {
    border-top: 4px double #33c3a3;
    content: "";
    display: inline; /* for IE */
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex: 1;
    flex-grow: 1;
}
.line_w:before {
    margin-right: 1.0em;
}
.line_w:after {
    border-top: 4px double #33c3a3;
    content: "";
    display: inline; /* for IE */
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex: 1;
    flex-grow: 1;
}
.line_w:after {
    margin-left: 1.0em;
}
.line_r {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
}
.line_r:after {
    border-top: 4px double #014482;
    content: "";
    display: inline; /* for IE */
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex: 1;
    flex-grow: 1;
}
.line_r:after {
    margin-left: 1.0em;
}

@media only screen and (max-width:767px){
    .contents{
        width: 100%;
        margin: 0px auto;
        padding: 20px 0px;
    }
	.contents_wave{
		width: 100%;
		margin: 0px auto;
		padding: 20px 0px 0px;
		position: relative;
	}
    .bread_crumb{
        font-size: 12px;
        text-align: right;
        margin: 0px;
		letter-spacing: 0.0em;
    }
}
/***********bootstrap change******************/
.w1230 {
    max-width: 1260px;
    padding: 0 15px;
    margin: 0 auto;
    width: 100%;
}
.w1320 {
    max-width: 1320px;
    margin: 0 auto;
    width: 100%;
}
@media (min-width: 1200px) {
    .container {
        max-width: 1320px;
    }
}

/*---------------------------------
	pagetop
--------------------------------*/
#pagetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
}
#pagetop img:hover {
	opacity: 0.7;
}
#pagetop img:hover {
    animation: rotates 0.7s linear infinite;
}
@keyframes rotates {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(0.9);
    }
    100% {
        transform: scale(1);
    }
}
@media only screen and (max-width:767px){
	#pagetop img{
		width: 50px;
		height: auto
	}
}
/*---------------------------------------------
    object-fitの縦横比保持
----------------------------------------------- */
.photo-ofi {
    height: 0;
    display: block;
	padding-bottom: 75%; /* 高さを指定 75（ボックスの横幅を基準） */
	background-color: #eee;
	overflow: hidden;
	position: relative;
    margin-bottom: 0px;
}
.photo-ofi img {
    max-width: inherit;
    max-height: inherit;
    width: 100%;
	height: 100%;
    object-fit: contain;
    font-family: 'object-fit: scale-down;';
    position: absolute;
    left: 0;
    top: 0;
}
.photo-ofi a:hover img{
	opacity: 0.65;
	transition: 0.2s ease-in-out;
}
/*-----------------------------------
	ancher
-------------------------------------*/
#about,#service,#works,#recruit,#contact{
    padding-top: 80px;
    margin-top: -80px;
}
@media only screen and (max-width:991px){
	#about,#service,#works,#recruit,#contact{
        padding-top: 90px;
        margin-top: -90px;
    }
}

/*----------------------------------------
    header
----------------------------------------*/
header{
	position: fixed!important;
	top: 0;
	left: 0;
	z-index: 900;
	width: 100%;
}
.header_in{
    width: 100%;
	height: auto;
	margin: 0px auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-right: 50px;
}
.scrollHeader {
    padding-top: 0px;
    padding-bottom: 0px;
    transition: padding 0.3s ease;
}
.scrollHeader.hide {
    padding-top: 0px;
    padding-bottom: 0px;
}
.logo{
	width: 400px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0px auto 0px 0px;
	position: relative;
	z-index: 900;
	border-radius: 0px 0px 40px 0px;
	background: #FFFFFF;
}
@media only screen and (max-width:1600px){
}
@media only screen and (max-width:1024px){
	.logo{
		width: 300px;
		height: 80px;
	}
}
@media only screen and (max-width:991px){
}
@media only screen and (max-width:767px){
	.logo{
		width: 250px;
		height: 80px;
	}
	.logo img{
		height: 30px;
	}
}
@media only screen and (max-width:414px){
}
@media only screen and (max-width:375px){
}


/* スクロールでヘッダー背景色表示 */
.hide {
	background-color: rgba(255, 255, 255, 1.0);
    transition: 0.6s;
}
@media only screen and (max-width:767px){
	.hide {
		background-color: rgba(255, 255, 255, 1.0);
		transition: 0.3s;
	}
}
/*----------------------------------------
    navi
----------------------------------------*/
.collapse:not(.show) {
    display: block;
}
.navbar {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: 0px;
}
.navbar-collapse {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-align: center;
    align-items: center;
}
.navbar-header,
.navbar-collapse {
    margin-right: 0px;
    margin-left: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 0px ;
    border-top: 0px solid transparent;
}
.navbar-toggler {
    margin-right: 0px;
    margin-top: 4px;
    background: #333;
}
.icon-bar {
    background: #fff;
}
/*----buttan周りのオレンジ--------*/
button:focus {
    outline: 0px dotted;
    outline: 0px auto -webkit-focus-ring-color;
}
.navi_box{
	width: 100%;
}

@media only screen and (max-width:991px){
	.navbar-header,
	.navbar-collapse {
		margin-right: 0px;
		margin-left: 0px;
		margin-top: -5px;
		margin-bottom: 0px;
		padding: 0px ;
		border-top: 0px solid transparent;
	}
	.navbar {
		position: relative;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		padding: 29px 20px 30px;
	}
	.collapse:not(.show) {
		display: none;
	}
	.navi_box{
		height: 100vh;
		overflow: auto;
		background: #333;
	}
}

@media only screen and (max-width:767px){
	.navbar {
		position: relative;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		padding: 24px 20px 0px;
	}
	.navbar-header,
	.navbar-collapse {
		margin-right: 0px;
		margin-left: 0px;
		margin-top: 30px;
		margin-bottom: 0px;
		padding: 0px ;
		border-top: 0px solid transparent;
	}
	.navi_box{
		height: 80vh;
		overflow:auto;
		background: #333;
	}
}
@media only screen and (max-width:700px){
}
/*---------------------------------------
    anime toggle
---------------------------------------*/
.navbar-toggler {
    position: relative;
    float: right;
    padding: 0px 0px 0px 8px;
    width: 40px;
    height: 32px;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    box-sizing: border-box;
    z-index: 9100;
}
.navbar-toggler .icon-bar {
    background-image:none;
    background-color: #fff;
    width: 22px;
    height: 2px;
    display: block;
    position: absolute;
    transition: ease .25s;
    border-radius: 1px;
}
.navbar-toggler .icon-bar:nth-of-type(1) {top:7px;}
.navbar-toggler .icon-bar:nth-of-type(2) {top:14px;}
.navbar-toggler .icon-bar:nth-of-type(3) {top:21px;}

.navbar-toggler[aria-expanded="true"] .icon-bar:nth-of-type(1) {
    top:13px;
    transform: rotate(-315deg);
}
.navbar-toggler[aria-expanded="true"] .icon-bar:nth-of-type(2) {
    opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .icon-bar:nth-of-type(3) {
    top:13px;
    transform: rotate(315deg);
}
.icon-bar {
    background: #fff;
}
.navbar-toggler .icon-bar + .icon-bar {
  margin-top: 0px;
}
nav{
	margin-top: 0px;
	margin-left: auto;
	margin-right: 0px;
    padding: 0px;
}
.navi {
    width: auto;
    margin: 0px auto;
    padding: 0px;
    list-style: none;
}
.navi li {
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
    text-align: center;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0.05em;
    margin: 0px 16px;
    padding: 0px;
}
.navi li a {
    color: #111;
    text-decoration: none;
}
.navi li a:hover {
    color: #0090b9;
    text-decoration: none;
}
.navi li .n_link_on{
	color: #0090b9;
}
.n_link {
    position: relative;
    padding: 0px 0px 1px;
    display: inline-table;
    transition: .3s;
    color: #111;
}
.n_link::after {
    position: absolute;
    bottom: -7px;
    left: 50%;
    content: '';
    width: 0;
    height: 2px;
    background-color: #0090b9;
    transition: .3s;
    transform: translateX(-50%);
    border-radius: 4px;
}
.n_link:hover::after {
    width: 100%;
}
.n_link_on {
    position: relative;
    padding: 0px 0px 1px;
    display: inline-table;
    transition: .3s;
    color: #0090b9;
}
.n_link_on::after {
    position: absolute;
    bottom: 0px;
    left: 50%;
    content: '';
    width: 100%;
    height: 2px;
    background-color: #0090b9;
    transition: .3s;
    transform: translateX(-50%);
    border-radius: 4px;
}
.n_link_on:hover::after {
    width: 100%;
}
.navi .n_tel {
    width: 0%;
	display: none;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
	line-height: 160%;
	margin: 0px;
	padding: 15px 0px;
	text-decoration: none;
	color: #111;
	border-top: solid 0px #555;
	border-bottom: solid 0px #111;
}
.plus a{
	display: inline-block;
	font-size: 80%;
	font-weight: 900;
}
.plus a:hover {
	transform: rotate(45deg)
}
.navi_xs{
	display: none!important;
}
.visible-xs{
	display: none;
	visibility:hidden
}
@media only screen and (max-width:1200px){
	.navi li {
		font-size: 14px;
		letter-spacing: 0.00em;
		margin: 0px 10px;
	}
}
@media only screen and (max-width:1024px){
	.navi li {
		font-size: 14px;
		letter-spacing: 0.00em;
		margin: 0px 7px;
	}
}
@media only screen and (max-width:991px){
	nav{
		position: absolute;
		top: -10px;
		width: 100%;
		padding: 0px;
	}
	.navi {
		width: 100%;
		max-width: 991px;
		margin: 0px auto 0px;
		padding: 0px 0px 50px;
		text-align: center;
		list-style: none;
		display: block;
		position: relative;
		z-index: 999;
	}
	.navi li {
		width: 100%;
		text-align: center;
		font-size: 16px;
		line-height: 160%;
		letter-spacing: 0.025em;
		margin: 0px;
		padding: 0px;
	}
	.navi li a {
		height: auto;
		display: block;
		padding: 20px 0px;
		color: #fff;
		text-decoration: none;
	}
	.navi li a:hover {
		height: auto;
		color: #fff;
		text-decoration: none;
		display: block;
		padding: 20px 0px;
/*		background: #6b6b6b; */
		transform: translate(0,0px);
	}
	.navi li.active a,
	.navi li.active a:hover,
	.navi li.active a:focus {
		height: auto;
		color: #fff;
		text-decoration: none;
		display: block;
		padding: 20px 0px;
		background: #6b6b6b;
		border-top-left-radius: 0px;
		border-top-right-radius: 0px;
		transform: translate(0,0px);
	}
	.navi li .n_link_on{
		color: #fff;
		background: rgba(107,107,107,1.00);
	}
	.n_link_on::after {
		display: none;
		position: absolute;
		bottom: 0px;
		left: 50%;
		content: '';
		width: 100%;
		height: 0px;
		background-color:rgba(255,255,255,0.00);
		transition: .3s;
		transform: translateX(-50%);
		border-radius: 4px;
	}
	.navi_xs{
		display: block!important;
		height: auto;
		padding: 20px 0px;
		color: #000;
		text-decoration: none;
		background:rgba(39,39,39,0.00);
		border-top-left-radius: 0px;
		border-top-right-radius: 0px;
	}
	.n_link::after {
		position: absolute;
		bottom: 0px;
		left: 50%;
		content: '';
		width: 0;
		height: 0px;
		background-color: #014482;
		transition: .3s;
		transform: translateX(-50%);
		border-radius: 4px;
	}
	.n_link:hover::after {
		width: 0%;
	}
}
@media only screen and (max-width:767px){
	nav{
		position: absolute;
		width: 100%;
		padding: 0px;
	}
}
/*----------------------------------
	mainimages slider
----------------------------------*/
.swiper-container{
	width: 100%;
	height: 100%;
	text-align: center;
}
.swiper-wrapper{
	position: relative;
	margin:0 auto;
    overflow: hidden;
	object-fit: cover;
	z-index: 100;
}
.swiper-slide img{
	z-index: 100;
    overflow: hidden;
	object-fit: cover;
	width: 100%;
	height: auto;
}
.main_txt_box{
	width: 100%;
	height: 100%;
    position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 310;
}
.main_txt_box h2{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 72px;
	line-height: 180%;
	text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0 -2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
}
.main_txt_box p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	font-size: 48px;
	line-height: 200%;
	text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0 -2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
}
.main_txt_box h2 span,p span{
	color: #0090b9;
}
.pc{
	display: block;
}
.smp{
	display: none;
}
@media only screen and (max-width:1800px){
}
@media only screen and (max-width:1600px){
}
@media only screen and (max-width:1400px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:1024px){
	.main_txt_box h2{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 60px;
	}
	.main_txt_box p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 40px;
	}
}
@media only screen and (max-width:991px){
}
@media only screen and (max-width:768px){
	.main_txt_box h2{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 40px;
	}
	.main_txt_box p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 20px;
	}
}
@media only screen and (max-width:767px){
	.swiper-slide img{
		z-index: 100;
		overflow: hidden;
		object-fit: cover;
		width: 100%;
		height: 460px;
	}
	.main_txt_box h2{
		font-size: 50px;
		line-height: 140%;
	}
	.main_txt_box p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 18px;
	}
	.pc{
		display: none!important;
	}
	.smp{
		display: block!important;
	}
}

@media only screen and (max-width:440px){
}
@-webkit-keyframes zoomUp {
	0% {
		-ms-transform: scale(1);
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	100% {
		-ms-transform: scale(1.10);
		-webkit-transform: scale(1.10);
		transform: scale(1.10);
	}
}

@keyframes zoomUp {
	0% {
		-ms-transform: scale(1);
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	100% {
		-ms-transform: scale(1.10);
		-webkit-transform: scale(1.10);
		transform: scale(1.10);
	}
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	-ms-animation: zoomUp 10s linear 0s;
	-webkit-animation: zoomUp 10s linear 0s;
	animation: zoomUp 10s linear 0s;
	-ms-animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
/*---------------------------------
	scroll
------------------------------------*/
.scroll a {
    display: inline-block;
    position: absolute;
    left: 2%;
    transform: translateX(0%);
	bottom: 30px;
    z-index: 990;
    padding: 10px 10px 90px;
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    font-family: 'Verdana', sans-serif;
    line-height: 1;
    letter-spacing: .05em;
    text-decoration: none;
    writing-mode: vertical-lr;
  }
.scroll a::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 50%;
    width: 1px;
    height: 80px;
    background: #fff;
  }
.scroll a::after {
    animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
  }
  @keyframes sdl {
    0% {
      transform: scale(1, 0);
      transform-origin: 0 0;
    }
    35% {
      transform: scale(1, 1);
      transform-origin: 0 0;
    }
    35.1% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
    }
    70%, 100% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
    }
}
@media only screen and (max-width:1024px){
}
@media only screen and (max-width:768px){
	.scroll a {
		display: none;
	  }
}
/*--------------------------------
	midashi
----------------------------------*/
.h3midashi{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 64px;
	line-height: 140%;
	text-align:center;
}
.h3midashi span{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 120%;
	text-align:center;
	color: #999999;
	display: block;
}
.h3midashi::after{
	content: "";
	display: block;
	width: 100px;
	height: 4px;
	margin: 20px auto 0px;
	background: #0090b9;
}
.h3midashi-lf{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 64px;
	line-height: 140%;
	text-align:left;
}
.h3midashi-lf span{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 120%;
	text-align:left;
	color: #999999;
	display: block;
}
.h3midashi-lf::after{
	content: "";
	display: block;
	width: 100px;
	height: 4px;
	margin: 20px auto 0px 0px;
	background: #0090b9;
}
.h3midashi2{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 60px;
	line-height: 140%;
	text-align:center;
	background: url("../images/title-underline.png") no-repeat center bottom;
}
.h4reed{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 180%;
	text-align:center;
}
.blou{
	color: #0090b9;
}

@media only screen and (max-width:1024px){
	.h3midashi{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 50px;
	}
	.h3midashi-lf{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 50px;
	}
	.h3midashi2{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 50px;
	}
	.h4reed{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 20px;
	}
}
@media only screen and (max-width:768px){
	.h3midashi{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 40px;
	}
	.h3midashi-lf{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 40px;
	}
	.h3midashi2{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 40px;
	}
	.h4reed{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 20px;
	}
	.h3midashi span{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 16px;
	}
	.h3midashi-lf span{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 16px;
	}
}
@media only screen and (max-width:767px){
	.h3midashi{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 36px;
	}
	.h3midashi-lf{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 36px;
		text-align: center;
	}
	.h3midashi-lf span{
		text-align:center;
	}
	.h3midashi-lf::after{
		content: "";
		display: block;
		width: 100px;
		height: 4px;
		margin: 20px auto 0px;
		background: #0090b9;
	}
	.h3midashi2{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 36px;
	}
	.h4reed{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 18px;
		text-align:left;
		padding: 0px 20px;
	}
	.h3midashi span{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 16px;
	}
	.h3midashi-lf span{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 16px;
	}
}

/*--------------------------------
	btn
----------------------------------*/
.btn01 {
	width: 340px;
	height: auto;
	margin: 0px auto;
}
.btn01 a{
	width: 100%;
	height: auto;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 22px;
	color: #fff;
	display: block;
	padding: 20px 0px;
	text-decoration: none;
	text-align: center;
	background: #1DD5E6;
	background: linear-gradient(120deg, rgba(29, 213, 230, 1) 0%, rgba(70, 174, 247, 1) 100%);
	border-radius: 8px;
}
.btn01 a:hover{
	text-decoration: none;
	background: #46aef7;
}
/*
.btn02 {
	width: 340px;
	height: auto;
	margin: 0px auto;
}
*/
.btn02 {
	width: 340px;
	height: auto;
	margin: 0px auto 0px 0px;
}
.btn02 a{
	width: 100%;
	height: auto;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 22px;
	color: #fff;
	display: block;
	padding: 20px 0px;
	text-decoration: none;
	text-align: center;
	background: #1DD5E6;
	background: linear-gradient(120deg, rgba(29, 213, 230, 1) 0%, rgba(70, 174, 247, 1) 100%);
	border-radius: 8px;
}
.btn02 a:hover{
	text-decoration: none;
	background: #46aef7;
}
@media only screen and (max-width: 1024px) {
	/*
	.btn02 {
		width: 340px;
		height: auto;
		margin: 0px auto;
	}
	*/
	.btn02 {
		width: 340px;
		height: auto;
		margin: 0px auto 0px 16px;
	}
	.btn01 {
		width: 340px;
		height: auto;
		margin: 0px auto;
	}
}
@media only screen and (max-width: 991px) {
	/*
	.btn02 {
		width: 300px;
		height: auto;
		margin: 0px auto;
	}
	*/
	.btn02 {
		width: 300px;
		height: auto;
		margin: 0px auto 0px 16px;
	}
	.btn01 {
		width: 300px;
		height: auto;
		margin: 0px auto;
	}
	.btn01 a{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 20px;
	}
	.btn02 a{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 20px;
	}
}
@media only screen and (max-width: 767px) {
	.btn02 {
		width: 300px;
		height: auto;
		margin: 0px auto;
	}
}
/*--------------------------------
	about
----------------------------------*/
.top01{
	width: 100%;
	height: auto;
	background: #0090b9 url("../images/about-bg02.png") repeat-y center center;
}
/*
.top01{
	width: 100%;
	height: auto;
	background-color: rgba(0,144,185,1.00);
	background-image: url("../images/about-bg02.png");
	background-repeat:repeat;
	background-position: center center;
	background-attachment: fixed;
}
*/
.contents-box01{
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 50px 0px;
}
.contents-box01 p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 200%;
	text-align:left;
}
.tbl-com {
	width: 100%;
	margin: 10px auto;
	border-top: dotted 1px #cccccc;
}
.tbl-com th {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 150%;
	color: #222;
	text-align: left;
	vertical-align: middle;
	width: 23%;
	margin: 0px;
	padding: 10px 5px 10px 20px;
	white-space: nowrap;
	border-bottom: dotted 1px #ccc;
}
.tbl-com td {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 150%;
	color: #222;
	text-align: left;
	margin: 0px;
	padding: 10px 20px 10px 20px;
	border-bottom: dotted 1px #ccc;
}
.indent{
	display: none;
}
@media only screen and (max-width: 1024px) {
	.top01{
		width: 100%;
		height: auto;
		background: #d9d9d9 url("../images/about-bg02.png") repeat-y center center;
	}
	/*
	.top01{
		width: 100%;
		height: auto;
		background-color:rgba(248,248,248,1.00);
		background-image: url("../images/about-bg02.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-attachment:scroll; 
	}
	*/
}

@media only screen and (max-width:991px){
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
	.top01{
		background-attachment:scroll;
	}
	.tbl-com tr, .tbl-com th, .tbl-com td {
		display: block;
	}
	.tbl-com th {
		font-size: 15px;
		line-height: 150%;
		text-align: left;
		width: 100%;
		margin: 0px;
		padding: 10px 5px 5px 10px;
		white-space: nowrap;
		border-bottom: dotted 0px #ccc;
	}
	.tbl-com td {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 16px;
		line-height: 150%;
		color: #222;
		text-align: left;
		margin: 0px;
		padding: 10px 20px 10px 10px;
		border-bottom: dotted 1px #ccc;
	}
	.indent{
		display: inline-block;
		padding-right: 5px;
		color: #0090b9;
	}
}
/*---------------------------------------------
    service
-----------------------------------------------*/
.top02{
	width: 100%;
	height: auto;
	position: relative;
	background: url("../images/service-bg.jpg") repeat center center fixed;
}
/*
.top02{
	width: 100%;
	height: auto;
	position: relative;
	background: url("../images/service-bg.jpg") no-repeat fixed;
}
*/
.contents-box02{
	width: 100%;
	max-width: 1140px;
	height: auto;
	margin: 0px auto;
	padding: 90px 0px;
}
.white-box{
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 70px 40px;
	background: rgba(255,255,255,0.85);
	box-shadow: 0px 0px 7px 5px rgba(0,0,0,0.10);
}
.white-box p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 200%;
	text-align:center;
}
.maker{
	font-weight: 700;
	color: #111;
	background:linear-gradient(transparent 60%, #b1e4f2 60%);
}
.maker2{
	background:linear-gradient(transparent 60%, #9fdde2 60%);
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:1024px){
}
@media only screen and (max-width:991px){
}
@media only screen and (max-width:768px){
	.white-box p{
		text-align:left;
	}
}
@media only screen and (max-width:767px){
	.top02{
		width: 100%;
		height: auto;
		position: relative;
		background: url("../images/service-bg.jpg") no-repeat scroll;
	}
}
@media only screen and (max-width:390px){
}
@media only screen and (max-width:375px){
}

/*---------------------------------------------
    works
-----------------------------------------------*/
.top03{
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 0px;
	background-color: #bfdff5;
	background-image: url("../images/works-bg.png");
	background-position: right 5% bottom 5%;
	background-repeat: no-repeat;
	background-attachment: scroll;
}
.contents-box03{
	width: 100%;
	max-width: 1140px;
	height: auto;
	margin: 0px auto;
	padding: 90px 0px;
}
.works{
	width: 100%;
	height: auto;
	margin: 20px auto;
	padding: 0px;
}
.works h4{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	font-size: 30px;
	line-height: 100%;
	text-align:left;
	margin: 20px 0px;
	padding: 0px 0px 0px 10px;
	border-left: solid 7px #00B2B9;
}
.works ul{
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.works ul li{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 160%;
	text-align:left;
	margin: 0px;
	padding: 5px 0px;
}
.works ul li::before{
	content: "▶";
	font-size: 70%;
	padding-right: 10px;
	color: #00b2b9;
}


@media only screen and (max-width:1600px){
}
@media only screen and (max-width:1024px){
	.works h4{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 24px;
	}
	.works ul li{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 15px;
		line-height: 160%;
		text-align:left;
		margin: 0px;
		padding: 5px 0px;
	}
	.works ul li::before{
		content: "▶";
		font-size: 70%;
		padding-right: 7px;
		color: #00b2b9;
	}
}
@media only screen and (max-width:991px){
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:767px){
	.top03{
		background: #bfdff5;
		background-attachment: scroll;
	}
	.works ul li{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 14px;
		line-height: 160%;
		text-align:left;
		margin: 0px;
		padding: 5px 0px;
	}
	.works ul li::before{
		content: "▶";
		font-size: 70%;
		padding-right: 5px;
		color: #00b2b9;
	}
}

/*---------------------------------------------
	recruit
-----------------------------------------------*/
.top04{
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 0px;
	background-color: #eff3f4;
	background-image: url("../images/recruit-bg.png");
	background-repeat: no-repeat;
	background-position: right 5% bottom 5%;
	background-attachment: scroll;
}
.contents-box04{
	width: 100%;
	max-width: 1140px;
	height: auto;
	margin: 0px auto;
	padding: 90px 0px;
}
.contents-box04 h4{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	font-size: 30px;
	line-height: 160%;
	text-align:left;
}
.contents-box04 p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 200%;
	text-align:left;
}
.recruit{
	margin: 0px 0px 0px 20px;
	padding: 0px;
}
.recruit li{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 160%;
	text-align:left;
	margin: 0px;
	padding: 5px 0px;
}


@media only screen and (max-width:1600px){
}
@media only screen and (max-width:1024px){
	.contents-box04 h4{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		font-size: 24px;
		line-height: 160%;
		text-align:left;
	}
}
@media only screen and (max-width:991px){
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:767px){
	.top04{
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 0px;
		background: #eff3f4;
	}
}
/*---------------------------------------------
	contact
-----------------------------------------------*/
.top05{
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 0px;
	background: #0090B9;
}
.contents-box05{
	width: 100%;
	max-width: 1140px;
	height: auto;
	margin: 0px auto;
	padding: 90px 0px;
}
.white-box2{
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 70px 40px;
	background: rgba(255,255,255,1.00);
	box-shadow: 0px 0px 7px 5px rgba(0,0,0,0.10);
}
.white-box2 p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 200%;
	text-align:center;
}

.tbl-con {
	width: 100%;
	margin: 10px auto;
	border-top: solid 2px #ffffff;
	border-left: solid 2px #ffffff;
}
.tbl-con th {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 150%;
	color: #333;
	text-align: left;
	vertical-align: middle;
	width: 23%;
	margin: 0px;
	padding: 10px 5px 10px 20px;
	background-color:#ebecf4; 
	white-space: nowrap;
	border-bottom: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
}
.tbl-con td {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 150%;
	color: #333;
	text-align: left;
	margin: 0px;
	padding: 10px 20px 10px 20px;
	background-color: #f9f9f9;
	border-bottom: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
}
@media only screen and (max-width: 991px) {
	.tbl-con tr, .tbl-con th, .tbl-con td {
		display: block;
	}
	.tbl-con th {
		font-size: 15px;
		line-height: 150%;
		text-align: left;
		width: 100%;
		margin: 0px;
		padding: 10px 5px 10px 20px;
		white-space: nowrap;
		border-bottom: solid 2px #ffffff;
		border-right: solid 2px #ffffff;
	}
}
@media only screen and (max-width:768px){
	.white-box2{
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 30px 10px;
		background: rgba(255,255,255,1.00);
		box-shadow: 0px 0px 7px 5px rgba(0,0,0,0.10);
	}
	.white-box2 p{
		text-align:left;
	}
}
/*-------------------------------------
	 privacy
----------------------------------------*/
.h4sub {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	line-height: 160%;
	font-size: 20px;
	margin: 0px;
	padding: 0px;
	color: #111;
	text-align: center;
}
.std  {
	width: 100%;
	margin: 10px auto 50px;
	padding: 30px 50px;
	background:#f4f4f4; 
}
.std p {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 180%;
	font-size: 15px;
	margin: 0px;
	padding: 0px;
	color: #111;
	text-align: left;
}
.std p a{
	color: #0092dd;
	text-decoration: none;
}
.std p a:hover{
	color: #0092dd;
	text-decoration: none;
}
.std_ol {
	padding: 0px;
	margin: 20px 0px 10px 25px;
}
.std_ul {
	padding: 0px;
	margin: 20px 0px 10px 25px;
}
.std_ol li {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 180%;
	color: #252525;
	text-align: left;
	margin: 0px;
	padding: 0px;
	list-style: decimal;
}
.std_ul li {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 180%;
	color: #252525;
	text-align: left;
	margin: 0px;
	padding: 0px;
	list-style: disc;
}
@media only screen and (max-width:767px){
	.std  {
		width: 100%;
		margin: 10px auto 20px;
		padding: 30px 10px;
		background:#f4f4f4; 
	}
}

/*---------------------------------------------
    footer
-----------------------------------------------*/
footer{
    width: 100%;
	height: auto;
    margin: 0px auto;
    padding: 50px 0px;
	background: url("../images/footer-bg.jpg") repeat center center;
	position: relative;
}
.footer{
	width: 100%;
	height: auto;
	margin: 0px auto;
}
.footer p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	padding: 0px;
	color: #111;
}
.flogo{
	font-family: "Young Serif", serif;
	font-weight: 400;
	font-size: 50px;
	line-height: 120%;
	padding: 0px;
	color: #999999;
}
.flogo a{
	color: #999999;
	text-decoration: none;
}
.fnavi{
	width: 100%;
	margin: 0;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.fnavi li{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 140%;
	padding: 15px 20px;
	color: #000;
}
.fnavi li a{
	color: #000;
	text-decoration: none;
}
.fnavi li a:hover{
	color: #000;
	text-decoration: underline;
}
.sns-box{
	text-align: right;
	margin: 20px 0px;
}
.sns-box img{
	width: auto;
	height: 140px;
}
.gmap2 {
	font-size: 12px;
	margin-left: 7px;
	padding: 2px 7px;
	border: solid 1px #333;
}
.gmap2 a,.gmap2 a:hover{
	color: #111;
	text-decoration: none;
}
.copy{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	width: 100%;
    margin: 0px auto;
    padding: 15px;
	font-size: 16px;
	color: #111;
	line-height: 120%;
	letter-spacing: 0.05em;
	text-align: center;
}
.copy::before{
	content: "\f1f9";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	margin-right:5px;
}
@media only screen and (max-width:1024px){
	.fnavi li{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 14px;
		line-height: 140%;
		padding: 5px 10px;
		color: #000;
	}
}
@media only screen and (max-width:991px){
	footer{
		width: 100%;
		margin: 0px auto;
		padding: 20px 0px;
	}
	footer p{
		text-align: center;
	}
	.flogo{
		margin: 0px auto 10px;
		padding: 0px;
		text-align: center!important;
	}
	.fnavi{
		width: 100%;
		margin: 20px auto;
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.fnavi li a{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 14px;
		line-height: 140%;
		padding: 15px;
		text-decoration: none;
	}
	.sns-box{
		text-align: center;
		margin: 20px 0px;
	}
	.sns-box img{
		width: auto;
		height: 140px;
	}
	.copy{
		font-size: 14px;
		text-align: center;
	}
}
@media only screen and (max-width:767px){
	footer{
		width: 100%;
		margin: 0px auto;
		padding: 10px 0px 0px;
	}
	.flogo{
		font-size: 40px;
		margin: 10px auto 10px;
		padding: 0px;
		text-align: center;
	}
	.fnavi{
		width: 100%;
		margin: 20px auto;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
}
.gmap {
	position: relative;
	padding-bottom: 35%; /* これが縦横比 */
/*	padding-bottom: 55%;  */
	height: 0;
	overflow: hidden;
	margin-top: 0px;
	border-radius: 0px;
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.btn_gm {
	width: 280px;
	height: auto;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}
.btn_gm a{
	width: 280px;
	height: auto;
	font-size: 15px;
	color: #fff;
	padding: 5px 10px;
	display: block;
	text-decoration: none;
	text-align: center;
    background:#0f2d59;
	border: solid 1px #0f2d59;
}
.btn_gm a:hover{
	text-decoration: none;
	color: #0f2d59;
	background: #fff;
}
.btn_gm a::after{
	float: right;
	content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right:10px;
	margin-left: -10px;
}
.gmap_access{
	width: 100%;
	margin: 20px 0px 0px;
	list-style: none;
	display: flex;
}
.gmap_access li{
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 180%;
	text-align: left;
	margin: 0px;
	padding: 0px 5px;
}
.gmap_access li h4{
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 180%;
	text-align: left;
	margin: 0px;
	padding: 0px 5px;
	color: #246ac0;
}
.gmap_access li h4 span{
	font-size: 14px;
	padding-left: 5px;
	color: #111;
	vertical-align: baseline;
}
/*------------------------------------
	form
--------------------------------------*/
input[type="submit"]{
    font-size: 14px;
    font-weight: normal;
    padding: 12px 10px;
    color: #fff;
    background:#0090b9;
	border: solid 1px #0090b9;
	border-radius: 6px;
    -webkit-border-radius: 6px;  
    -moz-border-radius: 6px;
}
input[type="button"] {
    font-size: 15px;
    font-weight: normal;
    padding: 12px 30px;
    color: #fff;
    background:#f57c00;
	border: solid 1px #f57c00;
	border-radius: 6px;
    -webkit-border-radius: 6px;  
    -moz-border-radius: 6px;
}
input:hover[type="submit"]{
    color: #0090b9;
    background:#fff;
	border: solid 1px #0090b9;
	border-radius: 6px;
    -webkit-border-radius: 6px;  
    -moz-border-radius: 6px;
}
input:hover[type="button"] {
    color: #f57c00;
    background:#fff;
	border: solid 1px #f57c00;
	border-radius: 6px;
    -webkit-border-radius: 6px;  
    -moz-border-radius: 6px;
}
input, select {
	vertical-align:middle;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "ＭＳ Ｐゴシック", Meiryo, sans-serif;
	margin: 5px 0px;
}
.form-s{width:70px;}
.form-m{width:150px;}
.form-l{width:300px;}
.form100{width:99%;}
.form-h{height:80px;}
input[type="checkbox"],input[type="radio"]{
	/*transform: scale(1.2);*/
}
input[type="text"],select{border:1px solid #ccc;}
input[type="date"],select{border:1px solid #ccc;}
input[type="time"],select{border:1px solid #ccc;}
input:focus[type="text"]{border:1px solid #06c;}
input, select {
	padding: 5px;
}
input[type="text"]{
	padding: 10px 5px;
} 
input::-webkit-input-placeholder{
	line-height: 140%;
	padding-left: 5px;
}
textarea {
	width: 99%;
	padding: 10px;
	border:1px solid #ccc;
}
label{
	color: #333;
	font-weight: normal;
}
.txt_label{
	color: #333;
	text-align: center;
	margin: 20px 0px 0px;
	font-size: 15px;
}
.needinput{background:#fee;border:1px solid #ccc}
.form70 {
	width: 70%;
}
.form80 {
	width: 80%;
}
.form60 {
	width: 60%;
}
.form40 {
	width: 40%;
}
.form20 {
	width: 20%;
}
.form10 {
	width: 10%;
}

.form_btn{
	text-align: center;
	margin-top: 30px;
}
.form_btn p{
	font-size: 15px;
	text-align: center;
	line-height: 140%;
}
.print{
	display: none;
	width: 100%;
	margin: 0px auto;
	overflow: hidden;
}
@media only screen and (max-width:767px){
}
/* ----------------------------------
 	print
------------------------------------ */
@media print {
	.scroll a{
		display: none!important;
	}
	#navibar{
		display: none!important;
	}
	#pagetop{
		display: none!important;
	}
	header{
		position: absolute;
		width: 1140px;
	}
	.navi li {
		display: inline-block;
		font-weight: 500;
		text-align: center;
		font-size: 12px;
		line-height: 160%;
		letter-spacing: 0.00em;
		margin: 0px 10px;
		padding: 0px;
	}
	.swiper-container{
		width: 1140px;
		position: relative;
		margin: 0px auto 0px;
		z-index: 100;
	}
	.swiper-slide {
		width: 100%;
		position: relative;
		z-index: 300;
		overflow:hidden;
		object-fit:cover;
		height: 100%;
		max-height: 700px;
	}
	.slide-img img{
		width: 100%;
		overflow: hidden;
		object-fit:cover;
		height: auto;
		display: block;
	}
}
@page {
    size: A4 portrait;
    margin: 5mm;
    padding: 0mm;
}
