@charset "utf-8";

/* ヘッダー背景 */
.top-bg01{
width: 100%;
height: 70vh;
}

.top-bg02{
font-size: 40px;
font-weight: bold;
color: #fff;
text-align: center;
padding-top: 25%;
padding-left: 0%;
font-family: 'Noto Serif JP', serif;
}

.top-bg02 p{
font-size: 32px;
font-weight: bold;
line-height:0.1em;
color: #fff;
padding-top: 0px;
background: transparent;
font-family: 'Archivo Black', 'Noto Sans JP',sans-serif;
}

.top-bg02 h6{
font-size: 14px;
line-height: 0.1em;
color: #fff;
font-family: 'Noto Serif JP', serif;
}

.index-bg {
position: fixed;
top: 0px;
width: 100%;
height: 100%;
background: transparent;
z-index: -1;
}

.index-bg li {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-size: cover;
background-position: 50% 50%;
background-repeat: none;
opacity: 0;
-webkit-animation: anime 40s linear 0s infinite ;
animation: anime 40s linear 0s infinite ;
}

.index-bg li:nth-child(1) { 
background-image:url(../images-home/bg01.jpg);
}

.index-bg li:nth-child(2) {
background-image: url(../images-home/bg02.jpg);
-webkit-animation-delay: 10s;
animation-delay: 10s;
}

.index-bg li:nth-child(3) {
background-image:url(../images-home/bg03.jpg);
-webkit-animation-delay: 20s;
animation-delay: 20s;
}

.index-bg li:nth-child(4) {
background-image: url(../images-home/bg04.jpg);
-webkit-animation-delay: 30s;
animation-delay: 30s;
}

@-webkit-keyframes anime { 
0% {
-webkit-animation-timing-function: ease-in;
opacity: 0;
}
10% {
-webkit-transform: scale(1.1);
opacity: 1;
}
40% {
-webkit-transform: scale(1.2);
-webkit-animation-timing-function: ease-out;
opacity: 1;
}
50% {
-webkit-transform: scale(1.3);
opacity: 0;
}
100% { opacity: 0 }
}

@keyframes anime { 
0% {
animation-timing-function: ease-in;
opacity: 0;
}
10% {
transform: scale(1.1);
opacity: 1;
}
40% {
transform: scale(1.2);
animation-timing-function: ease-out;
opacity: 1;
}
50% {
transform: scale(1.3);
opacity: 0;
}
100% { opacity: 0 }
}
/* ヘッダー背景終わり */

