@charset "utf-8";




/* BASE STRUCTURE */
*{ margin:0; padding:0; font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;}
html{margin:0; padding:0; width:100%; height:100%;}
body{background-color:#fff; width:100%; height:100%; font-size:16px; color:#333333; line-height:1.8em;}




.container{margin:0; padding:0; width:100%; height:100%;}
header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height:100px;
  background: #0080c8;
  box-sizing: border-box;
}

header .inner {
  position: relative;
  display: flex;
  margin: 5px 20px;
  align-items: center;
  height: 100%;
}
.logo {
  position: relative;
  margin: 0;
  padding: 0;
}

/* header-navi */

header .navi {
  margin: 0 0 0 auto;
  padding: 0;
  font-size: 90%;
  font-weight: normal;
  display: flex;
  list-style: none;
}
header .navi li {
  margin: 5px 0 5px 16px; 
  color: #fff;
}
header .navi li:first-child {
  margin-left: 0;
}
header .navi li a {
  display: block;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
}
header .navi li a:hover {
  text-decoration: underline;
    color: #ff00ff;
}


.topimg{
text-align: center;
}
.topimg img{
width: 100%;
margin-top:100px;
}

.sptopimg img{
width: 100%;
margin-top:100px;
}



.cont{
width: 90%;
max-width:960px;
min-height:400px;
background-color:#fff;
margin: 40px auto;
}


.cont ul{
padding-left:1.5em;
}

.cont li{
margin-left-left:0;
}


h2{
width: 100%;
margin: 60px 0px 20px 0;
padding: 2px 0 2px 0;
background-color:#fff;
border:solid 2px #ff0000;
font-size:150%; color:#333; font-weight: normal;
text-align: center;
}

.h2img{
border:none;
}

.h2img img{
	width:100%;
}

h3{
width:100%;
margin: 60px 0 20px 0;
padding: 4px 0 2px 0px;
background-color:#0080c8;
font-size:150%;
font-weight: bold;
text-align: center;
color:#fff;
}

h4{
font-size:120%;
color:#ff0000;
text-align:center;
}


h5{
font-size:110%;
color:#333333;
font-weight:bold;
text-align:left;
}



.topmsg {
width:100%;
}

.topmsg p{
font-size:110%;
line-height:1.8em;
}

.sign{
width:40%;
margin: 20px 0 20px auto;

}

.sign img{
width:100%;
}


.policytit{
margin-top:40px;
width:90%;
color:#0080c8;
font-size:200%;
font-weight: bold;
text-align:center;
}

.policyill{
	float:left;
	width:40%;
	text-align:right;
	margin:10px 20px 40px 10px;
}


.policybody{
	float:left;
	width:55%;
	font-size:100%;
	line-height:180%;
	text-align:left;
	margin:10px 0px 40px 0;
}

.bnblock{
margin:20px auto;
width:100%;
}

.bn{
margin:2px;
width:32%;
float:left;
text-align:center;
}
.bn img{
padding:2px;
width:95%;
}



.achnoph{
	margin:20px 10px 10px 40px;
}


.achleft{
	float:left;
	width:65%;
	margin:20px 10px 10px 40px;
}

.achright{
	float:left;
	width:25%;
	margin:20px 0 10px 20px;
}

.achright img{
	width:100%;
}
.ach5p{
	float:left;
	width:24%;
	margin:3px;
}
.ach5p img{
	width:100%;
}



figure{
  display:table;
  margin:2px 2px 20px 2px ;
  border-bottom:0;
  padding: .0;
}
figcaption{
  display:table-caption;
  caption-side:bottom;
  font-size:70%;
  line-height:1.3em;
}

.prpfimg{
float:left; margin:0 30px 0 20px;
}




.fbox{
width: 90%;
margin:40px auto;
}

.fbox p{

margin:2px 0px;
padding: 0 .3em;

}


