@charset "utf-8";
/* CSS Document */

@font-face{
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	src: 
		local("Noto Sans CJK JP")
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Reegular.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Reegular.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Reegular.otf) format('opentype');	
}

html{
	font-size: 62.5%;/*16px x 62.5%=10px*/
}
body{
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	background:#F5F2EB;
	font-feature-settings: "palt";
	line-height: 27px;
	letter-spacing: 0.5px;
	word-break: break-all;
	margin: 0;
}


a{
	color: #333333;
	text-decoration: none;
}

strong{
	background: linear-gradient(transparent 60%, #82D7FF 60%);
}

img{
	max-width: 100%;
	height: auto;
}

p{
	margin: 15px 0;
}


a{
	transition: all 0.2s;
}


h1{
　　　　　font-size:4.3rem;
	letter-spacing: 0.12em;
}
	
h2 {
	display: initial;
	font-size: 1.8em;
	margin: 0 auto;
	text-align: center;
	line-height: 65px;
	font-weight: 700;
	letter-spacing: 0.05em;
	background: linear-gradient(transparent 60%, #82D7FF 60%);
}

h3 {
	color:#fff;
	padding: 2rem 3rem;
	border-left: 20px solid #FF9900;
	background: #00A0E9;
}

hr{
	border-top: 2px solid #333;
}

/*utility*/
.wrapper{
	box-sizing: border-box;
	margin: 100px auto;
	padding: 0 80px;
}
	
.img-pc{
	display: block!important;
}
	
.img-sp{
	display: none!important;
}


.flow{
       max-width: 600px; /* 最大幅 */
       min-width: 240px; /* 最小幅 */
}

.br-reverse{
	display: none;
}

.text-center{
	text-align: center;
	margin: 0 auto;
}

.text-left{
	text-align: left;
	margin: 0 0 5px;
}

.text-bold{
	font-weight: 700;
}

.text-big{
	font-size: 1.3em;
	line-height: 40px;
	font-weight: 400;
}

.text-small{
	font-size: 0.7em;
}

.text-orange{
	color: #e79324;
}

.text_big{
	font-size: 1.8rem;
}

.text{
	margin: 0 20px;
}

.bg_white{
	background-color: #ffffff;
}

.img-small{
	width: 40%;
}


.clearfix::after {
  content: "";
  display: block;
  clear: both;
}


/*section*/
.section-header{
    top: 0%;
    left: 0%;
    z-index: 110;
    padding: 0;
}


.section-main{
	padding: 60px 80px;
}

.section-service{
	padding: 60px 0px;
	font-size: 1.5rem;
}

.section-main-sub{
	padding: 30px 0;
}

.section-new{
	margin: 40px 0 40px 0;
	padding: 30px 15px;
}

.section-footer{
	padding: 20px;
	text-align: center;
	background: #00A0E9;
	color: #ffffff;
	margin: 0px ;
	
}

.footer-img{
	height: 30px;
	margin-bottom: 15px;
}

.section-info{
	margin: 0 0 40px 0;
}


.section-news{
	margin: 30px 0 60px 0;
    padding-top: 78px;
}

/*header*/

.logo{
	width: 250px;
	height: auto;
	margin: 0 auto;
}

.container {
	letter-spacing: 0.5px;
}


.container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*navigation*/
nav{
text-align: center;

}
nav ul{
margin: 0 ;
padding: 0 ;
}

	
nav a{
display: block;
box-sizing: border-box;
height: 55px;
line-height: 55px;
text-decoration: none;
}


	
.btn-trigger{
		display: none;
	}
	
.navigation {
    display: flex;
    opacity: 1;
    position: static;
    width: auto;
    height: auto;
    margin: 0 auto;
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #00A0E9;
    top: 0;
    left: 0;
    z-index: 100;
    transition: .3s ease-in-out;
}


	.nav-list{
		display: flex;
		text-align: center;
		margin: 0 auto;
		font-size: 1.6rem;
		letter-spacing: 0.07em;
	}
	
	.nav-item{
		margin: 0 auto;
	}
	


	.l-horizon .nav-item.current>a {
    color: #aaa;
}

	

	.l-horizon .nav-item>a {
    display: block;
    height: 30px;
    line-height: 30px;
    font-size: 1.7rem;
}

	nav li:not(:nth-child(4)) {
    border-right: 1px solid #ffffff;
	}

	nav li {
		list-style: none;
		display: inline-block;
		width:auto;
		margin: 0 auto;
	}

	.nav-item {
		margin: 0 auto;
	}
.nav-list {
    width: 100%;
}
.nav-item {
    width: 100%;
}


/*ナビゲーションのリンク設定*/
nav ul li a {
    display: block;
    text-decoration: none;
    color: #fff;
    margin: 20px auto;
    transition: all .3s;
}

nav ul li li a{
  text-align: left;
  padding: 0px auto;
}



/*top*/

.container {
	  position: relative;
	  width: 100%;
	  height: auto;
	  color: #333;
  
}

.container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.text_box{
	padding: 20px 0;
}



.line_icon{
	display: inline-block;
	width: 130px;
    margin: 0 auto;
    padding: 20px 30px 0 0;
}

.line_qr {
    display: inline-block;
    width: 130px;
    margin: 0 auto;
    padding:  20px 0 0 30px;
}	

.box{
	  display:inline-block;
	  padding: 1rem 2rem;
	  border: 2px solid #333;
}

.box_white {
    display: inline-block;
    height: 125px;
    width: 250px;
    margin: 0 60px 0;
    border: 2px solid #fff;
    position: relative ;
}


.service{
	display: inline-grid;
	margin: 40px 20px;
	width: 300px;
}

.service-icon{
	width: 90px;
	margin: 0 auto;
}


a.btn--ore {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 50px auto;
  width: 50%;
  height: 80px;
  position: relative;
  background: #FF9900;
  border: 1px solid #FF9900;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.8s;
}

a.btn--ore.btn--cubic {
  border-bottom: 5px solid #B76E00;
}

a.btn--ore.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #B76E00;
}

a.btn--radius {
  border-radius: 100vh;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - .5em);
  right: 1rem;
}