/* --- mailはじまり ----- */
.mail01{
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: repeat(5, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
width: auto;
height: 160vh;
background:#fff;
margin-left: 0%;
margin-right: 0%;
opacity: 1;
border-radius: 0px;
margin-top: 0px;
margin-bottom: 0px;
}

.mail02 { grid-area: 1 / 1 / 6 / 6; 
padding-left: 0%;
background: #1d4763;
font-family: 'Noto Serif JP', serif;
}


/* --- mailおわり ----- */

/* --- form始まり ----- */
form{
width:100%;
height: 900px;
background-color:transparent;
}
.str {
display: inline-block;      
font-weight: bold;                
font-size: 90%;               
color: red;           
}

.status-form{
width: 700px;
height: 100px;
background-color:transparent;
margin-left: auto;
margin-right: auto;
border: 0px dotted #000000;
padding: 10px;
padding-top: 50px;
}

.status-form h3{
font-size: 16px;
color: #fff;
}

.status-form label{
font-size: 14px;
font-weight: bold;
color: #fff;
padding-right: 50px;
}

.user{
width: 700px;
height: 250px;
background-color: transparent;
margin-left: auto;
margin-right: auto;
border: 0px dotted #000000;
text-align: left;
margin-bottom: 0px;
font-size: 14px;
font-weight: bold;
color: #fff;
}

.textfield_label{
width: 10em;
display: inline-block;
}

input[type="text"],input[type="email"],input[type="tel"]{
margin-top: 0.5em;
padding: 10px;
width: 350px;
height: 40px;
font-family: "メイリオ";
font-size: 14px;
}

.messagebox{
width: 700px;
height: 250px;
background-color: transparent;
margin-left: auto;
margin-right: auto;
border: 0px dotted #000000;
font-size: 14px;
padding: 10px;
margin-bottom: 25px;
text-align: left;
margin-top: 20px;
font-weight: bold;
color: #fff;
}

textarea{
margin-top: 0.5em;
padding: 10px;
width:600px;
height: 160px;
font-family: "メイリオ";
font-size: 14px;
}

.privacypolicy{
width: 700px;
height: 100px;
background-color: transparent;
margin-right: auto;
margin-left: auto;
border: 0px dotted #000000;
font-size: 14px;
font-weight: bold;
color: #fff;
}

.policy{
width:700px;
height: 50px;
margin-left: auto;
margin-right: auto;
font-size: 12px;
text-align: left;
padding: 10px;
border: 1.5px dotted #fff;
border-radius: 15px;
}

.submit{
width:700px;
height: 50px;
margin-left: auto;
margin-right: auto;
text-align: center;
background-color:transparent;
padding-top: 20px;
}

/* --- formおわり ----- */

/* --- contactはじまり ----- */
.contact01 {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: repeat(5, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
width: auto;
height: 80vh;
background:#fff;
margin-left: 0%;
margin-right: 0%;
opacity: 1;
border-radius: 0px;
margin-top: 0px;
margin-bottom: 0px;
}

.contact02 { grid-area: 1 / 1 / 5 / 3; 
color: #fff;
text-align: center;
background:  #1d4763;
padding-top: 50px;
z-index: 10;
margin-right: 0px;
}

.contact02 p{
font-size: 32px;
font-weight: bold;
line-height:0.1em;
color: #fff;
padding-top: 30px;
}

.contact02 h6{
font-size: 14px;
line-height: 0.1em;
color: #fff;
font-family: 'Noto Serif JP', serif;
}

.contact03 { grid-area: 2 / 3 / 6 / 6; 
background: #fff;
margin-top: 0px;
overflow: auto;
border-radius: 0px;
opacity: 1;
padding-left:10%;
padding-top: 5%;
font-family: 'Noto Serif JP', serif;
}

.contact03 h3{
text-align: center;
color: #000;
font-size: 18px;
}

.contact03 p{
text-align: center;
color: #000;
font-size: 14px;
}

.contact04 { grid-area: 3 / 3 / 5 / 6; 
background: #fff;
margin-top: 50px;
overflow: auto;
border-radius: 0px;
opacity: 1;
padding-left:0%;
padding-top: 5%;
border: 1px solid #1d4763;
margin-left: 20%;
margin-right: 20%;
}

.contact04 p{
font-size: 24px;
color:#1d4763;
text-align: center;
}

.contact04 h5{
font-size: 14px;
color: #000;
text-align: center;
font-family: 'Noto Serif JP', serif;
}

.contact05 { grid-area: 5 / 5 / 6 / 6; 
padding-top: 5%;
display: none;
}
/* --- contactおわり ----- */

.blank3{
width: 100%;
height: 50px;
background:#1d4763;
}

.blank2{
width: 100%;
height: 50px;
background:#fff;
}

@media (max-width: 768px){ 
/* ヘッダー背景 */
.top-bg01{
width: 100%;
height: 70vh;
}

.top-bg02{
font-size: 40px;
font-weight: bold;
color: #fff;
text-align: center;
padding-top: 55%;
padding-left: 0%;
font-family: 'Noto Serif JP', serif;
}

.top-bg02 p{
font-size: 48px;
font-weight: bold;
line-height:0.1em;
color: #fff;
padding-top: 0px;
background: transparent;
font-family: 'Archivo Black', 'Noto Sans JP',sans-serif;
letter-spacing: 3px;
}

.top-bg02 h6{
font-size: 14px;
line-height: 0.1em;
color: #fff;
font-family: 'Noto Serif JP', serif;
letter-spacing: 2px;
}


.index-bg {
position: fixed;
top: 0px;
width: 100%;
height: 100%;
background: transparent;
z-index: -1;
}

.index-bg li {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-size: cover;
background-position: 50% 50%;
background-repeat: none;
opacity: 0;
-webkit-animation: anime 40s linear 0s infinite ;
animation: anime 40s linear 0s infinite ;
}

.index-bg li:nth-child(1) { 
background-image:url(../images-home/bg01.jpg);
}

.index-bg li:nth-child(2) {
background-image: url(../images-home/bg02.jpg);
-webkit-animation-delay: 10s;
animation-delay: 10s;
}

.index-bg li:nth-child(3) {
background-image:url(../images-home/bg03.jpg);
-webkit-animation-delay: 20s;
animation-delay: 20s;
}

.index-bg li:nth-child(4) {
background-image: url(../images-home/bg04.jpg);
-webkit-animation-delay: 30s;
animation-delay: 30s;
}

@-webkit-keyframes anime { 
0% {
-webkit-animation-timing-function: ease-in;
opacity: 0;
}
10% {
-webkit-transform: scale(1.1);
opacity: 1;
}
40% {
-webkit-transform: scale(1.2);
-webkit-animation-timing-function: ease-out;
opacity: 1;
}
50% {
-webkit-transform: scale(1.3);
opacity: 0;
}
100% { opacity: 0 }
}

@keyframes anime { 
0% {
animation-timing-function: ease-in;
opacity: 0;
}
10% {
transform: scale(1.1);
opacity: 1;
}
40% {
transform: scale(1.2);
animation-timing-function: ease-out;
opacity: 1;
}
50% {
transform: scale(1.3);
opacity: 0;
}
100% { opacity: 0 }
}
/* ヘッダー背景終わり */

/* --- mailはじまり ----- */
.mail01{
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: repeat(5, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
width: auto;
height: 160vh;
background:#fff;
margin-left: 0%;
margin-right: 0%;
opacity: 1;
border-radius: 0px;
margin-top: 0px;
margin-bottom: 0px;
}

.mail02 { grid-area: 1 / 1 / 6 / 6; 
padding-left: 0%;
background: #1d4763;
font-family: 'Noto Serif JP', serif;
}


/* --- mailおわり ----- */

/* --- form始まり ----- */
form{
width:94%;
height: 900px;
background-color:transparent;
}
.str {
display: inline-block;      
font-weight: bold;                
font-size: 90%;               
color: red;           
}

.status-form{
width: 95%;
height: 100px;
background-color:transparent;
margin-left: auto;
margin-right: auto;
border: 0px dotted #000000;
padding: 5px;
padding-top: 50px;
}

.status-form h3{
font-size: 16px;
color: #fff;
letter-spacing: 2px;
}

.status-form label{
font-size: 14px;
font-weight: bold;
color: #fff;
padding-right:0px;
letter-spacing: 2px;
}

.user{
width: 100%;
height: 300px;
background-color: transparent;
margin-left: auto;
margin-right: auto;
border: 0px dotted #000000;
text-align: left;
margin-bottom: 0px;
font-size: 12px;
font-weight: bold;
color: #fff;
letter-spacing: 2px;
}

.textfield_label{
width: 13em;
display: inline-block;
}

input[type="text"],input[type="email"],input[type="tel"]{
margin-top: 0.5em;
padding: 10px;
width: 90%;
height: 40px;
font-family: "メイリオ";
font-size: 14px;
}

.messagebox{
width: 100%;
height: 250px;
background-color: transparent;
margin-left: auto;
margin-right: auto;
border: 0px dotted #000000;
font-size: 14px;
padding: 10px;
margin-bottom: 25px;
text-align: left;
margin-top: 20px;
font-weight: bold;
color: #fff;
letter-spacing: 2px;
}

textarea{
margin-top: 0.5em;
padding: 10px;
width:90%;
height: 160px;
font-family: "メイリオ";
font-size: 14px;
}

.privacypolicy{
width: 90%;
height: 100px;
background-color: transparent;
margin-right: auto;
margin-left: auto;
border: 0px dotted #000000;
font-size: 12px;
font-weight: bold;
color: #fff;
letter-spacing: 2px;
}

.policy{
width:90%;
height: 80px;
margin-left: auto;
margin-right: auto;
font-size: 12px;
text-align: left;
padding: 10px;
border: 1.5px dotted #fff;
border-radius: 15px;
letter-spacing: 2px;
}

.submit{
width:100%;
height: 50px;
margin-left: auto;
margin-right: auto;
text-align: center;
background-color:transparent;
padding-top: 20px;
}

/* --- formおわり ----- */

/* --- contactはじまり ----- */
.contact01 {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: repeat(5, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
width: auto;
height: 80vh;
background:#fff;
margin-left: 0%;
margin-right: 0%;
opacity: 1;
border-radius: 0px;
margin-top: 0px;
margin-bottom: 0px;
}

.contact02 { grid-area: 1 / 1 / 3 / 3; 
color: #fff;
text-align: center;
background:  #1d4763;
padding-top: 50px;
z-index: 10;
margin-right: 0px;
}

.contact02 p{
font-size: 28px;
font-weight: bold;
line-height:0.1em;
color: #fff;
padding-top: 30px;
letter-spacing: 2px;
}

.contact02 h6{
font-size: 12px;
line-height: 0.1em;
color: #fff;
font-family: 'Noto Serif JP', serif;
letter-spacing: 2px;
}

.contact03 { grid-area: 2 / 3 / 6 / 6; 
background: #fff;
margin-top: 0px;
overflow: auto;
border-radius: 0px;
opacity: 1;
padding-left:2%;
padding-top: 5%;
font-family: 'Noto Serif JP', serif;
letter-spacing: 2px;
}

.contact03 h3{
text-align: center;
color: #000;
font-size: 16px;
}

.contact03 p{
text-align: center;
color: #000;
font-size: 14px;
}

.contact04 { grid-area: 3 / 1/ 5 / 6; 
background: #fff;
margin-top: 50px;
overflow: auto;
border-radius: 0px;
opacity: 1;
padding-left:0%;
padding-top: 5%;
border: 1px solid #1d4763;
margin-left: 10%;
margin-right: 10%;
}

.contact04 p{
font-size: 24px;
color:#1d4763;
text-align: center;
letter-spacing: 2px;
}

.contact04 h5{
font-size: 14px;
color: #000;
text-align: center;
font-family: 'Noto Serif JP', serif;
letter-spacing: 2px;
}

.contact05 { grid-area: 5 / 5 / 6 / 6; 
padding-top: 5%;
display: none;
}
/* --- contactおわり ----- */
    
}