@charset "utf-8";

html { scroll-behavior: smooth;}
body {
	font-size: 10px;
	line-height: 1.4;
	-webkit-text-size-adjust: 100%;
}
.display-pc-only{
	display: none;
}
.display-sp-only{
}

/*************** common & index ***************/
.color-synassist{
	color: #63B7B3;
}
.color-syncost{
	color: #769ace;
}
.color-syneffect{
	color: #60badc;
}

.marker1 {
	background: linear-gradient(transparent 60%, #d2e5e3 60%);
}
.marker2 {
	background: linear-gradient(transparent 60%, #d6e1f0 60%);
}
.marker3 {
	background: linear-gradient(transparent 60%, #cfeaf4 60%);
}



.w100{
	width: 100%;
}
.w80{
	width: 80%;
	margin-left: 10%;
}
.w60{
	width: 60%;
	margin-left: 20%;
}

.fontsize60{
	font-size: 60%;
}
.fontsize70{
	font-size: 70%;
}
.fontsize80{
	font-size: 80%;
}
.fontsize120{
	font-size: 120%;
}
.fontsize130{
	font-size: 130%;
}
.fontsize140{
	font-size: 140%;
}
.mb10{
	margin-bottom: 10px;
}

.block-bg {
	transition: all .7s ease;
	padding-bottom: 3em;
}
.alpha30 {
	filter:alpha(opacity=30);
	-moz-opacity: 0.3;
	opacity: 0.3;
}

header{
	width: 100%;
	top: 0px;
	position: fixed;
	z-index: 100;
	padding-bottom: 10px;
}
.logo{
	margin-left: 0.5em;
	margin-top: 0.5em;
	width: 10em;
}
.contact_head{
	float: right;
	margin-right: 5.5em;
	width: 10em;
}
.header-bg-w{
  background-color: rgba(255,255,255,0.9);
}
.header-bg-n{
  background-color: rgba(5,34,105,1.0);
}
.menu{
	display: none;
}
.main{
	width: 100%;
}

.index-h1 {
	text-align: center;
	background-color: #052269;
	padding-top: 0.8em;
	padding-bottom: 0.8em;
	color: #FFFFFF;
	font-size: 1.2em;
}
.dots {
  text-emphasis: filled;
  -webkit-text-emphasis: filled;
}
.index-3btn {
	width: 100%;
	background-color: #00c0ec;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}
.index-3btn img{
	width: 100%;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}
.index-3btn img:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
.index-title-box{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.index-news{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	padding-top: 5em;
	padding-bottom: 1em;
	font-size: 1em;
}
.index-news a{
	color: #3C3C3C;
}
.index-news p{
	width: 4.2em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	border-bottom: 1px solid #000000;
	padding-bottom: 0.2em;
	font-size: 1.5em;
	margin-bottom: 2em;
}
.index-news ul{
	margin-bottom: 20px;
}
.index-news li{
	text-align: left;
	border-bottom: 1px solid #000000;
	padding-top: 0.8em;
	padding-bottom: 0.8em;
	font-size: 1em;
}
.index-news li a{
	display: block;
}
.blog_banner{
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-top: 100px;
	width: 100%;
}
.mov_box img{
	width: 100%;
}
.contact_index{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3em;
	width: 70%;
}

footer{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 1em;
	padding-left: 1em;
	padding-right: 1em;
	background-color: #052269;
	box-sizing: border-box;
}

.footer-btn{
	width: 100%;
	padding-bottom: 1em;
	text-align: center;
}
.footer-btn img {
	width: 30%;
	margin: 1%;
}
.footer-link-out{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 1em;
}
.footer-link-out a{
	color: #FFFFFF;
}
.footer-link{
	padding-right: 3em;
	float: left;
	color: #FFFFFF;
	line-height: 1.8;
	padding-bottom: 1em;
}
.footer-link a{
	color: #FFFFFF;
	font-size: 1em;
}
.footer-copy{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	clear: both;
	border-top: 1px solid #FFFFFF;
	color: #FFFFFF;
	padding-top: 1em;
	font-size: 0.8em;
	padding-bottom: 2em;
}
.footer-copy p{
}
.footer-copy p:last-of-type{
}

.footer::after,
.footer-copy::after{
    clear:both;
    content:"　";
}
	
/*************** service ***************/

.service-box01{
	width: 100%;
	text-align: center;
	padding-top: 40px;
	padding-bottom: 40px;
	color: #FFFFFF;
}
.service-box01 h1{
	font-size: 1.5em;
	line-height: 1.8em;
	padding-bottom: 30px;
}
.service-box01 h2{
	font-size: 1.2em;
	line-height: 1.8em;
	padding-bottom: 30px;
}
.service-box01 h3{
	font-size: 1em;
	line-height: 2em;
	display: inline-block;
	color: #FFFFFF;
	border-top: 1px solid #FFFFFF;
	padding-top: 2em;
	width: 24%;
}
.service-box01 h3 a{
	color: #FFFFFF;
}

.service-box02{
	width: 100%;
	position: relative;
	overflow-y: hidden;
	min-width: 1200px;
	background-color: rgba(94,44,44,0.9);
	display: none;
}
.service-box02-01{
	position: absolute;
	left: 0px;
	top: 0px;
	width: 50%;
	height: auto;
	box-sizing: border-box;
	padding-top: 30px;
	padding-left: 30px;
	font-size: 22px;
}
.service-box02-01 h4{
	border-bottom: 1px solid #FFFFFF;
	padding-bottom: 5px;
}
.service-box02-01 h4,
.service-box02-01 h4 img{
	vertical-align: top;
}
.service-box02-01 img{
	width: 150px;
}
.service-box02-01-p1{
	width: 100%;
	padding-top: 20px;
	padding-left: 150px;
	color: #3C3C3C;
	box-sizing: border-box;
	font-size: 22px;
	line-height: 2em;
}
.service-box02-01-p2{
	width: 100%;
	padding-top: 30px;
	padding-left: 150px;
	color: #3C3C3C;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 2em;
}
.free{
	font-size: 0.6em;
	padding: 0.3em;
	color: #fff;
	background-color: #FF0004;
}
.jirei-title{
	margin-bottom: 1em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	border-bottom: 1px solid #000000;
	padding-bottom: 0.2em;
	padding-top: 3em;
	font-size: 1.5em;
	width: 4.2em;
}
.jirei-table{
	display: none;
}
.jirei-table-th1{
	padding: 20px;
}
.jirei-table-th1 img{
	width: 150px;
}
.jirei-table-th2{
	padding: 20px;
	box-sizing: border-box;
}
.jirei-table-th2 img{
	width: 140px;
	margin: 5px;
	box-sizing: border-box;
}
.jirei-table-td1{
	padding: 20px;
	background-color: #eeeeee;
	box-sizing: border-box;
	border-left: 20px solid #EEEEEE;
	border-bottom: 20px solid #EEEEEE;
	font-size: 18px;
	vertical-align: top;
	}
.jirei-table-td1 p{
	padding-bottom: 0.2em;
	border-bottom: 1px solid #000;
	display: inline-block;
	}
.jirei-table-td2{
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #eeeeee;
	box-sizing: border-box;
	border-right: 20px solid #EEEEEE;
	font-size: 24px;
}
.jirei-table-td2 strong{
	font-size: 2em;
	font-weight: normal;
}
.jirei-table-td3{
	border-bottom: 20px solid #EEEEEE;
	box-sizing: border-box;
	color: #FFFFFF;
	text-align: center;
	font-size: 16px;
	width: 9em;
	padding: 20px;
}
.jirei-table-td4{
	padding: 20px;
	background-color: #ffffff;
	border-bottom: 20px solid #EEEEEE;
	border-right: 20px solid #EEEEEE;
	box-sizing: border-box;
	font-size: 14px;
}
.sp_jirei{
	width: 90%;
	margin: 5%;
}

.contact_service{
	text-align: center;
}
.contact_service img{
	width: 60%;
}

.sp-sticky{
background-color: #fff;top: 0;position: sticky;z-index: 10
}


/*************** corp ***************/
.obi{
	width: 100%;
	background-color: #052269;
	height: 100px;
}
.w1000box-w{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	background-color: #ffffff;
	text-align: center;
	padding-top: 2em;
	padding-bottom: 2em;
	padding-left: 1em;
	padding-right: 1em;
	margin-bottom: 3em;
}
.mt-100{
	margin-top: -50px;
}
.corp-title {
	text-align: center;
	margin-bottom: 2em;
}
.corp-title p{
	text-align: center;
	border-bottom: 1px solid #000000;
	padding-bottom: 0.2em;
	display: inline-block;
	font-size: 1.5em;
}
.corp-leed {
	margin-bottom: 2em;
	font-size: 1.3em;
}
.corp-text {
	margin-bottom: 2em;
	font-size: 1em;
	line-height: 1.8em;
}
.aisatsu{
	width: 85%;
	margin-bottom: 50px;
}
.enkaku-box{
	display: inline-block;
	width: 200px;
	text-align: center;
	margin: 5px;
	color: #052269;
}
.enkaku-box img{
	width: 100%;
	margin-bottom: 5px;
}
.gaiyou-table {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
}
.gaiyou-table th{
	padding: 0.5em 1em 0.5em 0.5em;
	font-size: 1em;
	line-height: 1.8em;
	vertical-align: top;
	border-right: 1px solid #000000;
	white-space: nowrap;
}
.gaiyou-table td{
	padding: 0.5em 0.5em 0.5em 1em;
	font-size: 1em;
	line-height: 1.8em;
	text-align: left;
}
.gaiyou-table td img{
	width: 10em;
}
.contact_common{
	margin-left: auto;
	margin-right: auto;
	margin-top: 3em;
	margin-bottom: 3em;
	width: 60%;
}
.w1000box-w iframe{
	width: 100%;
}



.alert-danger{
	color: #FF0004;
	font-size: 20px;
}
.alert-success{
	color: #000;
	font-size: 20px;
}
.news li{
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 1.8em;
}
.news {
	margin-left: 5%;
	margin-bottom: 50px;
	width: 90%;
}
.news li{
	margin-bottom: 10px;
	font-size: 1em;
	line-height: 1.8em;
	text-align: left;
}
.news li a{
	color: #000;
}
.news-title {
	margin-left: 10%;
	margin-bottom: 0px;
	width: 80%;
	font-size: 1.3em;
	line-height: 1.8em;
	text-align: left;
	box-sizing: border-box;
	font-weight: bold;
	color: #0D2165;
}
.news-data {
	margin-left: 10%;
	margin-bottom: 30px;
	width: 80%;
	line-height: 1.8em;
	text-align: right;
}
.news-text {
	margin-left: 10%;
	margin-bottom: 30px;
	width: 80%;
	line-height: 1.8em;
	text-align: left;
}

.recruit_main{
	margin-bottom: 50px;
	width: 90%;
}
.recruit_btn01{
	margin: 2em;
	width: 70%;
}

.privacy-title{
	box-sizing: border-box;
	padding: 8px;
	background-color: #9EA0A0;
	color: #ffffff;
	font-size: 1em;
	margin-left: 10%;
	margin-bottom: 1em;
	width: 80%;
	text-align: left;
}
.privacy-text {
	box-sizing: border-box;
	color: #555555;
	font-size: 1em;
	margin-left: 10%;
	margin-bottom: 4em;
	width: 80%;
	text-align: left;
}
.privacy-text p{
	margin-bottom: 1em;
}
.indent p{
	text-indent: -1em;
	padding-left: 1em;
}



/*************** form ***************/

.form-control {
	display: block;
	width: 90%;
	padding: 5px;
	font-size: 1em;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	margin-bottom: 20px;
	margin-left: 3%;
        }
.checkflex {
	width: 80%;
    display: flex;
	margin-bottom: 20px;
}

.checkp {
	width: 90%;
	display: flex;
	margin-left: 3%;
	text-align: left;
	margin-bottom: 20px;
	color: #052269;
}
.checkp a{
	color: #052269;
	text-decoration: underline;
}

.check1 {
	width: 60%;
	margin: auto;
	text-align: right;
	color: #052269;
	margin-left: 3%;
}

.check2 {
	width: 30%;
	margin: auto;
	text-align: left;
	color: #052269;
}
.btn{
	width: 200px;
	margin: auto;
	text-align: center;
	color: #fff;
	background-color: #052269;
	padding: 20px;
cursor: pointer;
}

/*新ヘッダー*/
.pc{display:none;}

#header{
  padding: 10px 3vw;
  text-align: left;
  position: fixed;/*fixedを設定して固定*/
  z-index: 999;/*最前面へ*/
  top:0;/*位置指定*/
  width: 100%;
  display: flex;
  justify-content: space-between;
}

#header img{
    width: 30svw;
    height: auto;
    /*margin: 0.5svh auto;*/
}
nav ul {
  display: flex;
  list-style: none;
  align-items: center;
}

.nav-box {
    border: 1.8px solid #000;
    border-radius: 15px;
    font-size: 0.7vw;
    background:#fff;
}
.dli-chevron-down {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 0.7em;
    height: 0.7em;
    border: 0.1em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    margin: 0 0 0.3em 0.7em
}

nav{
    background: #00348c;
    /*position: absolute;
    top: 0;
    left: 0;
    width: 100%;*/
    padding: 0 13vw;
  font-size:4vw;
}
.spnav,.spnav span {
    color:#fff;
    margin-top: 6svh;
}

.spnav a,.spnav a:link, .spnav a:visited, .spnav a:hover, .spnav a:active {
    text-decoration: none;
    color:#fff;

}
.spnav div{
   margin-top:2.4svh;
}

#header .spnav img{
    width: 100%;
    margin: 0 auto;
}

#m1{
   margin-top:0;
   margin-bottom:1svh;
   letter-spacing: .05rem;
}
#m2{
   margin-top:2svh;
}