.hyou{
	margin: 60px auto 0;
	width: 80%;
	
}


.acMenu1{cursor:pointer;margin: 0 0 10px 0; display: inline-block;}
.acMenu2{display:none;padding: 0.3em 0.8em;margin-left: 0;margin-bottom: 10px; }


.help-icon{
	max-width: 30px;
	height: auto;
	margin: 0 20px 0 0;
}

.check-icon{
	max-width: 30px;
	height: auto;
	margin: 0 20px 0 0;
	display: inline-block;
	float: left;
}

.check-box{
	display: inline-block;
	float: right;
	width: 94%;
	margin-bottom: 30px;
}



.mail-form{
	width: 70%;
	margin: 60px auto 0;
}

.mail-box{
	border: 2px solid ;
	border-style: solid;
	margin: 0 0 30px 0 ;
	width: 100%;
	padding: 10px;
}

.check-box2{
	margin: 0 0 30px 0 ;
	width: 100%;
	text-align: left;
}

label {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
}

label::before,
label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

label::before {
  border: 2px solid #353535;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}

label::after {
  background-color: #353535;
  border-radius: 50%;
  opacity: 0;
  width: 13px;
  height: 13px;
  left: 8.5px
}

input:checked + label::after {
  opacity: 1;
}

.visually-hidden {
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}


.submit{
	display: inline-block;
	background-color: #333;
    color: #fff;
    padding: 10px 50px;
}


/*about-page*/
 
th {
    padding: 0 20px;
    text-align: left;
}

td {
    border-style: hidden;
    padding: 10px 20px;      /* 余白指定 */
}
 
table {
   border-style: hidden;
	margin: 0 auto;
}

.left{
	float: left;
    width: 45%;
	text-align: right;
	margin: 20px 0 0 0;
}

.right{
	float: right;
    width: 45%;
    text-align: left;
    margin: 20px 0 0 0;
}

.p_box{
	margin: 35px 0 0 0;
}

.line_icon{
	transition: all 0.2s;
}

.line_icon:hover{
	opacity: 0.4;
}

/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#00A0E9;
	border-radius: 50px;
	width: 65px;
	height: 65px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}


