@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:#dddddd; width:100%; height:100%; font-size:16px; color:#333333;}
.container{margin:0; padding:0; width:100%; height:100%;}
header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  background: #333;
  box-sizing: border-box;
}

header .inner {
  position: relative;
  display: flex;
  margin: 10px 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: 80%;
  font-weight: bold;
  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;
}



.topouter{
  width: 100%;
  height: 100vh;
  background-image: url(../img/topimg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: table;
}

.topinner{
text-align: center;
display: table-cell;
vertical-align: middle;
}
.topinner img{
width: 90%;
margin: 0 auto;
max-width:820px;
}

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;
}

.topmsg p{
font-size:120%; color:#333; font-weight: normal; line-height: 1.6;
}


.cont{
width: 90%;
margin: 0 auto;
max-width:960px;
min-height:300px;
}


.att{
width: 90%;
margin: 20px auto 80px auto ;
border:solid 2px #666666;
padding: 1.5em;
}

.att p{
margin:4px 0px 6px 0px;
font-size:100%;
padding-left:1em;
text-indent:-1em;
}


.expaint_pc{
display:block; 
float:right; 
margin:0 0 0 40px; 
width:301px;
}

.expaint_sp{
width:100%; 
text-align:center;
}

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

.fbox{
width: 90%;
margin:0 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;
}

.pbox{
padding:2px;
font-size:100%;
}



.opus{
font-size:100%;
}

.btn{
font-size:100%;
}


.itplogo_pc{
float:left;
margin-right:20px;
}

.itplogo_sp{
margin:20px 0;
width:100%; 
text-align:center;
}



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

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








.sp { display: none !important; }
@media only screen and (max-width: 750px) {

	.fbox p {clear:both;}
	.logo{width:160px;}
	.topmsg{clear:both;}
	.cont p {font-size:100%;}
	

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



/* 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: 52px;
  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;
}