#m9{
   margin-top:6svh;
   font-size: 3.6vw;
   letter-spacing: .05rem;
}
#m2,#m4{
  margin-bottom:0;
}
#m2,#m3,#m4,#m5,#m6,#m7,#m8{
  font-size:4.8vw;
  letter-spacing: .15rem;
}
nav ul li a {
padding: 0.5vw 6vw 0.5vw 0;
}
nav{
overflow-y: scroll;
}


@media (orientation: landscape){
#header img {
    width: 20vw;
}
#footer,#movie{position: static;}
#movie{width: 100%;
    display: block;
}
#box1, #box2 {
    height: 200vh;
}
#box6 {
    height: 400vh;
}
#box1, #box2, #box3, #box4, #box5, #box6 {
    font-size: clamp(8px, 7vw, 28px);
}
span #box1-2{
    font-size: 1em;
}
#box2-2, #box3-2, #box4-2, #box5-2,.table_design03 th, .table_design03 td {
    font-size: 2.5vw;
}
#movie::before,
#movie::after{
	bottom:50%;
}
#banner1::before,
#banner1::after{
	bottom:58%;
}
#banner2::before,
#banner2::after{
	bottom:70%;
}
#banner2 span::before,
#banner2 span::after{
	bottom:38%;
}
}

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

	#box1,#box2,#box3,#box4,#box5,#box6,#footer_sp{
	    transition: transform 0.3s;
	    transform: scale(0.7);
	}
	#box1{
	    transform-origin: top;
	}
	#footer_sp{
	    width: calc(100% / 0.7);
	    transform-origin: left bottom;
	}
	#header img{
	    transition: transform 0.3s;
	    transform: scale(0.7);
	}
	.spnav{
	    transition: transform 0.3s;
	    transform: scale(0.7);
	    transform-origin: top;
	}
	img.fadeUpTrigger_scroll{
	    width: 70%;
	}
	#banner1,#banner2{
	    /*width: 70%;*/
	}
	#m2, #m3, #m4, #m5, #m6, #m7, #m8 {
	    font-size: 3.36vw;
	}
	#m9 {
	    margin-top: 8svh;
	    font-size: 3.2vw;
	    letter-spacing: .05rem;
	}
	#header .spnav img {
	    margin: -30px auto;
	    width: 140%;
	    transform-origin: left top;
	}
	#movie img{
	    transform: scale(1.2);
	}
	#scroll {
	    padding-top: 50px;
	}
	.circles3,.circles4,.circles5,.circles6,.circles13{
	    height:780vh;
	}
	.circles1,.circles2,.circles7{
	    height:780vh;
	}
	.spnav div{
	   margin-top:4.8svh;
	}
}


@media (orientation: landscape) {

	#header .spnav img {
	    margin: -10px auto;
	    width: 140%;
	    transform-origin: left top;
	}
	#movie img{
	    transform: none;
	    padding-top: 50px;
	}
	#scroll {
	    padding-top: 50px;
	}
	.circles3,.circles4,.circles5,.circles6,.circles13{

	}
	.circles1,.circles2,.circles7{

	}
}

@media screen and ( max-width:279px) {
	#box1 {
	    margin-top: 100px;
	}
	#box1,#box2{height:200vw}
	#box6{height:400vw}
	#movie {
	    top:180vw;
	}
	.circles0,.circles1,.circles2,.circles3,.circles4,.circles5,.circles6,.circles7,.circles10,.circles11,.circles12,.circles13{
	    height:1800vw;
	}
}