@charset "utf-8";@charset "UTF-8";

.background {
height: auto;
	background-color: #f3f3f3;
padding-bottom:5%;
}

.image {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.image img {
	display: block;
	width: 100%;
	height: auto;
}

.pc_only {
    display: block;
}
.sp_only {
    display:none;
}
   

.top-pc-kasaneru{
  position: relative;
  text-align: center;
display:block;
}

.top-pc-kasaneru img.imagup{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
 width: 40%;
}

.top-sp-kasaneru{
display: none;
}

.box2 {
   text-align:center;
   padding-top:10%;
   padding-bottom:5%;
margin:0 auto;
}

.box3 {
   text-align:center;
   padding-top:10%;
   padding-bottom:5%;
width:50%;
margin:0 auto;
}

.parent {
    display: grid;
    grid-template-columns: repeat(2, 0.4fr);
    grid-template-rows: repeat(1, 0.3fr);
    gap: 2em;
    justify-content: center;
margin:0 auto;
    margin-bottom: 3%;
margin-top:5%;
width:50%;
}

.parent02 {
    display: grid;
    grid-template-columns: repeat(1, 0.81fr);
    grid-template-rows: repeat(1, 1fr);
    justify-content: center;
    justify-items: center;
width:40%;
margin:0 auto;
margin-top:10%;
    margin-bottom: 10%;
}     

.parent3 {
    display: grid;
    grid-template-columns: repeat(3, 0.4fr);
    grid-template-rows: repeat(1, 0.3fr);
    justify-content: center;
    margin-bottom: 3%;
}

.parent04 {
display: grid;
    grid-template-columns: repeat(2, 0.8fr);
    grid-template-rows: repeat(1, 0.3fr);
    justify-content: center;
    margin-bottom: 3%;
}

.parent05 {
    display: grid;
    grid-template-columns: repeat(1, 0.81fr);
    grid-template-rows: repeat(1, 1fr);
    justify-content: center;
    justify-items: center;
width:50%;
margin:0 auto;
}     

.parent06 {
    display: grid;
    grid-template-columns: repeat(1, 0.81fr);
    grid-template-rows: repeat(1, 1fr);
    justify-content: center;
    justify-items: center;
width:40%;
margin:0 auto;
margin-top: 10%;
margin-bottom:10%;
}     

.credit {
     text-align: left;
    font-size: 15px;    
font-family: "Helvetica", "游ゴシック", sans-serif;
margin:0 auto;
margin-top: 20px;
margin-left: 0;
}

.credit2 {
     text-align: left;
    font-size: 15px;    
font-family: "Helvetica", "游ゴシック", sans-serif;
margin:0 auto;
margin-top: 20px;
margin-left: 0;
}

.text01 {
    margin: 0 auto;
    text-align: center;
    font-size: 16px;    
font-family: "Helvetica", "游ゴシック", sans-serif;
margin-top: 100px;
width:50%;
}

.text02 {
 font-size: 50px;
text-align:center;
width:70%;
margin-top: 30px;
margin-bottom: 30px;
margin: 0 auto;
font-family: "Helvetica", "游ゴシック", sans-serif;
font-weight:bold;
color:#5e80c4;
}  

.text03  {
    position: relative;
width: 50%;
    font-size: 15px;
    font-family: "游ゴシック", "Hiragino Kaku Gothic Pro","Meiryo", sans-serif;
    text-align: justify;
    margin: 0 auto;
    margin-bottom: 30px;
margin-top: 80px;
    padding: 2%;
}

.text03::before, .text03::after {
	content: '';
	width: 30px;
	height: 30px;
	position: absolute;
}

.text03::before {
	border-left: solid 1px #232538;
	border-top: solid 1px #232538;
	top: 0;
	left: 0;
}

.text03::after {
	border-right: solid 1px #232538;
	border-bottom: solid 1px #232538;
	bottom: 0;
	right: 0;
}


.text04 {
    font-size: 15px;
    font-family: "游ゴシック", "Hiragino Kaku Gothic Pro","Meiryo", sans-serif;
    text-align: center;
    width: 50%;
    margin: 0 auto;
    margin-bottom: 10%;
margin-top: 5%;
}

.border{
	border: solid 1px #454545;
padding: 3%;
width:40%;
margin:0 auto;
margin-bottom:5%;
}



.center img {
margin: 0 auto;
text-align: center;
}

.box01 {
width:50%;
margin: 0 auto;
margin-top:100px;
position: relative;
}

.box01 img{
margin-top:10px;
}

.box02 {
width:35%;
margin: 0 auto;
margin-top:100px;
position: relative;
}

.box02 img{
margin-top:10px;
}

.box03 {
width:35%;
margin: 0 auto;
margin-top:100px;
position: relative;
}

.box04 {
width:35%;
margin: 0 auto;
margin-top:80px;
position: relative;
}

.rogo-images {
    width: 40%;
    margin: 80px auto 0;
    text-align: center;
}
/*===============================================
SMP
===============================================*/
@media (max-width:430px) {
section {
  max-width: 300px;
  margin: 0 auto;
}

.top-sp-kasaneru{
  position: relative;
  text-align: center;
display:block;
}

.top-pc-kasaneru{
display:none;
}

.top-sp-kasaneru img.imagup{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
 width: 80%;
}

.pc_only {
    display: none;
}
.sp_only {
    display:block;
}

.box {
   padding-top:20%;
   padding-bottom:10%;
}

.box01 {
width: 90%;
}

.box02 {
width: 70%;
margin-top:50px;
}

.box2 {
   padding-top:20%;
   padding-bottom:12%;
margin-top:3%;
width100%;
}

.box3 {
margin-top:3%;
width:100%;
}

.box04 {
width: 90%;
}

.parent {
width:100%;
}
.parent02 {
    display: block;
width:100%;
}

.parent03 {
    display: block;
width:60%;
margin:0 auto;
}

.parent04 {
display: grid;
    grid-template-columns: repeat(2, 0.8fr);
    grid-template-rows: repeat(1, 0.3fr);
    justify-content: center;
    margin-bottom: 3%;
}

.parent05 {
width:70%;
margin:0 auto;
}     

.parent06 {
    display: block;
width:60%;
margin:0 auto;
margin-top: 30%;
margin-bottom: 40%;
}

.div1{
    padding:4%;
}
.div2{
    padding:4%;
}    

.div3{
    padding:0;
}    


.text01 {
    margin: 0 auto;
    text-align: center;
    font-size: 12px;    
margin-top: 50px;
width:90%;
}

.text02 {
    margin: 0 auto;
    text-align: center;
    font-size: 35px;    
width:90%;
}

.text03 {
    margin: 0 auto;
    text-align: left;
    font-size: 12px;    
width:90%;
margin-top: 30px;
padding: 5%;
}

.text04 {
width:90%;
font-size: 10px;
}


.credit {
    font-size: 10px;   
margin-top: 10px;
width:100%;
}

.credit2 {
    font-size: 10px;   
margin:0 auto;
margin-top: 10px;
width:90%;
}

.parent02 .credit{
width:90%;
margin:0 auto;
}

.border{
	border: solid 0.5px #454545;
padding: 4%;
width:77%;
margin:0 auto;
margin-top: 15%;
margin-bottom:15%;
}
}

/* --- ロゴのアニメーション--- */
@keyframes revealLogo {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

.imagup {
  animation: revealLogo 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  opacity: 0;
}
