@charset "UTF-8";
#mainimage{
position: relative;
}
#mainimage .container{
margin: 0 0 0 0;
width: 100%;
z-index: 0;
max-width: 100%;
display:block;
}

#mainimage .img{
filter: brightness(95%);
flex: none;
height: 100%;
left: 0;
margin: 0 0 0 0;
position: absolute;
top: 0;
width: 100%;
z-index: 0;
max-width: 100%;
}
#mainimage .img:before {
content: "";
height:100%;
width:100%;
background-image: url("../img/index/main.jpg") ;
background-position:50%;
background-size:cover;
border-radius:inherit;
pointer-events:none;
position:absolute;
top:0;
left:0;
z-index:-2;
}
#mainimage .img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(11, 92, 145, 0.5);
  z-index: -1; /* 画像（-2）より手前に配置 */
}

#mainimage .cont{
padding: 150px 0 50px;
max-width: 1280px;
width: 90%;
z-index: 0;
display:block;
margin: 0 auto;
text-align: center;
position: relative;
}

#mainimage .cont h1 {
color: #FFFFFF;
flex: none;
font-size: 50px;
font-weight: 700;
height: auto;
line-height: 1.6;
margin: 0 0 32px 0px;
text-align: center;
justify-content: center;
display:block;
text-shadow: 0 0 10px #06537a;
position: relative;
}


@media screen and (max-width: 840px){
#mainimage .img:before {
content: "";
height:100%;
width:100%;
background-image: url("../img/index/main_sp.jpg") ;
background-position:50%;
background-size:cover;
border-radius:inherit;
pointer-events:none;
position:absolute;
top:0;
left:0;
z-index:-2;
}
#mainimage .cont h1 {
font-size: 36px;
}
#mainimage .cont .copy{
font-size: 16px;
}
}
@media screen and (max-width: 540px){
#mainimage .cont h1 {
font-size: 26px;
}
#mainimage .cont{
padding: 120px 0 30px;
}
}
@media screen and (max-width: 320px){
#mainimage .cont h1  {
font-size: 20px;
}
}


/*------------------------------

--------------------------------*/
.com-cont{
clear: both;
}
.com-cont h2.title{
margin: 0 0 2em;
font-size: 87%;
font-weight: normal;
}
.com-cont h2.title .en{
font-size:115%; 
}
.com-cont h2.title .en:after{
content: "/";
margin:0 1em;
}


/*------------------------------

--------------------------------*/
#about{
clear: both;
overflow: hidden;
padding: 60px 0 150px;
position: relative;
}
#about::before{
content: "";
display: block;
/*background: #F8F9FB;*/
background: #e2e8f1;
z-index: -2;
position: absolute;
top: 60px;
bottom: 150px;
right: 0;
width: 60%;
}
#about .container{
clear: both;
overflow: hidden;
width: 90%;
max-width: 1280px;
padding: 60px 0 100px;
margin: 0 auto;
box-sizing: border-box;
}
#about h3{
font-size: 33px;
font-family: "Noto Serif JP", serif;
font-weight: 700;
line-height: 1.6;
}
#about .t-l{
float:left;
width: 48%;
}
#about .text{
float: right;
width: 48%;
}
@media screen and (max-width: 1280px) {
#about h3 br.pc{
display: none;
}
}
@media screen and (max-width: 840px) {
#about{
padding: 40px 0 100px;
}
#about::before{
content: "";
display: block;
background: #F8F9FB;
z-index: -2;
position: absolute;
top: 0;
bottom: 80px;
right: 0;
width: 100%;
}
#about .t-l{
float:none;
width: 100%;
}
#about .text{
float:none;
width: 100%;
}
#about h3{
margin: 0 0 0.8em;
font-size: 25px;
}
}
/*------------------------------

--------------------------------*/
#message{
clear: both;
overflow: hidden;
width: 90%;
max-width: 1280px;
padding: 60px 0 150px;
margin: 0 auto;
box-sizing: border-box;
}
#message h3{
font-size: 33px;
font-family: "Noto Serif JP", serif;
font-weight: 700;
line-height: 1.6;
}
#message .t-l{
float:left;
width: 48%;
}
#message .text{
float: right;
width: 48%;
}
#message .text .name{
clear: both;
margin-top: 1.8em;
font-family: "Noto Serif JP", serif;
font-weight: 500;
}
#message .text .name em{
font-size: 135%;
}