.fbox p span {
  font-size:80%;
  background: #ff0000;
  padding: 0 .3em;
  color: #fff;
  margin-left: .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.box_det{
margin:2px 0px 12px 0px;
}

.txbox{
padding:2px;
width: 100%;
font-size:16px;
}















.footer{
  width: 100%;
  padding:20px 0;
  background: #333;
  text-align:center;
}

.foottx{
  color: #fff;
  font-size:70%;

}
.footer a {
color:#fff
text-decoration:none;
}
.footer a:link {
color:#fff;
text-decoration:none;
}
.footer a:visited {
color:#fff;
text-decoration:none;
}
.footer a:hover {
color:#ff00ff;
text-decoration:underline;
}

.footerinner{
	width:90%;
	margin:0 auto;
}

.footerblock1{
	float:left;
	margin:3px;
	width:30%;
	text-align:left;
	color: #fff;
  font-size:80%;
   line-height:1.5em;
}
.footerblock2{
	float:left;
	margin:3px;
	width:40%;
	text-align:left;
	color: #fff;
  font-size:80%;
   line-height:1.5em;
}
.footerblock3{
	float:left;
	margin:3px;
	width:25%;
	text-align:left;
	color: #fff;
  font-size:80%;
   line-height:1.5em;
}





.footerblock a{
	color: #fff;
	text-decoration:none;
}




/* スマートフォン */
.sp { display: none !important; }
@media only screen and (max-width: 1050px) {
	.logo {width:300px;}
	.navi li{font-size:90%;}
}

@media only screen and (max-width: 950px) {

	.fbox p {clear:both;}
	.logo{width:250px;}
	.topmsg{clear:both;}
	.cont p {font-size:100%;}
	.sign{width:60%;}
	.policytit{font-size:140%;}
	.policyill{width:100%;margin:5px; text-align:center;}
	.policybody{width:100%;}

	.achnoph{margin:20px 10px 10px 0px;}
	.achleft{width:100%; margin:20px 10px 10px 0px;}
	.achright{width:48%;margin:10px 0 10px 20px;}
	.ach5p{float:left; width:48%; margin:3px;}
	figcaption{font-size:80%;}

	.proftx{clear:both;}

	.footerblock1{font-size:75%; width:90%; margin:6px 0 6px 10px;}
	.footerblock2{font-size:75%; width:90%; margin:6px 0 6px 10px;}
	.footerblock3{font-size:75%; width:90%; margin:6px 0 6px 10px;}
	
    .pc { display: none !important; }
    .sp { display: block !important; }
}


.spprpfimg{
width:80%;margin:0 auto;
}
.spprpfimg img{
width:100%;
}

.spbn{
margin:2px auto;
max-width:400px;
width:100%;  
}
.spbn img{

width:100%;
}


/* Navbar & Navmenu color */
:root {
  --background-navbar: rgba(55, 55, 55, 0.98);
}

/* Nav items */
.menu {
  list-style: none;
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  margin-top: 80px;
  padding: 0 0 10px 0;
  clear: both;
  background: var(--background-navbar);
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: scale(1, 0);
  transform-origin: top;
}

/* Hamburger menu button */
.menu-btn:checked ~ .menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* Hamburger menbu text */
.menu a {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 16px;
  text-transform: capitalize;
  color: #ddd;
  opacity: 0;
  transition: 0.5s;
}

.menu li {
  border-top: 1px solid rgb(75, 75, 75);
  padding: 15px 0;
  margin: 0 54px;
  opacity: 0;
  transition: 0.5s;
}

.menu-btn:checked ~ .menu a,
.menu-btn:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

.menu-btn {
  display: none;
}

.menu-icon {

 margin-right: 0;
 margin-left: auto;
 display: block;
  position: relative;
  

  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.navicon {
  background: #ddd;
  display: block;
  height: 3px;
  width: 26px;
  position: relative;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before,
.navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: #ddd;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before {
  top: 9px;
}

.navicon:after {
  bottom: 9px;
}

/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
  top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  bottom: 0;
}

.menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger Menu Animation End */

/* Navbar Container */
.navtext-container {
  width: 100%;
  height: 52px;
  position: absolute;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Navbar Text */
.navtext {
  position: absolute;
  text-transform: uppercase;
  color: #ddd;
  letter-spacing: 4px;
  font-size: 20px;
}
















.Fmain{
min-height: calc(100vh - 109px);
}

.cfmarea{
width:90%;
margin:0 auto;
}

.input-area{
margin:10px 0 20px 0;
color:#999;
}
.cnt{
margin-left:16px;
color:#333;
}
.cbtn{
padding: 4px;
font-size: 100%;
}

.res{
width:90%;
margin:0 auto;
}
.res p{
margin:0 0 20px 0;
}