@charset "utf-8";
/* CSS Document */
h2 {
    font-weight: 700;
}
.topbg {
    height: 52vw;
    position: relative;
    background: center center / cover no-repeat url(../img/common/topbg-sp.jpg);
}
.topbg h2 {
    font-size: 20px;
    line-height: 30px;
    width: 7em;
    text-align: center;
    padding: 1.5em 0;
    background: #3268ad;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.mainContent {
    padding-top: 40px;
}

@media screen and (min-width: 768px) {
    .mainContent {
        padding-top: 60px;
    }
}

@media screen and (min-width: 1024px) {
    .mainContent {
        padding-top: 100px;
    }
    .wrap.short {
        max-width: 1200px;
        padding: 0 90px;
    }
}

 h2.green-ttl {
    font-size: 20px;
    line-height: 2em;
    letter-spacing: 2px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 60px;
    color: #009c43;
}
h2.green-ttl:after {
    content: "";
    display: block;
    width: 5em;
    height: 3px;
    margin: 0.5em auto 0;
    background: linear-gradient(to right, #009c43, #009c43 50%, #1b5da8 50%);
}
h2.sideline {
    max-width: 700px;
    margin: 0 auto 40px;
    padding: 60px 10px 0;
    font-weight: 700;
}
h2.sideline span {
    font-size: 22px;
    display: flex;
    align-items: center;
    width: 100%;
}
h2.sideline span:before,
h2.sideline span:after {
    content: "";
    display: block;
    height: 1px;
    flex: 1;
}
h2.sideline span:before {
    background: #009c43;
    margin-right: 1em;
}
h2.sideline span:after {
background: #1b5da8;
margin-left: 1em;
}

@media screen and (min-width: 768px) {
    .topbg {
        height: 314px;
        background: center center / cover no-repeat url(../img/common/topbg.jpg);
    }
    .topbg h2 {
        width: 8.5em;
        letter-spacing: 2px;
        padding: 2em 0;
    }
    h2.green-ttl {
        font-size: 30px;
        letter-spacing: 3px;
    }
    h2.sideline {
        margin: 0 auto 60px;
        padding-top: 100px;
    }
}
@media screen and (min-width: 1024px) {
    h2.sideline span em{
        font-size: 30px;
        letter-spacing: 2px;
        width: 14em;
        text-align: center;
    }
    h2.sideline span:before {
        margin-right: 0;
    }
    h2.sideline span:after {
        margin-left: 0;
    }
}
table.cmn-tbl{
	text-align:left;
	border-collapse:collapse;
	width:100%;
	padding:0 30px;
	box-sizing:border-box;
	margin:60px 0 10px;
    font-size: 12px;
}
table.cmn-tbl th,
table.cmn-tbl td{
	padding:10px;
	box-sizing:border-box;
	border:1px solid #bfbfbf;
	letter-spacing:1px;
}
table.cmn-tbl th{
    width: 7.5em;
    font-weight:bold;
	white-space: nowrap;
}
table.cmn-tbl > tbody > tr > th {
    background: #eee;
}
table.cmn-tbl td {background: #fff;}
table.cmn-tbl td a.btn{
	color:#FF0004;
}
table.cmn-tbl td table{
	border-collapse: collapse;
	margin:0 10px;
}
table.cmn-tbl td table th,
table.cmn-tbl td table td{
	border:none;
	padding:0;
}
table.cmn-tbl td table th{
	color:#000000;
	font-weight:normal;
	padding-right:15px;
}
@media screen and (min-width: 768px) {
    table.cmn-tbl {
        font-size: 14px;
    }
}
@media screen and (min-width: 1024px) {
    table.cmn-tbl {
        font-size: 16px;
    }
}
@media screen and (min-width: 1200px) {
    table.cmn-tbl {
        font-size: 16px;
    }
    table.cmn-tbl th {
        width: auto;
        padding: 10px 50px;
    }
}

h3.blue {
    color: #3268ad;
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 700;
    margin-bottom: 10px;
}
#management p:first-of-type {
    margin-bottom: 3em;
}
#management h3.blue + p {
    margin-bottom: 2em;
}
#motto {
    padding-bottom: 60px;
}
@media screen and (min-width: 1024px) {
    h3.blue {
        color: #3268ad;
        font-size: 20px;
        margin-bottom: 10px;
    }
}