@media screen and (max-width: 1280px) {
#messaget h3 br.pc{
display: none;
}
}
@media screen and (max-width: 840px) {
#message{
padding: 40px 0 100px;
}
#message .t-l{
float:none;
width: 100%;
margin: 0 0 1em;
}
#message .text{
float:none;
width: 100%;
}
#message h3{
margin: 0 0 0.8em;
font-size: 25px;
}
}
/*------------------------------

--------------------------------*/

#outline{
clear: both;
overflow: hidden;
background: #F8F9FB;
}
#outline .container{
clear: both;
overflow: hidden;
width: 90%;
max-width: 1280px;
padding: 80px 0 150px;
margin: 0 auto;
box-sizing: border-box;
}
#outline .outline-detail table{
width: 100%;
}
#outline .outline-detail table th{
width: 20em;
padding: 1em 0;
color: #177ead;
border-top: 1px solid rgba(0,0,0,.1);
box-sizing: border-box;
}
#outline .outline-detail table td{
padding: 1em 0;
border-top: 1px solid rgba(0,0,0,.1);
box-sizing: border-box;
}

@media screen and (max-width: 1000px) {
#outline .outline-detail table th{
width: 17em;
}
}
@media screen and (max-width: 840px) {
#outline{
padding: 40px 0 100px;
}
#outline .outline-detail table th{
padding: 1em 0 1em;
width: 100%;
display: block;
}
#outline .outline-detail table td{
padding: 0 0 0.9em;
width: 100%;
display: block;
border-top: none;
}
}

/*------------------------------

--------------------------------*/
#footerCta{
clear: both;
margin: 0 0 80px;
background: #eef4f7;
background-size:cover;
}
#footerCta .container{
clear: both;
overflow: hidden;
width: 90%;
max-width: 1280px;
padding: 60px 0 100px;
margin: 0 auto;
box-sizing: border-box;
}
#footerCta h2{
margin: 0 0 1.5em;
font-size: 33px;
font-family: "Noto Serif JP", serif;
font-weight: 700;
line-height: 1.6;
text-align: center;
}
#footerCta h2 .en{
display: block;
font-size: 58%;
color: #177ead;
}
#footerCta .ctalist{
display: flex;
background:linear-gradient(to right, #054c83 0%, #0875ca 50%, #054c83 100%);
position: relative;
align-items: stretch;
}
#footerCta .ctalist:before{
content: "";
display: block;
background: #fff;
width: 1px;
height: 80%;
position: absolute;
left: 50%;
top: 10%;
}
#footerCta .ctalist li{width:50%;}
#footerCta .ctalist li a{display:block;text-align:center;text-decoration:none}
#footerCta .ctalist li a:hover{background:rgba(225,225,225,0.2)}
#footerCta .ctalist .telbtn a{padding:1px;color: #fff;}
#footerCta .ctalist .telbtn a .innerbox{padding:30px 20px 26px;}
#footerCta .ctalist .telbtn a .tel{
position:relative;
font-size: 36px;
font-family: "Noto Serif JP", serif;
font-weight: 700;
letter-spacing:.08em;
line-height:1;
}
#footerCta .ctalist .telbtn a .tel i{}
#footerCta .ctalist .telbtn a .tel:before{background:none}
#footerCta .ctalist .telbtn a .time{margin-top:2px;display:block}
#footerCta .ctalist .mailbtn a{display:block;color: #fff;}
#footerCta .ctalist .mailbtn a .innerbox{padding:40px 20px 26px;}
#footerCta .ctalist .mailbtn a .txt{
position:relative;
font-size: 35px;
font-family: "Noto Serif JP", serif;
font-weight: 700;
letter-spacing:.08em;
line-height:1;
}
#footerCta .ctalist .mailbtn a .txt i{font-size: 1.1em;}


@media screen and (max-width: 840px){
#footerCta{
margin: 0 0 50px;
}
#footerCta h2{
margin: 0 0 1.5em;
font-size: 25px;
font-family: "Noto Serif JP", serif;
font-weight: 700;
line-height: 1.6;
text-align: center;
}
#footerCta h2 .en{
display: block;
font-size: 58%;
color: #177ead;
}
#footerCta .ctalist{
display: block;
}
#footerCta .ctalist:before{
content: "";
display: block;
background: #fff;
width: 80%;
height: 1px;
position: absolute;
left: 10%;
top: 50%;
}
#footerCta .ctalist li{width:100%}
#footerCta .ctalist .telbtn a .tel{
font-size: 25px;
}
#footerCta .ctalist .mailbtn a .txt{
font-size: 22px;
}
#footerCta .ctalist .telbtn a .innerbox{padding:20px 15px 25px;}
#footerCta .ctalist .mailbtn a .innerbox{padding:20px 15px 25px;}

}
/*------------------------------

--------------------------------*/