#page-top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


}

#page-top a:hover{
	opacity: 0.4;
}


/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 0.8;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0.8;
	transform: translateY(0);
  }
  to {
  	opacity: 0.8;
	transform: translateY(100px);
  }
}




/*ここからスマホ*/
@media screen and (max-width:768px){

@font-face{
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	src: 
		local("Noto Sans CJK JP")
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Reegular.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Reegular.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Reegular.otf) format('opentype');	
}

body{
	font-size:1.4rem;
}	
	
h1 {
	font-size: 1.3em;
	letter-spacing: 0.12em;
}


h2 {
	display: initial;
	font-size: 1.5em;
	margin: 0 auto;
	text-align: center;
	line-height: 43px;
	font-weight: 700;
	letter-spacing: 0.05em;
	background: linear-gradient(transparent 60%, #82D7FF 60%);
}
	
h3 {
    color: #fff;
    padding: 1rem 2rem;
    border-left: 20px solid #FF9900;
    background: #00A0E9;
}	
	

th {
    padding: 5px 10px;
    text-align: left;
    width: 30%;
}
	
td {
    padding: 5px 10px;
    border-style: hidden;
    width: 70%;
}


.flow{
       max-width: 100%;
}
	
.wrapper {
	margin: 30px auto;
    padding: 0;
}	
	
.section-main {
    padding:20px;
}	
	

.section-header {
    top: 0%;
    left: 0%;
    z-index: 110;
}	

.line_icon {
    display: inline-block;
    width: 100px;
    margin: 0 auto;
    padding: 20px 20px 0 0;
}	
.line_qr {
    display: inline-block;
    width: 100px;
    margin: 0 auto;
    padding: 20px 0 0 20px;
}	

	.img-pc{
	display: none!important;
}
	
.img-sp{
	display: block!important;
}
	


.nav-list {
    width: 100%;
		
}
	
.nav-item>a:not(:nth-child(2)) {
    font-size: 1.4rem;
	height: 30px;
    line-height: 15px;
	position: relative;
    top: 15%;
}

	
	
nav ul li a {
    display: block;
    text-decoration: none;
    color: #fff;
    margin: 10px auto;
    transition: all .3s;
}
	
nav li {
    border: 1px solid #FFFFFF;
}
	
.right {
    float: right;
    width: 136px;
    margin: 20px 0;
}
	
.left {
    float: left;
    width: 45%;
    margin: 20px 0;
}
	
.text_box {
    padding: 20px 0;
}
	
.box_white {
    display: inline-block;
    height: 75px;
    width: 110px;
    margin: 0px 10px 0;
    border: 1px solid #fff;
    position: relative;
}
	
	footer>p{
		margin: 0 auto;
	}
	
.service {
    display: inline-grid;
    margin: 20px;
    width: 300px;
}	
	
a.btn--ore {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 50px auto;
  width: 80%;
  height: 80px;
  position: relative;
  background: #FF9900;
  border: 1px solid #FF9900;
  border-radius: 50px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff;
  font-size: 17px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
	
.hyou {
    margin: 25px auto 0;
    width: 100%;
}

.flow{
       width: 100%;
}
	
.mail-form {
    width: 85%;
    margin: 40px auto 0;
}

.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}	

#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#00A0E9;
	border-radius: 50px;
	width: 65px;
	height: 65px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}
	
.help-icon {
    max-width: 25px;
    height: auto;
    margin: 0 10px 0 0;
}
	
.check-icon {
    max-width: 25px;
    height: auto;
    margin: 0 10px 0 0;
    display: inline-block;
    float: left;
}
	
.line{
	display: block;
	margin: 0 auto;
	text-align: center;
}	
	
}
	