@charset "utf-8";
html {
    font-size: 62.5%;
}
body {
    font-size: 1.0rem;
    font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
    color: #3E3E3E;
}
.kaku {
    font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
}
.mincho {
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
a {
    transition: .3s ease;
    text-decoration: none;
}
a:hover {
    text-decoration: none;
    opacity: 0.7;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
ul{
    padding: 0;
    list-style: none;
    margin-bottom: 0;
}
.spOnly {
    display: none;
}
.ofi {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    font-family: 'object-fit: cover;';
}
.nav {
    display: none;
}
.navBtnWrap {
    display: none;
}
header {
    box-shadow: 0px 5px 7px -4px #c7c7c7;
    position: relative;
    z-index: 10;
}
.headerInner {
    display: flex;
    margin: 0 5em;
    padding: 20px 0;
    justify-content: space-between;
}
.headerInner h1 a {
    display: block;
}
.headerInner nav {
    width: 42%;
}
.headerInner nav > ul {
    display: flex;
    justify-content: space-between;
}
.headerInner nav > ul a {
    position: relative;
    font-size: 1.6em;
    color: #000;
    display: block;
    text-align: center;
}
.headerInner nav > ul span {
    display: block;
    color: #4146C7;
    font-size: 1rem;
    margin-bottom: 8px;
}
.headerInner nav > ul > li:nth-child(3) > a {
    padding-right: 30px;
}
.headerInner nav > ul > li:nth-child(3) > a:before {
    position: absolute;
    top: 15px;
    right: 0;
    content: '';
    width: 12px;
    height: 12px;
    display: inline-block;
    border: 1px solid;
    border-color: #000000 #000000 transparent transparent;
    transform: rotate(135deg);
    transition: all .2s;
}
.subMenu {
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
    position: absolute;
    width: 100%;
    left: 0;
    top: 84px;
    background: #4147c7;
    display: flex;
    justify-content: center;
    z-index: 3;
    padding: 30px 0;
}
.headerInner nav li:hover .subMenu {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
}
.subMenu .subMenuInner {
    width: 60%;
    display: flex;
    justify-content: space-between;
}
.subMenu ul {
    width: 28%;
    margin: 0 2%;
    text-align: left;
}
.headerInner nav > ul .subMenu a {
    text-align: left;
    display: block;
    color: #fff;
    font-size: 1.6rem;
    position: relative;
}
.headerInner nav > ul .subMenu a:before {
    content: ">";
    margin-right: 10px;
}
.headerInner nav > ul .subMenu h3 {
    font-size: 2rem;
    border-left: 5px solid #fff;
    border-bottom: 1px solid;
    color: #fff;
    padding: 8px 10px 10px;
    margin-bottom: 15px;
}
.headerInner nav > ul .subMenu li {
    margin-bottom: 15px;
}
.headerContact {
    display: flex;
    align-items: flex-start;
}
.headerContactTel {
    color: #4146C7;
    text-align: right;
    font-size: 1.2rem;
    margin-right: 30px;
}
.headerContactTel a {
    color: #4146C7;
    font-size: 2.4rem;
    font-weight: bold;
    display: block;
    margin-top: 8px;
}
.headerContactMail {
    position: relative;
    bottom: -20px;
    margin-bottom: -120px;
    z-index: 2;
}
.headerContactMail a {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#4146c7+0,212364+100 */
    background: #4146c7; /* Old browsers */
    background: -moz-linear-gradient(top, #4146c7 0%, #212364 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #4146c7 0%,#212364 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #4146c7 0%,#212364 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4146c7', endColorstr='#212364',GradientType=0 ); /* IE6-9 */
    color: #fff;
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
}
.headerContactMail a i {
    display: block;
    margin-top: 10px;
}
.headerContactMail a img {
    width: 22px;
    height: 15px;
}
.commonTtl1 {
    font-size: 2.6rem;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
}
.commonTtl1:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 32px;
    width: 80px;
    height: 5px;
    background: #ABADE2;
    margin: 0 auto;
}
.commonTtl1 span {
    font-size: 1.4rem;
    font-weight: normal;
    display: block;
    margin-top: 40px;
}
.commonLink1 a {
    font-size: 2rem;
    font-weight: bold;
    color: #3E3E3E;
}
.commonHero {
    position: relative;
}
.commonHero h2 {
    font-size: 3.5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    line-height: 1;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    text-shadow: 0px 0px 5px #000000;
    text-align: center;
}
.commonHero h2 span {
    font-size: 1.4rem;
    display: block;
    margin-top: 15px;
}
.commonWidth {
    width: 890px;
    margin: 0 auto;
}
.bread {
    padding: 15px 0;
    font-size: 1.2rem;
    color: #3E3E3E;
    width: 910px;
}
.bread ul {
    display: flex;
}
.bread ul li {
    padding-right: 30px;
    position: relative;
}
.bread ul li:after {
    content: "＞";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 7px;
    margin: auto 0;
}
.bread ul li:last-child:after {
    content: none;
} 
.bread a {
    color: #3E3E3E;
    padding: 0 10px;
}
.breadcrumb_last {
    padding-left: 7px;
}
.commonFotterInfo {
    background: #F8F8FA;
    padding-bottom: 30px;
    margin-bottom: 100px;
}
.commonFotterInfoInner {
    width: 890px;
    margin: 0 auto;
}
.commonFotterInfoInner > h3 {
    color: #4146C7;
    font-size: 2rem;
    display: inline-block;
    background: #fff;
    padding: 15px 30px 15px 45px;
    box-shadow: 0px 5px 7px -4px #c7c7c7;
    position: relative;
    top: -25px;
}
.commonFotterInfoInner > h3:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 13.0px;
    border-color: transparent transparent transparent #4146C7;
}
.commonFotterInfo ul {
    display: flex;
    margin: 0 30px;
    justify-content: space-between;
}
.commonFotterInfo li {
    width: 20%;
}
.commonFotterInfo a {
    color: #3E3E3E;
    display: block;
}
.commonFotterInfo .topInfoImg {
    margin-bottom: 8px;
    height: 166px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
}
.commonFotterInfo .topInfoImg .itemLogo {
	width: 80%;
}
.commonFotterInfo .topInfoImg .newsLogo {
    width: 80%;
}
.commonFotterInfo .topInfoDate {
    font-size: 1.2rem;
}
.commonFotterInfo .topInfoDates {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.commonFotterInfo .topInfoCat {
    background: #4147c7;
    color: #fff;
    display: inline-block;
    padding: 3px 5px 4px;
}
.commonFotterInfo li h3 {
    font-size: 1.4rem;
    margin-bottom: 8px;
    line-height: 1.6;
}
.commonFotterInfo .topInfoLink {
    font-size: 1.4rem;
    text-align: right;
}
.commonContact {
    width: 900px;
    margin: 0 auto 100px;
}
.commonContactBtn {
    margin-bottom: 20px;
}
.commonContactBtn a {
    display: block;
    border: 6px solid #4146C7;
    text-align: center;
    padding: 15px 0;
    color: #3E3E3E;
    font-size: 3.2rem;
    font-weight: bold;
    box-shadow: 0px 5px 3px -2px #abade2;
    position: relative;
}
.commonContactBtn a:before {
    content: "";
    position: absolute;
    left: 20px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 74px;
    height: 74px;
    background: url(../img/item/item-tel.svg) no-repeat;
    background-size: 74px auto;
}
.commonContactBtn a:after {
    content: "";
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 57px;
    height: 42px;
    background: url(../img/item/item-mail.svg) no-repeat;
    background-size: 57px auto;
}
.commonContactBtn span {
    display: block;
    margin-bottom: 15px;
    font-size: 1.8rem;
}
.commonEx {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: bold;
}
footer {
    background: #4146c7;
    background: -moz-linear-gradient(top, #4146c7 0%, #212364 100%);
    background: -webkit-linear-gradient(top, #4146c7 0%,#212364 100%);
    background: linear-gradient(to bottom, #4146c7 0%,#212364 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4146c7', endColorstr='#212364',GradientType=0 );
}
.footerInner {
    width: 940px;
    margin: 0 auto;
    display: flex;
    padding: 60px 0;
    align-items: flex-end;
}
.footerLeft {
    margin-right: 80px;
}
.footerLogo {
    margin-bottom: 15px;
}
.footerOpen {
    color: #fff;
    font-size: 1.2rem;
    margin-bottom: 15px;
}
.footerTel {
    margin-bottom: 15px;
}
.footerTel a {
    font-size: 2.6rem;
    color: #fff;
    font-weight: bold;
}
.footerMail {
    font-size: 2rem;
    color: #fff;
    margin-bottom: 15px;
}
.footerAddress {
    font-size: 1.3rem;
    color: #fff;
    line-height: 1.6;
}
.footerRight > ul > li {
    margin-bottom: 30px;
}
.footerRight > ul > li:last-child {
    margin-bottom: 0;
}
.footerRight h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}
.footerRight a {
    color: #fff;
}
.footerSubMenu {
    display: flex;
}
.footerSubMenu li {
    font-size: 1.2rem;
    margin-right: 20px;
}
.footerSubMenu li:before {
    content: "-";
    display: inline-block;
    color: #fff;
    margin-right: 10px;
}
.copy {
    background: #292929;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    padding: 4px 0;
}
.grecaptcha-badge { visibility: hidden; }
.page404 {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    line-height: 1.6;
}
.commonFotterInfoInner .empty {
    font-size: 1.4rem;
}
@media screen and (max-width: 835px) {
    .spOnly {
        display: block !important;
    }
    .pcOnly {
        display: none !important;
    }
    .commonTtl1 {
        font-size: 1.8rem;
    }
    .commonLink1 a {
        font-size: 1.5rem;
    }
    .container {
        padding-top: 67px;
    }
    header {
        position: relative;
        z-index: 1000;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: #fff;
    }
    /* navBtn */
    .navBtnWrap {
        display: block;
        position: fixed;
        top: 1.7em;
        right: 5%;
        z-index: 10001;
    }
    .navBtn {
        height: 21px;
        width: 45px;
        transition: opacity .25s ease;
        display: block;
    }
    .navBtn:hover {
        opacity: .7;
    }
    .navBtn.active .bar1 {
        transform: translateY(9px) translateX(0) rotate(45deg);
        background: #4146C7;
        width: 68%;
        left: 1.4em;
    }
    .navBtn.active .bar2 {
        opacity: 0;
        background: #4146C7;
    }
    .navBtn.active .bar3 {
        transform: translateY(-9px) translateX(0) rotate(-45deg);
        background: #4146C7;
    }
    .navBtnWrap span {
        font-size: 0.8rem;
        display: block;
        text-align: right;
        margin-top: 5px;
        color: #4146C7;
        font-weight: bold;
    }
    .navBtn i {
        background: #4146C7;
        border: none;
        height: 2px;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        transition: all .35s ease;
        cursor: pointer;
    }
    .navBtn i:nth-of-type(2) {
        top: 9px;
        width: 88%;
        right: 0;
        left: inherit;
    }
    .navBtn i:nth-of-type(3) {
        top: 18px;
        width: 68%;
        left: inherit;
        right: 0;
    }
    /* nav */
    .nav {
        position: fixed;
        background: #fff;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100%;
        opacity: 0;
        visibility: hidden;
        transition: opacity .5s, visibility .5s;
        overflow: hidden;
        z-index: 10000;
        display: block;
    }
    .nav.open {
        opacity: .9;
        visibility: visible;
    }
    .nav nav {
        width: 100%;
        margin-top: 7em;
    }
    .nav ul {
        margin: 0 auto;
        text-align: left;
        width: 100%;
    }
    .nav li {
        transform: translateY(100%);
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
        transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity .5s;
        transition-delay: .5s;
        border-bottom: 1px solid #fff;
    }
    .nav.open li {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }
    .nav.open li:nth-child(1) {
        transition-delay: .5s;
    }
    .nav.open li:nth-child(2) {
        transition-delay: .6s;
    }
    .nav.open li:nth-child(3) {
        transition-delay: .7s;
    }
    .nav.open li:nth-child(4) {
        transition-delay: .8s;
    }
    .nav.open li:nth-child(5) {
        transition-delay: .9s;
    }
    .nav.open li:nth-child(6) {
        transition-delay: 1s;
    }
    .nav.open li:nth-child(7) {
        transition-delay: 1.1s;
    }
    .nav.open li:nth-child(8) {
        transition-delay: 1.2s;
    }
    .nav.open li:nth-child(9) {
        transition-delay: 1.3s;
    }
    .nav li a {
        display: block;
        padding: 20px 20px 20px 50px;
        font-size: 1.8rem;
        color: #fff;
        background: #4146C7;
        position: relative;
    }
    .nav li a:before {
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto 0;
        left: 20px;
        content: '';
        width: 12px;
        height: 12px;
        display: inline-block;
        border: 1px solid;
        border-color: #fff #fff transparent transparent;
        transform: rotate(45deg);
        transition: all .2s;
    }
    .headerInner {
        display: flex;
        flex-direction: column;
        margin: 0 1em;
        padding: 10px 0;
    }
    .headerInner h1 {
        width: 190px;
    }
    .headerContact {
        width: 80%;
    }
    .headerInner nav {
        width: 42%;
        display: none;
    }
    .headerContactMail {
        display: none;
    }
    .headerContactTel span {
        display: none;
    }
    .headerContactTel a {
        color: #153D89;
        font-size: 1.3rem;
    }
    .commonWidth {
        width: auto;
        margin: 0 1em;
    }
    .bread {
        padding: 10px 0;
        font-size: 1.2rem;
        margin: 0;
    }
    .commonFotterInfo {
        margin-bottom: 80px;
    }
    .commonFotterInfoInner {
        width: auto;
    }
    .commonFotterInfoInner > h3 {
        color: #4146C7;
        font-size: 1.4rem;
        padding: 10px 15px 10px 30px;
        top: -16px;
        margin-left: 10px;
    }
    .commonFotterInfoInner > h3:before {
        border-width: 6px 0 6px 10.4px;
        left: 12px;
    }
    .commonFotterInfo ul {
        flex-wrap: wrap;
        margin: 0 1em;
    }
    .commonFotterInfo li {
        width: 48%;
    }
    .commonFotterInfo .topInfoImg {
        height: 100px;
    }
    .commonFotterInfo .topInfoDate {
        font-size: 1rem;
    }
    .commonFotterInfo .topInfoCat {
        font-size: 1rem;
    }
    .commonFotterInfo li h3 {
        font-size: 1.2rem; 
    }
    .commonFotterInfo .topInfoLink {
        font-size: 1rem;
    }
    .commonTtl1:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 23px;
        width: 40px;
        height: 3px;
        background: #ABADE2;
        margin: 0 auto;
    }
    .newsList .commonTtl1 {
        margin-bottom: 40px;
    }
    .commonTtl1 span {
        margin-top: 28px;
        font-size: 1rem;
    }
    .commonHero {
        position: relative;
    }
    .commonHero h2 {
        font-size: 2rem;
        width: 90%;
    }
    .commonHero h2 span {
        font-size: 1rem;
        margin-top: 8px;
    }
    .commonContact {
        width: auto;
        margin: 0 1em 60px;
    }
    .commonContactBtn a:before {
        display: none;
    }
    .commonContactBtn a:after {
        display: none;
    }
    .commonContactBtn span {
        display: block;
        margin-bottom: 10px;
        font-size: 1.1rem;
    }
    .commonContactBtn a {
        font-size: 2rem;
    }
    .commonEx {
        font-size: 1.1rem;
    }
    /* footer */
    .footerInner {
        width: auto;
        padding: 60px 0 30px;
        flex-direction: column-reverse;
    }
    .footerLeft {
        margin-right: 0;
        width: 100%;
        padding: 0 1em;
    }
    .footerRight {
        width: 100%;
        padding: 0 1em;
        margin-bottom: 50px;
    }
    .copy {
        font-size: 1.2rem;
    }
    .footerSubMenu {
        flex-wrap: wrap;
    }
    .footerSubMenu li {
        font-size: 1.2rem;
        margin-right: 12px;
        margin-bottom: 18px;
    }
    .footerSubMenu li:before {
        content: "-";
        margin-right: 6px;
    }
    .footerRight h3 {
        font-size: 1.5rem;
        margin-bottom: 15px;
    }
    .footerRight > ul > li {
        margin-bottom: 10px;
    }
    .footerLeft {
        display: flex;
        flex-wrap: wrap;
    }
    .footerLogo {
        order: 1;
        margin-bottom: 10px;
    }
    .footerAddress {
        order: 2;
        font-size: 1rem;
        width: 63%;
        margin-bottom: 10px;
    }
    .footerOpen {
        order: 3;
        font-size: 1rem;
        width: 34%;
        line-height: 1.6;
        margin-bottom: 10px;
    }
    .footerTel {
        order: 4;
        width: 16em;
    }
    .footerMail {
        order: 5;
        font-size: 1.8rem;
        width: 50%;
    }
    .footerTel a {
        font-size: 1.8rem;
    }
    .page404 {
        height: auto;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        font-size: 1.6rem;
        line-height: 1.6;
        padding: 60px 1em 150px;
    }
    .commonFotterInfo .topInfoDates {
        margin-bottom: 3px;
    }
    .commonFotterInfoInner .empty {
        margin: 10px 15px 0;
        font-size: 1.4rem;
    }
}