
/*--------------------------------------
common
--------------------------------------*/
body {
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    overflow-x: hidden;
}

.inner {
    width: 1100px;
    margin: auto;
}

.pc-header.inner {
    width: auto;
    max-width: 1280px;
}

@media screen and (max-width:1280px) {
    .pc-header.inner {
        max-width: 100%;
    }
}


a.under-line {
    text-decoration: underline;
}

.detail-btn a {
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

.detail-btn {
    margin: 0 1.5rem;
}

.detail-search {
    background: #e1e1e1;
    margin: 0 -1rem;
    text-align: center;
    padding: 0 0 16px 0;
}

.detail-search a {
    color: #1B559A;
    font-weight: bold;
    position: relative;
}

.detail-search a::before {
    content: "";
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    width: 4px;
    height: 4px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.2rem;
    margin: auto;
    transform: rotate(45deg);
    z-index: 999;
}

.detail-search a::after {
    content: "";
    width: 16px;
    height: 16px;
    background: #315694;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.5rem;
    margin: auto;
}

a:hover {
    opacity: .9;
}

a img:hover {
    box-shadow: 0px 0px 10px #cecece;
}

/* @media (max-width:1099px) {
    .inner {
        width: 100%;
        padding: 0 1rem;
    }

    .sp-header {
        display: block;
    }
}
 */
footer {
    margin: 5rem 0 0 0;
}

/*--------------------------------------
sliderの基本となるCSS
--------------------------------------*/

@font-face {
    font-family: swiper-icons;
    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

@media (min-width:1150px) {
    .nonenav button.slidebtn.stop.slidebtn,
    .nonenav .banner-content-prev,
    .nonenav .banner-content-prev2,
    .nonenav .banner-content-next,
    .nonenav .banner-content-next2,
    .nonenav .banner-content-pagenation,
    .nonenav .banner-content-pagenation2 {
        display: none;
    }
}

/*--------------------------------------
header.html
--------------------------------------*/

/* 
　ヘッダーコンテンツ(PC)
*/

div.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1rem 0;
}

div.header-content .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
}

div.header-menu-list {
    display: flex;
    align-items: center;
}

.menu-list-item {
    margin: 0 2.5rem 0 0;
}

.menu-list-item a {
    font-weight: bold;
    font-size: .8rem;
    color: #363636;
    display: flex;
    text-decoration: none;
    white-space: nowrap;
}

.menu-list-item a img {
    vertical-align: sub;
}

.menu-list-item a span {
    display: block;
    margin: 0 0 0 0.5rem;
}

/*
　 検索フォーム（PC） 
*/

form.search-form {
    position: relative;
}

input.search-area {
    height: 40px;
    padding: 0 0.45rem;
    width: 100%;
    font-size: small;
}

.submit-button {
    position: absolute;
    right: 1rem;
    top: 0;
    bottom: 0;
    margin: auto;
}

/* 
　グローバルナビゲーション（PC） 
*/

nav#global-navigation ul {
    display: flex;
    justify-content: space-around;
    padding: 1rem 0;
    margin-bottom: 0;
}

nav#global-navigation ul li {
    line-height: 2;
    position: relative;
}

nav#global-navigation ul li::after {
    content: "";
    border-right: 1px solid #B4B4B4;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: 0 -.2rem 0 0;
}

nav#global-navigation ul li:first-child {
    border-left: 1px solid #B4B4B4;
}

nav#global-navigation ul li a {
    display: block;
    font-weight: bold;
    color: #363636;
    padding: 0 1.5rem;
    text-decoration: none;
}

@media screen and (max-width:1300px) {
    nav#global-navigation ul {
        display: flex;
        justify-content: center;
        padding: 1rem 0;
        margin-bottom: 0;
    }

    nav#global-navigation ul li a {
        padding: 0 1rem;
    }

    .inner {
        width: 100%;
        padding: 0 1rem;
    }
}

@media screen and (max-width:1200px){
    nav#global-navigation ul li a {
        font-size: 14px;
        padding: 0 1.2rem;
    }
}

@media screen and (max-width:1150px){
    nav#global-navigation ul li a {
        padding: 0 1rem;
    }
}
/*
    ヘッダーコンテンツ(SP)
*/

header.sp-header {
    display: none;
}

.header-menu-section {
    display: none;
}

@media screen and (max-width:1099px) {
    header.pc-header {
        display: none;
    }

    header.sp-header {
        display: block;
        border-bottom: 1px solid #e1e1e1;
    }

    nav#global-navigation ul {
        justify-content: space-between;
        font-size: 14px;
    }

    nav#global-navigation ul {
        justify-content: space-between;
        font-size: 12px;
    }

    div.header-content {
        margin: 0.3rem 0;
    }

    .menu-list-item {
        margin: 0 1rem 0 0;
    }

    .header-menu-section {
        display: flex;
        justify-content: space-between;
        padding: .6rem 0;
    }

    form.search-form {
        padding: 1rem;
        background: #e1e1e1;
        margin: 0 -1rem;
    }

    input.search-area {
        width: 100%;
        border: none;
        position: relative;
    }

    input.submit-button {
        right: 2rem;
    }
}


button#search-button {
    position: relative;
    border: none;
    background-color: #FFF;
}

button#search-button::before {
    display: block;
    content: "";
    position: absolute;
    right: 10px;
    bottom: 3px;
    width: 25px;
    height: 25px;
    background: url(../images/svg/search-sp.svg) no-repeat;
    background-size: cover;
}

button#search-button.is-active::before {
    display: block;
    content: "";
    position: absolute;
    right: 12px;
    bottom: 3px;
    width: 25px;
    height: 25px;
    background: url(../images/svg/close.svg) no-repeat;
    background-size: cover;
}

#search-section {
    display: none;
}

#search-section.is-active {
    display: block;
}

/*
　 ハンバーガーメニュー（SP） 
*/

#humberger-menu {
    position: relative;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border: none;
    background-color: #FFF;
}

#humberger-menu span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: #363636;
    width: 65%;
    margin: auto;
}

#humberger-menu span:nth-of-type(1) {
    top: 15px;
}

#humberger-menu span:nth-of-type(2) {
    top: 23px;
}

#humberger-menu span:nth-of-type(3) {
    top: 31px;
}

#humberger-menu.is-active span:nth-of-type(1) {
    top: 18px;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

#humberger-menu.is-active span:nth-of-type(2) {
    opacity: 0;
}

#humberger-menu.is-active span:nth-of-type(3) {
    top: 30px;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}

#mobile-navigation {
    display: none;
}

#mobile-navigation.is-active {
    display: block;
}


nav#mobile-navigation ul li a {
    display: block;
    font-weight: bold;
    color: #333;
    padding: 8px 0;
}

nav#mobile-navigation ul li {
    border-bottom: 1px solid #e1e1e1;
}

nav#mobile-navigation ul {
    margin: 16px 0;
}

/*--------------------------------------
TOP > Main Visual
--------------------------------------*/

/*スライダー*/

.mvBullet_module_pc {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.mvBullet_module_sp {
    display: none;
}

@media (max-width:1099px) {
    .mvBullet_module_pc {
        display: none;
    }

    .mvBullet_module_sp {
        display: flex;
        justify-content: center;
        align-items: center;
        position: inherit;
        padding: 2rem 0;
    }
}

.mv-pagenation,
.mv-sp-pagenation {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mv-pagenation span.swiper-pagination-bullet,
.mv-sp-pagenation span.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    border: 1px solid #315694;
    border-radius: 50%;
    margin: 0 10px;
}

.mv-pagenation span.swiper-pagination-bullet.swiper-pagination-bullet-active,
.mv-sp-pagenation span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #315694;
    width: 14px;
    height: 14px;
}

button.slidebtn.stop,
button.btn-pc.stop,
button.btn-sp.stop {
    display: inline;
    width: 14px;
    height: 14px;
    background: url(../images/svg/pause.svg)no-repeat;
    border: none;
    margin: 0 0 0 10px;
}

button.slidebtn.start,
button.btn-pc.start,
button.btn-sp.start {
    display: inline;
    width: 14px;
    height: 14px;
    background: url(../images/svg/start.svg)no-repeat;
    border: none;
    margin: 0 0 0 10px;
}
.mvBullet_module {
    display: flex;
    justify-content: center;
    align-items: center;
    position: inherit;
}

#main-visual {
    height: 620px;
    margin: 0 0 4rem 0;
}

.main-visual-content {
    position: relative;
    width: 1260px;
    height: 100%;
    margin: auto;
}

.main-visual-search {
    position: absolute;
    bottom: 50px;
    right: 0;
    width: 335px;
    background: rgb(0 104 183 / 95%);
    padding: 1.5rem;
    z-index: 999;
}

#main-visual-form,
#main-visual-form-sp {
    position: relative;
}

.main-visual-search h3 {
    color: #FFF;
    border-bottom: 1px solid;
    margin: 0 0 .8rem 0;
}

.main-visual-search ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 1rem 0;
}

.main-visual-search ul li a {
    color: #FFF;
    font-size: 14px;
    margin: 0 .5rem 0 0;
}

.main-visual-content h2 {
    position: absolute;
    z-index: 999;
    top: 100px;
    left: 0;
}

.visual-slide-content {
    overflow: hidden;
    width: 1100px;
    height: 592px;
    position: absolute;
    right: -80px;
}

@media (max-width:1099px) {
    .visual-slide-content {
        height: 960px;
    }
    .main-visual-search {
        padding: 1rem;
    }
}
.main-visual-list {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    height: 600px;
}

.mvs-item img {
    width: 90%;
}

.main-visual-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mainVisual-sp img {
    width: 100%;
}

.div-subtitle {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 10%;
    height: 20%;
    text-align: center;
}

h1.sp-content.title {
    position: absolute;
    bottom: -155px;
    height: 0;
    margin: auto;
}

@media (max-width:1280px) {
    .main-visual-content {
        margin: auto;
        overflow: hidden;
    }

    .main-visual-search {
        bottom: 50px;
        right: 4%;
    }
}

@media (max-width:1200px) {
    .main-visual-search {
        right: 12%;
    }
}

@media (max-width:1099px) {
    #main-visual {
        height: 960px;
        margin: 0;
    }

    .main-visual-content h2 {
        bottom: 550px;
        top: initial;
    }

    .main-visual-content {
        width: 100%;
    }

    .main-visual-text br {
        display: block;
    }

    .main-visual-search {
        position: inherit;
        width: 100%;
        margin: 5rem 0 2rem 0;
    }

    .visual-slide-content {
        width: 100%;
        left: 10%;
        top: 0;
    }

    .main-visual-content h2 {
        bottom: 150px;
    }

    .title img {
        width: 24rem;
    }

    .mvs-item img {
        width: 90%;
    }
}

@media (max-width:820px) {
    #main-visual {
        height: 640px;
    }

    .main-visual-content h2 {
        bottom: 420px;
    }

    .title img {
        width: 24rem;
    }
}

@media (max-width:540px) {
    #main-visual {
        height: 460px;
    }

    .main-visual-content h2 {
        bottom: 560px;
    }

    .title img {
        width: 16rem;
    }
}

/*--------------------------------------
TOP > attention-content
--------------------------------------*/

#attention-content {
    margin: 0 auto 4rem auto;
}


dl.attention-content-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid #FF2F2F;
    padding: 1rem 1.5rem 1rem 70px;
    font-weight: bold;
    position: relative;
}

dl.attention-content-item::before {
    content: "";
    display: block;
    background: url("../images/svg/attention-icon.svg");
    width: 30px;
    height: 30px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

dl.attention-content-item dt {
    width: 90px;
    margin: 5px 20px 0 0;
    align-items: center;
    display: flex;
}

dl.attention-content-item dt:first-child {
    margin: 0 20px 0 0;
}

dl.attention-content-item dd {
    margin: 5px 0 0 0;
}

dl.attention-content-item dd:nth-child(2) {
    margin: 0;
}

dl.attention-content-item dd {
    width: calc(100% - 110px);
}

dl.attention-content-item dd a {
    text-decoration: underline;
    color: #315694;
}

dl.attention-content-item br {
    display: none;
}

@media (max-width:797px) {
    dl.attention-content-item {
        display: block;
    }

    dl.attention-content-item dt,
    dl.attention-content-item dd {
        width: 100%;
    }

    dl.attention-content-item dt {
        margin: 10px 0 0 0;
    }

    dl.attention-content-item dd {
        margin: 0;
        font-size: 15px;
    }

    dl.attention-content-item br {
        display: block;
    }

}

/*--------------------------------------
TOP > banner-content-slider
--------------------------------------*/
.banner-content-slider {
    position: relative;
    overflow-x: hidden;
    margin: 0 auto 2rem auto;
    padding: 5px;
}

a.banner-content-item img {
    width: 100%;
    vertical-align: top;
}


.banner-content-pagenation,
.banner-content-pagenation2 {
    display: flex;
    justify-content: center;
    height: 20px;
}

.banner-content-pagenation span,
.banner-content-pagenation2 span {
    display: block;
    width: 10px;
    height: 10px;
    background: #e1e1e1;
    border-radius: 50%;
    margin: .3rem;
}

.banner-content-pagenation span.swiper-pagination-bullet-active,
.banner-content-pagenation2 span.swiper-pagination-bullet-active {
    display: block;
    width: 10px;
    height: 10px;
    background: #7b7a7a;
    border-radius: 50%;
}

.banner-content-prev,
.banner-content-prev2 {
    width: 50px;
    height: 50px;
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 20px;
    left: 20px;
    margin: auto;
    z-index: 999;
    border-radius: 50%;
    cursor: pointer;
    border: 1px solid #333;
}

.banner-content-prev::after,
.banner-content-prev2::after {
    content: "";
    background: url(../images/svg/slider-arrow-left.svg)no-repeat;
    height: 8px;
    width: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.banner-content-next,
.banner-content-next2 {
    width: 50px;
    height: 50px;
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 20px;
    right: 20px;
    margin: auto;
    z-index: 999;
    border-radius: 50%;
    cursor: pointer;
    border: 1px solid #333;
}

.banner-content-next::after,
.banner-content-next2::after {
    content: "";
    background: url(../images/svg/slider-arrow-right.svg)no-repeat;
    height: 8px;
    width: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

@media (max-width:1150px) {
    .banner-content-slider {
        width: 100%;
    }

    .banner-content-prev,
    .banner-content-prev2 {
        width: 40px;
        height: 40px;
        bottom: 20px;
        left: 10px;
    }

    .banner-content-next,
    .banner-content-next2 {
        width: 40px;
        height: 40px;
        bottom: 20px;
        right: 10px;
    }
}

@media (max-width:480px) {
    .banner-content-prev,
    .banner-content-prev2 {
        width: 40px;
        height: 40px;
        bottom: 20px;
        left: 40px;
    }

    .banner-content-next,
    .banner-content-next2 {
        width: 40px;
        height: 40px;
        bottom: 20px;
        right: 40px;
    }
}

/*--------------------------------------
TOP > pickup-content
--------------------------------------*/
#pickup-content {
    background: #ffffff;
    padding: 0 0 3rem 0;
    margin: 0;
    position: relative;
}
#pickup-content .inner {
    position: relative;
}

#pickup-content .mw-1100 {
    max-width: 1100px;
    display: block;
    margin: 0 auto 3rem;
    text-align: left;
    position: absolute;
    left: -76px;
    top: -48px;
}

@media (max-width:1300px) {
    #pickup-content .mw-1100 {
        left: 4px;
    }
}

@media (max-width:1150px) {
    #pickup-content .mw-1100 {
        width: 30%;
        min-width: 380px;
    }
}

#pickup-content h2 small {
    font-size: 16px;
    color: #333;
    letter-spacing: 0;
}

#pickup-content .pickup-slider2 {
    margin-top: 2rem;
}

@media (max-width:1150px) {
    #pickup-content {
        background: #ffffff;
        padding: 2rem 0 2rem;
        margin: 0;
    }

    #pickup-content h2 {
        width: 100%;
        font-size: 28px;
        margin: 0 0 2rem 0;
    }

    #pickup-content h2 small {
        font-size: 14px;
    }

    #pickup-content .pickup-slider2 {
        margin-top: 2rem;
    }
}

/*--------------------------------------
TOP > topics-content
--------------------------------------*/

#topics-content {
    margin: 0 auto 6rem auto;
    background: #F4F4F4;
    padding: 5rem 0;
}

.topics-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.topics-content-header h2 {
    display: flex;
    align-items: center;
    margin: 0 0 2rem 0;
    font-size: 40px;
    color: #0068b7;
}

.topics-content-header h2 small {
    font-size: 16px;
    color: #333;
    margin: 0 0 0 24px;
    letter-spacing: 0;
}

.topics-more-link a {
    color: #315694;
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 1rem 0 0;
    font-weight: bold;
    text-decoration: underline;
    margin: 0 0 16px 0;
}

.topics-more-link a::after {
    content: url(../images/svg/notice-arrow.svg);
    width: 10px;
    height: 27px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
}

@media (max-width:1150px) {
    #topics-content {
        background: #F4F4F4;
        padding: 3rem 0 2rem 0;
    }

    .topics-content-header h2 {
        width: 100%;
        font-size: 28px;
    }

    .topics-content-header h2 small {
        font-size: 14px;
    }

    .topics-more-link {
        margin: 0 0 16px 0;
    }

    .topics-more-link a {
        width: 100%;
        text-align: center;
        display: inline-block;
        padding: 1rem 2rem;
        color: #FFF;
        background: #315694;
        position: relative;
        border-radius: 40px;
    }

    .topics-more-link a::after {
        content: url(../images/svg/link-arrow-right.svg);
        width: 10px;
        height: 32px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1.5rem;
        margin: auto;
    }

}

/*--------------------------------------
TOP > about-content
--------------------------------------*/

#about-section {
    position: relative;
    margin: 0 auto 8rem auto;
}

.about-content {
    display: flex;
    max-width: 1400px;
    margin: auto;
}

.about-center-content h2 {
    line-height: 1;
    margin: 0 0 3rem 0;
    font-size: 40px;
    color: #0068b7;
}

.about-center-content h2 small {
    font-size: 16px;
    color: #333;
    letter-spacing: 0;
}

.about-center-content {
    margin: 2rem 7rem;
}

.about-center-content strong {
    font-size: 1.5rem;
    line-height: 1.7;
    margin: 2rem 0 1rem;
    display: block;
}

.about-txt {
    margin: 0 0 2rem 0;
}


.about-more-link {
    text-align: center;
}

.about-more-link a {
    font-weight: bold;
    width: 230px;
    display: inline-block;
    padding: 1rem 2rem;
    color: #FFF;
    background: #315694;
    position: relative;
    border-radius: 40px;
}

.about-more-link a::after {
    content: url(../images/svg/link-arrow-right.svg);
    width: 10px;
    height: 32px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5rem;
    margin: auto;
}

h2.about-sp-title {
    position: relative;
}

h2.about-sp-title img {
    width: 100%;
}

h2.about-sp-title span {
    display: block;
    position: absolute;
    line-height: 1;
    font-size: 28px;
    color: #0068b7;
    bottom: 0;
    left: 24px;
}

h2.about-sp-title span small {
    font-size: 14px;
    color: #333;
    letter-spacing: 0;
}

@media (max-width:1280px) {
    .about-content-outer {
        width: 100%;
        padding: 0 1rem;
    }

    .about-content {
        right: 1rem;
    }
}

#about-section .sp-content{ display: none;}

@media (max-width:1099px) {
    #about-section .pc-content{ display: none;}
    #about-section .sp-content{ display: block;}

    #about-section .sp-content{
        background-image: url("../images/jpeg/about-bg-sp.jpg")no-repeat;
        margin: 0 auto 5rem auto;
    }

    .about-center-content {
        margin: 2rem 2.7rem;
    }

    .about-more-link a {
        width: 100%;
        font-weight: bold;
        text-align: center;
    }
}

@media (max-width:480px) {
    .about-center-content {
        margin: 2rem 1.5rem;
    }
}

/*--------------------------------------
TOP > main-content
--------------------------------------*/

#main-content {
    position: relative;
    overflow: hidden;
    background: url(../images/jpeg/main-content-bg.jpg);
    width: 100%;
    height: 800px;
    padding: 115px 0 0 0;
    background-size: cover;
}

@media screen and (min-width:1150px){
    #main-content .slider-index,
    #main-content .main-content-flex {
        width: 1100px;
    }    
}


.slider-index {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto 2rem auto;
    padding: 0 auto 2rem auto !important;
}

.slider-index h2 {
    line-height: 1;
    font-size: 40px;
    color: #FFF;
}

.slider-index h2 small {
    font-size: 16px;
    letter-spacing: 0;
}

.slider-index p {
    color: #FFF;
    width: 60%;
}

.main-content-flex {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    border-top: 1px solid #FFF;
    padding: 3rem 0 0;
}

.ourpolicy-content-header h2 {
    margin: 0 0 1rem 0;
}

.main-content-image {
    width: 527px;
}

.main-content-image figure img {
    width: 100%;
}

.swiper-slide.main-content-item.thumb img {
    width: 100%;
}

img.thumb {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

.main-content-thumbnail {
    width: 300px;
}


.main-thumb-item a:hover {
    /* opacity: .6; */
    transition-duration: .3s;
}

.main-thumb-item.swiper-slide-visible.swiper-slide-thumb-active {
    opacity: 1;
}

/* スライダー目次（PCのみ） */

.main-thumb-list {
    flex-direction: column;
    width: calc(100% / 2 - 30px);
}

.main-thumb-list li {
    margin: 0 0 30px 0;
}

.main-thumb-list li:nth-child(even) {
    margin-left: 30px;
}

/* スライダー矢印 */
.slider-index.inner.sp-content.inner figure img {
    width: 100%;
}

/* スライダーカード */

@media (max-width:1100px) {
    #main-content {
        height: 120%;
        padding: 60px 0 0 0;
    }

    .slider-index {
        border: none;
    }

    .slider-index h2 {
        font-size: 28px;
        margin: 0 0 2rem;
    }

    .slider-index h2 small {
        font-size: 14px;
    }

    .slider-index p {
        width: 100%;
        margin: 0 0 2rem 0;
    }

    .slider-index.inner.sp-content.inner figure {
        text-align: center;
    }

    .slider-index.inner.sp-content.inner figure img {
        width: 100%;
        max-width: 600px;
    }
    
    .main-content-slider {
        width: 100%;
        overflow: hidden;
        color: #FFF;
    }

    .main-content-item {
        display: flex;
        flex-direction: column-reverse;
    }

    .main-content-item h3 {
        margin: 15px 0;
    }

    .main-thumb-list li:nth-child(even) {
        margin-left: 0;
    }

    .main-content-thumbnail {
        width: 100%;
        margin: 2rem 0 0 0;
    }

}

/*--------------------------------------
TOP > ourpolicy
--------------------------------------*/

#ourpolicy-section {
    margin: 4rem auto 0 auto;
    max-width: 1400px;
}

#ourpolicy-section figure img {
    width: 100%;
    vertical-align: bottom;
}

.ourpolicy-content-header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 0 2rem 0;
    width: 50%;
}

.ourpolicy-content-header h2 {
    line-height: 1;
    margin: 0 0 3rem 0;
    font-size: 40px;
    color: #0068b7;
}

.ourpolicy-content-header h2 small {
    font-size: 16px;
    color: #333;
    letter-spacing: 0;
}

.ourpolicy-content-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 2rem 0;
}

.ourpolicy-more-link {
    display: flex;
    align-items: center;
    width: 50%;
    justify-content: center;
}

.ourpolicy-more-link a {
    position: relative;
    display: flex;
    width: 300px;
    color: #FFF;
    background: #315694;
    font-weight: bold;
    justify-content: center;
    padding: 1rem;
    border-radius: 40px;
}

.ourpolicy-more-link a::after {
    content: url(../images/svg/link-arrow-right.svg);
    width: 10px;
    height: 32px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5rem;
    margin: auto;
}

article.ourpolicy-content-item {
    width: calc(100% /2 - 1rem);
}

article.ourpolicy-content-item:last-child {
    margin: 2rem 0 0 0;
}

article.ourpolicy-content-item a {
    color: #000;
}

.ourpolicy-article-media img {
    width: 100%;
}

.ourpolicy-flex {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 4rem auto;
}


@media (max-width:1150px) {
    .ourpolicy-flex {
        flex-direction: column;
    }

    .ourpolicy-content-header {
        width: 100%;
    }

    .ourpolicy-content-header h2 {
        margin: 0 0 1rem 0;
        font-size: 28px;
    }

    .ourpolicy-content-header h2 small {
        font-size: 14px;
    }

    .ourpolicy-content-header p {
        width: 60%;
        margin: auto;
    }

    .ourpolicy-content-list {
        display: block;
    }

    article.ourpolicy-content-item {
        width: 100%;
    }

    article.ourpolicy-content-item a {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    article.ourpolicy-content-item a.last-child {
        flex-direction: row-reverse;
    }

    .ourpolicy-article-media {
        width: 50%;
        padding: 1rem;
    }

    .ourpolicy-article-text {
        width: 50%;
        padding: 2rem;
    }

    .ourpolicy-article-text h3 {
        font-size: 1.5rem;
        margin: 0 0 1rem 0;
    }

    .ourpolicy-article-media img {
        width: 100%;
    }

    .ourpolicy-more-link {
        justify-content: center;
        width: 100%;
    }

    .ourpolicy-more-link a {
        width: 100%;
    }
}

@media (max-width:640px) {
    .ourpolicy-article-text h3 {
        font-size: 1rem;
        margin: 0 0 1rem 0;
    }

    .ourpolicy-content-header p {
        width: 100%;
    }

    .ourpolicy-article-media {
        padding: 0;
    }

    .ourpolicy-article-text {
        padding: .5rem 1rem;
    }

    .ourpolicy-content-header h2 img {
        width: 50%;
    }
}

@media (max-width:680px) {
    .ourpolicy-article-text {
        font-size: 12px;
    }
}

/*--------------------------------------
TOP > reccomend-content
--------------------------------------*/

#reccomend-content {
    background: #f7f7f7;
    padding: 7rem 0 5rem;
    margin: 0 0 5rem 0;
}

.reccomend-content-slider {
    position: relative;
    overflow-x: hidden;
    margin: 0 auto 2rem auto;
    padding: 0 24px;
}

#reccomend-content h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 0 2rem 0;
    line-height: 2;
    margin: 0 0 3rem 0;
    font-size: 40px;
    color: #0068b7;
}

#reccomend-content h2 small {
    font-size: 16px;
    color: #333;
    letter-spacing: 0;
}


.reccomend-content-list {
    display: flex;
    justify-content: space-between;
}

a.reccomend-content-item img {
    width: 100%;
    vertical-align: top;
}


.reccomend-content-pagenation {
    display: flex;
    justify-content: center;
    height: 20px;
}

.reccomend-content-pagenation span {
    display: block;
    width: 10px;
    height: 10px;
    background: #e1e1e1;
    border-radius: 50%;
    margin: .3rem;
}

.reccomend-content-pagenation span.swiper-pagination-bullet-active {
    display: block;
    width: 10px;
    height: 10px;
    background: #7b7a7a;
    border-radius: 50%;
}

.reccomend-content-prev {
    width: 50px;
    height: 50px;
    background: #fff;
    position: absolute;
    top: 48px;
    left: 4px;
    margin: auto;
    z-index: 999;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0px 1px 3px 0px #33333345;
    border: 1px solid #333;
}

.reccomend-content-prev::after {
    content: "";
    background: url(../images/svg/slider-arrow-left.svg)no-repeat;
    height: 8px;
    width: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.reccomend-content-next {
    width: 50px;
    height: 50px;
    background: #fff;
    position: absolute;
    top: 48px;
    right: 4px;
    margin: auto;
    z-index: 999;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0px 1px 3px 0px #33333345;
    border: 1px solid #333;
}

.reccomend-content-next::after {
    content: "";
    background: url(../images/svg/slider-arrow-right.svg)no-repeat;
    height: 8px;
    width: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.reccomend-content-item {
    width: calc(100% / 4 - 1rem);
}

.reccomend-content-item a {
    color: #000;
}

.reccomend-content-item h3 {
    padding: .5rem 0 2rem;
}

.reccomend-content-item img {
    width: 100%;
}

@media (max-width:764px) {
    .reccomend-content-item {
        width: calc(100% / 2 - .5rem);
    }

    #reccomend-content h2 {
        font-size: 28px;
        display: flex;
        align-items: flex-start;
    }

    #reccomend-content h2 small {
        font-size: 14px;
        display: flex;
        align-items: flex-start;
    }
}

@media (max-width:480px) {
    #reccomend-content {
        padding: 5rem 0 3rem;
    }

    .reccomend-content-item {
        width: calc(100% / 2 - .5rem);
    }

    .reccomend-content-prev {
        width: 40px;
        height: 40px;
        left: 40px;
    }

    .reccomend-content-next {
        width: 40px;
        height: 40px;
        right: 40px;
    }
}

/*--------------------------------------
TOP > infomation-content
--------------------------------------*/

#infomation-content {
    max-width: 1400px;
    margin: 0 auto 7rem auto;
}

.infomation-flex {
    display: flex;
}

.infomation-right {
    padding: 0 6rem 0 4rem;
}

#infomation-content h2 {
    margin: 0 0 2rem 0;
}

#infomation-content h2 {
    line-height: 1;
    margin: 0 0 3rem 0;
    font-size: 40px;
    color: #0068b7;
}

#infomation-content h2 small {
    font-size: 16px;
    color: #333;
    letter-spacing: 0;
}


#infomation-content figure img {
    margin: 0 0 2rem 0;
}


#infomation-content figure img {
    width: 100%;
}

.infomation-more-link {
    display: flex;
    align-items: center;
    margin: 3rem 0;
}

.infomation-more-link a {
    position: relative;
    display: flex;
    width: 300px;
    color: #FFF;
    background: #315694;
    font-weight: bold;
    justify-content: center;
    padding: 1rem;
    border-radius: 40px;
}

.infomation-more-link a::after {
    content: url(../images/svg/link-arrow-right.svg);
    width: 10px;
    height: 32px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5rem;
    margin: auto;
}

@media (max-width:1150px) {
    #infomation-content {
        margin: 0 auto 5rem auto;
    }

    #infomation-content h2 {
        font-size: 28px;
        margin: 0 0 2rem 0;
    }

    #infomation-content h2 small {
        font-size: 14px;
    }

    .infomation-more-link a {
        width: 100%;
    }
}

/*--------------------------------------
TOP > Related-conetnt
--------------------------------------*/
#related-content {
    margin: 0 auto 5rem auto;
}

#related-content h2 {
    line-height: 1;
    margin: 0 0 3rem 0;
    font-size: 40px;
    color: #0068b7;
}

#related-content h2 small {
    font-size: 16px;
    color: #333;
    letter-spacing: 0;
}

#related-content ul {
    display: flex;
    flex-wrap: wrap;
}

li.related-content-item {
    width: calc(100% / 3 - 1rem);
    margin: 0.5rem;
}

li.related-content-item img {
    width: 60%;
}

@media (max-width:820px) {
    #related-content h2 {
        font-size: 28px;
    }

    #related-content h2 small {
        font-size: 14px;
    }

    li.related-content-item {
        width: calc(100% / 3 );
        margin: 0rem;
    }
    li.related-content-item img {
        width: 100%;
    }
}

@media (max-width:480px) {
    li.related-content-item {
        width: calc(100% / 2 - 2rem);
        margin: 1rem;
    }

    li.related-content-item img {
        width: 100%;
    }

    #related-content h2 img {
        width: 36%;
    }
}

section#recruit-sns-content {
    padding: 3rem 1rem;
}

section#recruit-sns-content h2 {
    margin: 0 0 1rem 0;
    color: #0068B7;
}

section#recruit-sns-content > ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

section#recruit-sns-content > ul > li {
    width: calc(100% / 2 - 2rem);
}

section#recruit-sns-content ul ul li {
    position: relative;
    box-shadow: 0 0 6px #eee;
    margin: 0 0 1rem 0;
}
section#recruit-sns-content ul ul li::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    color: #315694;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
}
section#recruit-sns-content ul ul li.twflame::after {
    display: none;
}
section#recruit-sns-content ul ul li.twflame {
    box-shadow: none;
}

section#recruit-sns-content ul ul li * {
    display: inline-block;
}
section#recruit-sns-content ul ul li a {
    color: #000;
    width: 100%;
    padding: 1rem;
    font-weight: bold;
}

@media (max-width:480px) {
    section#recruit-sns-content ul {
        flex-direction: column;
    }
    section#recruit-sns-content ul li {
        width: 100%;
        margin: 0 0 1rem 0;
    }
}

/*-----------------*/
.saiyou_news_title a {
    text-decoration: underline;
}

#recrute-movie-content {
    background: url("../images/jpeg/saiyou/special-movie-bg.jpg")no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
}

figure.spacial-movie-media h2 {
    background: #000;
    padding: 10px 16px;
    color: #FFF;
    position: absolute;
    top: 6rem;
    left: -3rem;
    z-index: 999;
}

figure.spacial-movie-media {
    width: 50%;
    margin: auto;
    position: relative;
    padding: 5rem 0;
}

figure.spacial-movie-media a img {
    width: 100%;
}

figure.spacial-movie-media figcaption {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 3rem;
    text-align: center;
}

figcaption img {
    width: 100%;
}

@media (max-width: 480px) {
    figure.spacial-movie-media h2 {
        background: none;
        padding: 0;
        top: 2rem;
        left: 1rem;
    }

    figure.spacial-movie-media {
        width: 100%;
        padding: 7rem 1rem 5rem;
    }

    figure.spacial-movie-media figcaption {
        bottom: 4rem;
    }

    figcaption img {
        width: 90%;
    }
}

section#recruit-message-content h2 {
    text-align: right;
}

section#recruit-message-content {
    margin: 4rem auto;
}

.recruit-message-list {
    display: flex;
    justify-content: space-between;
}

.recruit-message-item {
    width: calc(100% / 2 - 3rem);
}

.recruit-message-item figure img {
    width: 100%;
    vertical-align: sub;
    margin: 0 0 1rem 0;
}

.recruit-message-item h3 {
    color: #0068B7;
}

@media (max-width: 480px) {
    section#recruit-message-content {
        margin: 2rem 0;
    }

    section#recruit-message-content h2 img {
        width: 50%;
        margin: 0 0 2rem 0;
    }

    .recruit-message-list {
        flex-direction: column;
    }

    .recruit-message-item {
        width: 100%;
        margin: 0 0 2rem 0;
    }
}


section#recruit-bosyu-content {
    background: #0068B7;
    padding: 3rem 0 4rem 0;
}

section#recruit-bosyu-content h2 {
    text-align: center;
    color: #FFF;
    font-size: 1.5rem;
    margin: 0 0 2rem 0;
}

section#recruit-bosyu-content h2 span {
    background: linear-gradient(transparent 60%, #000 60%);
    padding: 0 0.3rem;
}


.recruit-bosyu-item {
    width: 80%;
    margin: auto;
    display: flex;
}

.recruit-bosyu-item-content {
    background: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
    padding: 0 4rem;
}

.recruit-bosyu-item-content h3 {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    margin: 0 0 1rem 0;
}

.recruit-bosyu-item-content h3 span {
    font-weight: 300;
    font-size: 14px;
}

.recruit-bosyu-item-media {
    width: 50%;
}

.recruit-bosyu-item-media img {
    width: 100%;
    vertical-align: bottom;
}

.recruit-bosyu-link a {
    color: #0068b7;
    border-bottom: 1px solid;
}

.recruit-bosyu-link a img {
    padding: 0 0 0 2rem;
}

@media (max-width:920px) {
    section#recruit-bosyu-content {
        padding: 3rem 0 7rem 0;
    }

    .recruit-bosyu-item {
        width: 80%;
        height: 330px;
        position: relative;
    }

    .recruit-bosyu-item-content {
        width: 65%;
        padding: 2rem 4rem;
        position: absolute;
        right: 0;
        z-index: 999;
        bottom: -80px;
    }

    .recruit-bosyu-item-media {
        width: 80%;
        position: absolute;
        left: 0;
    }
}

@media (max-width:480px) {
    section#recruit-bosyu-content {
        padding: 3rem 0;
    }

    .recruit-bosyu-item {
        width: 100%;
    }

    .recruit-bosyu-item-content {
        width: 90%;
        bottom: 0px;
        padding: 1.5rem 2rem;
    }
}


section#recruit-window-content {
    background: #315694;
    padding: 3rem 0;
    display: flex;
    justify-content: space-evenly;
}

section#recruit-window-content h2 {
    color: #FFF;
    font-size: 20px;
    line-height: 1.5;
    margin: 0 2rem 0 0;
}

section#recruit-window-content h2 span {
    font-size: 14px;
}

.recruit-window-link {
    width: 20%;
}

.recruit-window-link a {
    color: #FFF;
    display: block;
    padding: 1rem;
    border: 1px solid;
    position: relative;
}

.recruit-window-link a::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    color: #FFF;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
}

@media (max-width:480px) {
    section#recruit-window-content {
        flex-direction: column;
    }

    section#recruit-window-content h2 {
        text-align: center;
        margin: 0 0 2rem 0;
    }

    .recruit-window-link {
        width: 80%;
        margin: auto;
    }
}

#recruit-local-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 3rem auto;
}

ul.recruit-local-item {
    width: calc(100% / 2 - 2rem);
    margin: 0 0 3rem 0;
}

ul.recruit-local-item li:first-child a {
    color: #315694;
    font-weight: bold;
}

ul.recruit-local-item li.list-child {
    border-bottom: 1px solid #e1e1e1;
    padding: .5rem 0;
    position: relative;
}

ul.recruit-local-item li.list-child.arrow::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    color: #315694;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
}

ul.recruit-local-item li a {
    color: #000;
}

@media (max-width:480px) {
    #recruit-local-list {
        flex-direction: column;
    }

    ul.recruit-local-item {
        width: 100%;
        margin: 0 0 2rem 0;
    }
}

/*--------------------------------------
わが国を取り巻く安全保障環境
--------------------------------------*/

.pdf-content-slider {
    overflow: hidden;
    width: 50%;
    border: 1px solid #707070;
    position: relative;
    margin: 0 auto 2rem auto;
}

.banner-content-list img {
    width: 100%;
}

.pdf-content-prev {
    width: 40px;
    height: 40px;
    border: 3px solid #315694;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: .5rem;
    margin: auto;
    z-index: 999;
    cursor: pointer;
}

.pdf-content-next {
    width: 40px;
    height: 40px;
    border: 3px solid #315694;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: .5rem;
    margin: auto;
    z-index: 999;
    cursor: pointer;
}

.pdf-content-prev::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 3px solid;
    border-left: 3px solid;
    transform: rotate(-45deg);
    color: #315694;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: .3rem;
    margin: auto;
}

.pdf-content-next::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 3px solid;
    border-right: 3px solid;
    transform: rotate(45deg);
    color: #315694;
    position: absolute;
    top: 0;
    bottom: 0;
    right: .3rem;
    left: 0;
    margin: auto;
}
.surround-wrap h3 {
    margin: 60px 0 40px 0;
    padding: 0 0 12px 0;
    border-bottom: 2px solid;
    color: #0068B7;
    font-size: 28px;
}
.surround-wrap .content-single-item ul > li:first-of-type {
    border-top: 1px solid #e1e1e1;
    margin-top: 1em;
}

@media (max-width:920px) {
    .pdf-content-slider {
        width: 70%;
    }
}

@media (max-width: 480px) {
    .pdf-content-slider {
        width: 100%;
    }

    .content-header-more {
        margin: 0 0 2rem 0;
    }
}

/*--------------------------------------
共通
--------------------------------------*/

h2.column-title-left,
#title-content h1 {
    color: #0068B7;
    font-size: 45px;
    line-height: 1;
    margin: 16px auto 4rem auto;
}

h2.column-title-left small,
#title-content h1 small {
    color: #333;
    font-size: 18px;
    margin: 0;
    font-weight: 600;
}

.header-visual {
    width: 100%;
    display: flex;
    text-align: right;
    margin: 0 0 4rem 0;
}

.header-visual-image {
    /* width: 100%; */
    max-width: 1290px;
    margin: auto;
}

.header-visual-image img {
    width: 1200px;
    vertical-align: top;
}


#sub-heading-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2rem auto 6rem auto;
}

.sub-heading-title {
    width: 40%;
    font-size: 2rem;
    color: #0068B7;
}

@media (max-width:920px) {
    .sub-heading-title {
        font-size: 1.5rem;
    }

    .header-visual-image img {
        width: 100%;
    }

}

.sub-heading-text {
    width: 50%;
}

@media (max-width:820px) {
    h2.column-title-left,
    #title-content h1 {
        font-size: 32px;
        margin: 0 auto 2rem auto;
    }

    h2.column-title-left small,
    #title-content h1 small {
        font-size: 14px;
    }

    .header-visual {
        margin: 0 0 2rem 0;
    }

    .header-visual-image {
        width: 95%;
    }

    .header-visual-image img {
        width: 100%;
    }

    h2.column-title-left img {
        width: 80%;
    }

    h2.column-title-left60 img {
        width: 60%;
    }

    h2.column-title-left35 img {
        width: 35%;
    }

    #sub-heading-content {
        flex-direction: column;
        align-items: flex-start;
        margin: 2rem auto 4rem auto;
    }

    .sub-heading-title {
        width: 100%;
        font-size: 1.5rem;
        margin: 0 0 1rem 0;
    }

    .sub-heading-text {
        width: 100%;
    }
}


#update-content {
    background: #EEEEEE;
    padding: 2rem 0 3rem 0;
    margin: 0 0 5rem 0;
}

#update-content h3 {
    margin: 0 0 2rem 0;
}

.update-content-list {
    margin: 0 auto 2rem;
}

li.update-content-item a {
    text-decoration: underline;
    color: #315694;
}

.update-content-list li {
    display: flex;
    flex-direction: column;
    background: #FFF;
    margin: 0 0 1rem 0;
    box-shadow: 0 1px 6px #e1e1e1;
    color: #000;
    padding: 2rem;
}

.update-content-item-header,
.update-item-header {
    display: flex;
    margin: 0 0 1rem 0;
}

.update-content-item-header p {
    font-weight: 400;
}

.update-category-gsdf,
.update-category-notice,
.update-category-release,
.update-category-recruit {
    display: inline-block;
    text-align: center;
    width: 200px;
    padding: 0 2rem;
    margin: 0 1rem 0 0;
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
}

.update-category-notice {
    background: #315694;
}

.update-category-release {
    background: #8B4513;
}

.update-category-recruit {
    background: #b43051;
}
.update-category-gsdf {
    background: #27804a;
}

.update-content-more {
    display: flex;
    justify-content: end;
    position: relative;
}

.update-content-more a {
    display: flex;
    align-items: center;
    color: #315694;
    font-size: 1rem;
    border-bottom: 1px solid;
    padding: 0.5rem 1rem 0.5rem 0;
}

.update-content-more a::after {
    content: "";
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

@media (max-width:480px) {
    #update-content {
        margin: 0 0 3rem 0;
    }

    .update-category-gsdf,
    .update-category-notice,
    .update-category-release,
    .update-category-recruit {
        width: 120px;
        padding: 0;
    }
}

#content-content {
    margin: 0 auto 3rem auto;
}

#content-content h2 small {
    font-size: 14px;
    letter-spacing: 0;
    color: #333;
}

#content-content h2 {
    font-size: 32px;
    color: #0068b7;
    margin: 0 0 3rem 0;
    line-height: 1;
}

.content-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.content-header-more a {
    color: #315694;
    border-bottom: 1px solid;
    padding: 0 2rem 0 0;
    position: relative;
    font-weight: bold;
}

.content-header-more a::after {
    content: "";
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: .5rem;
    margin: auto;

}

.content-content-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.content-content-item {
    width: calc(100% / 2 - 2rem);
    margin: 0 0 4rem 0;
}

.content-single-item {
    width: 100%;
}

.content-content-item h3,
.content-single-item h3 {
    border-bottom: 2px solid;
    display: flex;
    padding: 0 0 1rem 0;
    margin: 0 0 1rem 0;
}

.content-content-item h3 img,
.content-single-item h3 img {
    margin: 0 1rem 0 0;
}

.content-content-item ul,
.content-single-item ul {
    margin-bottom: 2rem;
}

.content-single-item ul.content-single-2col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.content-content-item ul li,
.content-single-item ul li,
.publiction-content-list li,
.list-arrow {
    padding: 1rem 0;
    border-bottom: 1px solid #e1e1e1;
    position: relative;
}

.content-single-item ul.content-single-2col li {
    width: calc(100% / 2 - 2rem);
}

.content-content-item ul li.text-list {
    border: none;
}

.content-content-item ul li img {
    width: 100%;
}

.content-content-item ul li::after,
.content-single-item ul li::after,
.list-arrow::after {
    content: "";
    position: absolute;
    border-top: 1px solid #315694;
    border-right: 1px solid #315694;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
}

.content-content-item ul li.text-list::after,
.content-content-item ul li.media-list::after {
    display: none;
}

.content-content-item ul li a,
.content-single-item ul li a {
    color: #000;
    display: block;
    width: 85%;
    word-wrap: break-word;
    text-decoration: underline;
}

.content-content-item ul li.media-list a {
    margin: auto;
}

.content-single-item ul li img {
    vertical-align: sub;
    margin: 0 0 0 1rem;
}

@media (max-width:480px) {

    .content-content-item,
    .content-single-item {
        width: 100%;
        margin: 0 0 1rem 0;
    }

    .content-content-item ul li,
    .content-single-item ul li {
        font-size: 14px;
    }

    .content-single-item ul li img {
        vertical-align: sub;
        margin: 0 0 0 .5rem;
    }

    .content-single-item ul.content-single-2col li {
        width: 100%;
    }
}

/*--------------------------------------
Breadcrumb （パンくずリスト）
--------------------------------------*/
/*
.breadcrumb.inner {
    margin: 0 auto;
    font-size: 13px;
    word-break: keep-all;
    white-space: nowrap;
    overflow-x: auto;
    padding: 12px 0;
} 第2階層 パンくずリスト*/

.breadcrumb.inner,
.breadcrumb.c-inner { /*第3階層以降 パンくずリスト*/
    margin: 0 auto;
    font-size: 13px;
    word-break: keep-all;
    white-space: nowrap;
    overflow-x: auto;
    padding: 24px 0 5px 0;
}



@media (max-width:820px) {
    .breadcrumb.c-inner{
        -webkit-overflow-scrolling: touch;
        padding: 20px 10px 15px;
        margin: 0 0 5px 0;
    }

    .breadcrumb.inner {
        -webkit-overflow-scrolling: touch;
        padding: 12px 1rem;
    }
}


.breadcrumb ul,
.breadcrumb ol {
    display: flex;
    margin: 0;
}

.breadcrumb ul li,
.breadcrumb ol li {
    position: relative;
    padding: 0 0.5rem;
    margin: 0 1rem 0 0;
    line-height: 2;
}

.breadcrumb ul li:first-child,
.breadcrumb ol li:first-child {
    padding-left: 0;
}

.breadcrumb.inner ul li a,
.breadcrumb.inner ol li a {
    color: #0068b7;
    text-decoration: underline;
}

.breadcrumb ul li a,
.breadcrumb ol li a {
    color: #0068b7;
}

.breadcrumb ul li::after,
.breadcrumb ol li::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    right: -.6rem;
    margin: auto;
}

.breadcrumb ul li:last-child::after,
.breadcrumb ol li:last-child::after {
    content: "";
    border: none;
}

.breadcrumb ul li:last-child a,
.breadcrumb ol li:last-child a {
    color: #363636;
}

/*--------------------------------------
footer.html
--------------------------------------*/

.footer-link-content {
    background: #315694;
    padding: 3rem 0;
}

ul.local-navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

nav.sp-local-navigation {
    display: none;
}

ul.local-navigation>li {
    width: calc(100% / 4);
    border-left: 1px solid #FFF;
    margin: 0 0 2.5rem 0;
    padding: 0 0 2rem 0;
}


ul.local-navigation ul li {
    margin: 0 1rem .8rem;
    line-height: 1.2;
}

ul.local-navigation ul li a strong {
    display: inline-block;
    font-size: 16px;
    margin: 0 0 0.7rem 0;
}

ul.local-navigation ul li a {
    color: #FFF;
    font-size: 14px;
    text-decoration: underline;
}

ul.sns-content {
    display: flex;
    align-items: center;
    justify-content: end;
    margin: 0;
}

.footer-term-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.3rem 0 1.3rem 0;
}

.footer-term-content ul.footer-nav-sp {
    display: flex;
    align-items: center;
    margin: 0;
}

.footer-term-content ul.footer-nav-sp li {
    margin: 0 .7rem;
}

.footer-term-content ul.footer-nav-sp li a {
    color: #363636;
    font-size: 14px;
    font-weight: bold;
    text-decoration: underline;
}

ul.sns-content li {
    margin: 0 0.5rem;
}

ul.sns-content li img {
    min-width: 29px;
    min-height: 29px;
}

address {
    display: flex;
    justify-content: center;
    background: #0068B7;
    font-size: 12px;
    color: #FFF;
    font-style: normal;
    padding: .9rem 0 .9rem 0;
}


@media screen and (max-width:1150px) {
    ul.local-navigation {
        display: none;
    }

    nav.sp-local-navigation {
        display: flex;
        flex-direction: column;
    }

    .footer-link-content {
        padding: 1rem 0;
    }


    nav.sp-local-navigation ul {
        margin: 0 0 1.5rem 0;
    }

    nav.sp-local-navigation ul li {
        border-bottom: 1px solid #E0E0E0;
    }

    nav.sp-local-navigation ul li a {
        display: block;
        position: relative;
        font-size: 16px;
        font-weight: bold;
        color: #FFF;
        padding: 1rem 0;
    }

    nav.sp-local-navigation ul li a::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1rem;
        margin: auto;
        border-top: 1px solid #FFF;
        border-right: 1px solid #FFF;
        width: .4rem;
        height: .4rem;
        transform: rotate(45deg);
    }

    ul.sns-content {
        justify-content: center;
    }

    .footer-term-content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        padding: 1.3rem 0 1.3rem 0;
    }

    .footer-term-content ul.footer-nav-sp {
        flex-wrap: wrap;
        margin: 1rem 0;
    }

    .footer-term-content ul.footer-nav-sp li {
        margin: 0 1rem 0 1rem;
    }

    .footer-term-content ul.footer-nav-sp li a {
        color: #363636;
        font-size: 13px;
    }

    li.sns {
        width: 100%;
        padding: 2rem 0 0 0;
    }

    address {
        flex-direction: column;
        align-items: center;
    }
}

li.sns_text a {
    display: block;
    background: #E5EFF8;
    padding: 13px 20px 10px;
    border-radius: 10px;
    line-height: 1.3;
}

@media screen and (max-width: 1150px) {
    .footer-term-content ul.footer-nav-sp li.sns_text {
        width: 100%;
    }
    .footer-term-content ul.footer-nav-sp li.sns_text a {
        width: 100%;
        text-align: center;
        margin-top: 20px;
    }
}

/*--------------------------------------
    防衛白書
--------------------------------------*/

#publiction-content h2 {
    border-bottom: 1px solid;
    font-size: 2rem;
    margin: 0 0 2rem 0;
    color: #0068B7;
}

.publiction-text {
    margin: 0 0 4rem 0;
}

#publiction-content .content-header-more {
    text-align: right;
}

/* #publiction-child-content h3,
#publiction-about-content h3 {
    padding: 0 0 0 1rem;
    border-left: 2px solid #315694;
    font-size: 1.5rem;
    margin: 2rem 0;
} */

.publiction-content-item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#publiction-child-content {
    margin: 0 0 3rem 0;
}

.publiction-content-media {
    width: calc(50% - 1rem);
}

.publiction-content-media img {
    width: 100%;
    border: 1px solid #eee;
}

.publiction-content-text {
    width: calc(50% - 1rem);
}

.publiction-content-text p {
    margin: 0 0 2rem 0;
}

.publiction-content-link ul li a {
    display: block;
    padding: 1.5rem;
    margin: 0 0 1rem 0;
    text-align: left;
    color: #FFF;
    font-weight: bold;
    position: relative;
    background: #315694;
}

.publiction-content-link ul li a::before {
    content: "";
    width: 38px;
    height: 38px;
    background: #FFF;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
}

.publiction-content-link ul li a::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    color: #315694;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto;
}


.publiction-content-link ul li.enquete {
    width: 100%;
}

.publiction-archive {
    padding: 2rem 2rem 1rem 2rem;
    border: 1px solid #e1e1e1;
    margin: 0 0 5rem 0;
}

.content-section .publiction-archive h4 {
    font-size: 1.3rem;
    margin: 0 0 1rem 0;
    padding: 0;
    background: none;
}

.publiction-archive ul {
    /* display: flex; */
    flex-wrap: wrap;
    justify-content: start;
}

.publiction-archive ul li {
    margin: 0 0 1rem 0;
    /* width: calc(100% / 4 - 10px); */
}

.publiction-archive ul li a {
    padding: 0 1rem 0 0;
    color: #315694;
}

.publiction-archive ul li a::after {
    content: "";
    position: relative;
    display: inline-block;
    border-top: 1px solid #315694;
    border-right: 1px solid #315694;
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    top: 0;
    bottom: 0;
    left: 0.5rem;
    margin: auto;
}

.publiction-special-content ul {
    display: flex;
    justify-content: space-between;
}

.publiction-special-content ul li {
    width: calc(100% / 3 - 2rem);
}

.publiction-special-content ul li img {
    width: 100%;
    vertical-align: sub;
}

.publiction-special-content ul li a {
    color: #000;
    font-weight: bold;
}

.publiction-related-link {
    background: #315694;
    color: #FFF;
    padding: 3rem 0;
    margin: 0 0 5rem 0;
}

.related-link-more a {
    display: block;
    color: #FFF;
    border: 1px solid;
    padding: 1rem;
    width: 40%;
    margin: 1rem 0;
    font-weight: bold;
    position: relative;
}

.related-link-more a::after {
    content: "";
    position: absolute;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto;
}

.publiction-contact-us ul {
    display: flex;
    justify-content: space-between;
}

.publiction-contact-us ul li {
    width: calc(100% / 2 - 2rem);
    border: 2px solid;
    padding: 2rem;
}

.publiction-contact-us ul li.denshi {
    border: 2px solid #315694;
}

.publiction-contact-us ul li.content {
    border: 2px solid #8B4513;
}

.publiction-contact-us ul li h4 {
    background: none;
    text-align: center;
    padding: 0 0 1rem 0;
    margin: 0 0 1rem 0;
    position: relative;
    display: flex;
    flex-direction: column;
}

.publiction-contact-us ul li h4::after {
    content: "";
    height: 2px;
    width: 100px;
    background: #333;
    margin: 1rem auto 0 auto;
}

.publiction-contact-us {
    margin: 3rem 0 5rem 0;
}

@media (max-width:920px) {
    .publiction-content-item {
        flex-direction: column;
    }

    .publiction-content-media {
        width: 50%;
        margin: 1rem auto 2rem;
    }

    .publiction-content-text {
        width: 100%;
        margin: auto;
    }

    .publiction-special-content ul {
        flex-direction: column;
    }

    .publiction-special-content ul li {
        width: 100%;
        margin: 0 0 2rem 0;
    }

    .publiction-archive ul li {
        width: 100%;
    }

    .related-link-more a {
        width: 100%;
    }

    .publiction-contact-us ul {
        flex-direction: column;
    }

    .publiction-contact-us ul li {
        width: 100%;
        margin: 0 0 2rem 0;
    }
}

#page-top {
    width: 50px;
    height: 50px;
    background: #315694;
    position: fixed;
    bottom: 1rem;
    border: none;
    right: 1rem;
    border-radius: 50%;
    z-index: 9999;
    cursor: pointer;
    border: 1px solid #FFF;
}

#page-top::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #FFF;
    border-left: 1px solid #FFF;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.bc-upper-container {
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .bc-upper-container {
        margin: 0 auto;
    }
}

.pdfLink:after,
a.i-pdf::after,
span.i-pdf::after {
    content: url(../images/svg/component/pdf-icon.svg);
    margin: 0 8px;
    vertical-align: middle;
}

a.i-blank::after,
span.i-blank::after {
    content: url(../images/svg/component/blank-icon.svg);
    margin: 0 8px;
    vertical-align: middle;
}

.pc-only {display: block;}
.sp-only {display: none;}

@media (max-width:1099px) {
    .pc-only {display: none;}
    .sp-only {display: block;}
}

.sp-content {
    display: none;
}

@media (max-width:1099px) {
    .pc-content {display: none;}
    .sp-content {display: block;}
}

/*---------------------------/*---------------------------/*---------------------------/*---------------------------
/* linkIcons
/*---------------------------/*---------------------------/*---------------------------/*---------------------------*/
.pdfLink,
.excelLink,
.wordLink,
.rssLink,
.jpgLink,
.youtubeLink,
.textLink,
.externalLink,
.extarnalLink,
.warpLink {
    position: relative;
}

.youtubeLink {
    padding-right: 10px;
}

.pdfLink::after,
.excelLink::after,
.wordLink::after,
.rssLink::after,
.jpgLink::after,
.youtubeLink::after,
.textLink::after,
.externalLink::after,
.extarnalLink::after,
.warpLink::after {
    bottom: 0px;
    content: "";
    width: 20px;
    height: 1em;
    bottom: 1px;
    position: relative;
    display: inline-block;
}

.pdfLink {
    overflow: visible;
}

table td>a.pdfLink {
    display: inline-block;
}

.pdfLink::after {
    background: url(../images/svg/component/pdf-icon.svg) left center no-repeat;
    background-size: auto 100%;
}

.excelLink::after {
    background: url(../images/svg/component/icn_excel.gif) left center no-repeat;
    background-size: auto 100%;
}

.wordLink::after {
    background: url(../images/svg/component/icn_word.gif) left center no-repeat;
    background-size: auto 100%;
}

.rssLink::after {
    background: url(../images/svg/component/icn_rss.gif) left center no-repeat;
    background-size: auto 100%;
    margin-left: 2px;
}

.jpgLink::after {
    background: url(../images/svg/component/icn_fig.gif) left center no-repeat;
    background-size: auto 100%;
}

.youtubeLink::after {
    background: url(../images/svg/component/icn_youtube.png) right center no-repeat;
    background-size: contain;
}

.externalLink::after,
.extarnalLink::after {
    /* 過去コンテンツにおけるスペルミスを包含 */
    background: url(../images/svg/component/blank-icon.svg) left center no-repeat;
    background-size: auto 100%;
    margin-left: 3px;
}

.is-w::after,
.is-w::after {
    /* 過去コンテンツにおけるスペルミスを包含 */
    background: url(../images/svg/component/icn_link_w.gif) left center no-repeat;
    background-size: auto 100%;
}

.Linkarrow {
    background: url(../images/svg/component/icn_more.png) left center no-repeat;
    padding: 2px 0px 2px 25px;
}
a.Linkarrow {
    background: url(../images/svg/component/icn_more.png) left center no-repeat;
    padding: 2px 0;
}

.anchorarrow {
    /* ページ内リンク（アンカー）時に使用　※20211213追加 */
    background: url(../images/svg/component/icn_anchor.png) left center no-repeat;
    padding: 2px 0px 2px 25px;
}

.textLink::after {
    background: url(../images/svg/component/icn_text.png) left center no-repeat;
    background-size: auto 100%;
}

.warpLink::after {
    background: url(../images/svg/component/blankwrap-icon.svg) left center no-repeat;
    background-size: auto 100%;
    padding: 2px 0px 2px 0px;
    margin-left: 5px;
    position: relative;
    top: 7px;
}


/* textDecoration
/*---------------------------*/
.td-kasen,
.kasen {
    text-decoration: underline;
}

/* 単純な下線 */
.td-kasen-nijyu {
    text-decoration-line: underline;
    text-decoration-style: double;
}

/* 二重下線 IE11はNGの模様 */
.td-kasen-nami {
    text-decoration-line: underline;
    text-decoration-style: wavy;
}

/* 波下線  IE11はNGの模様 */
.td-torikeshi {
    text-decoration: line-through;
}

/* common */
.pos-rerative {
    position: relative !important;
}

/* width */
.mw-1290 {
    max-width: 1290px;
    margin: 0 auto 80px auto;
}

.w-1290 {
    width: 1290px;
    margin: 0 auto;
}

@media screen and (max-width: 1290px) {
    .w-1290 {
        width: 100%;
    }
}

/* フォントサイズ */
.fs-115 {
    font-size: 1.15em !important;
}

.fs-85 {
    font-size: 0.85em !important;
}

.fs-80 {
    font-size: 0.8em !important;
}

/* フォント太さ */
.fw-bold {
    font-weight: bold;
}

.fw-normal {
    font-weight: normal;
}

/* フォント色 */
.fc-red {
    color: #e50000;
    font-weight: bold;
}

.fc-green {
    color: #006600;
    font-weight: bold;
}

.fc-blue {
    color: #0066cc;
    font-weight: bold;
}

.fc-gray {
    color: #999;
    font-weight: bold;
}

/* 背景色 */
.bgc-gray {
    background-color: #eee;
}

.bgc-yellow {
    background-color: #dcdc00
}

/* 文字寄せ */
.ta-left {
    text-align: left !important;
}

.ta-right {
    text-align: right !important;
}

.ta-center {
    text-align: center !important;
}

#closeup {
    margin-top: 30px;
}

#closeup p {
    border: 1px solid rgb(252, 0, 0);
    background: none;
    padding: 30px;
}

ul.Listarrow {
    position: relative;
    padding: 0 0 0 24px;
    margin: 0 0 8px 0;
}
ul.Listarrow li {
    line-height: 2;
}

ul.Listarrow li::before {
    content: "";
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    width: 4px;
    height: 4px;
    position: absolute;
    top: 12px;
    bottom: inherit;
    left: -1.2rem;
    margin: auto;
    transform: rotate(45deg);
    z-index: 999;
}

ul.Listarrow li::after {
    content: "";
    width: 16px;
    height: 16px;
    background: #315694;
    border-radius: 50%;
    position: absolute;
    top: 6.5px;
    left: -1.5rem;
    margin: auto;
}

/*-------------------
dousei
--------------------*/


.dousei .detail-page ul {
    list-style-type: none !important;
}

.content-section h2 {
    margin: 60px 0 40px 0;
    padding: 0 0 12px 0;
    border-bottom: 2px solid;
    color: #0068B7;
    font-size: 28px;
}

/* TABS SECTION｜お知らせ・更新情報 */
.tabs-section {
    margin-bottom: 30px;
}

.tab-labels-container {
    display: flex;
    white-space: nowrap;
    overflow-x: auto;
    position: relative;
    width: auto;
}

.tab-labels h2 {
    border: none;
    font-size: 16px;
}

.tab-labels {
    font-weight: bold;
    color: #315694;
    background: #EAEEF4;
    font-size: 14px;
    border-top: 1px solid #adadad;
    border-left: 1px solid #adadad;
    border-right: 1px solid #adadad;
    border-bottom: none;
    border-radius: 5px 5px 0 0;
    outline: none;
    cursor: pointer;
    padding: 10px 20px 10px;
    transition: 0.3s;
    position: relative;
}

.tab-labels.active {
    background: #315694;
    color: #fff;
}

.tab-labels-container .tab-labels>span,
.tab-labels-container h2,
.tab-labels-container h3 {
    background: none;
    border-left: 0;
    padding: 0px;
    margin: 0;
    color: #315694 !important;
}

.tab-labels-container.tour_tabmenu_big .tab-labels>span {
    font-weight: normal;
    font-size: 1em;
    background: none;
    border-left: 0;
    padding: 0px;
    margin: 0;
    color: #000 !important;
}

.tab-labels-container .tab-labels.active h3,
.tab-labels-container .tab-labels.active,
.tab-labels-container .tab-labels.active>span,
.tab-labels-container.tour_tabmenu_big .tab-labels.active>span {
    color: #fff !important;
}

.tab-labels.active:after {
    width: 80%;
    left: 10%;
    padding-left: 1px;
}

.tab-labels span {
    display: block;
}
.tab-labels:focus {
    border-top: 3px solid #315694;
    border-left: 3px solid #315694;
    border-right: 3px solid #315694;
    opacity: 0.8;
}

.tab {
    display: none;
    padding: 30px 20px;
    border: 1px solid #adadad;
    animation: fade .4s ease-in 1;
    -webkit-animation: fade .4s ease-in 1;
}


#top-tab .tab,
#top-tab .tab-labels {
    background-color: #fafafa;
}

.rss_icon {
    vertical-align: middle;
    margin: 0 3px;
    line-height: 10%;
}

.tab .news {
    margin: 0;
    padding: 0;
    list-style: none;
}

@media screen and (min-width: 768px) {

    .detail-page .fake .tab .col-1-2:nth-child(2) h3,
    .detail-page .fake .tab .col-1-2:nth-child(1) h3 {
        margin-top: 0px;
    }
}

.detail-page ul.update.news_ul,
.detail-page ul.news.news_ul {
    padding: 0 0 0 1.5em;
}

.see-more-items {
    text-align: right;
    margin: 5px 0 10px;
    font-size: 0.9em;
}

.see-more-items a:hover {
    opacity: 0.8;
}

.detail-page section {
    position: relative;
}

.detail-page .see-more-items {
    position: absolute;
    top: 12px;
    right: 0;
}

.news-tabs-header {
    text-align: center;
    cursor: pointer;
    margin-bottom: 30px;
}

.news-tabs-header.active {
    margin-bottom: 0;
}

.news-tabs-header:hover {
    opacity: 0.8;
}

.news-tabs-header:after {
    background-repeat: no-repeat;
    background-size: 40px auto;
    background-position: center 9px;
    background-color: #f0f0f0;
    height: 36px;
    margin-top: 6px;
    cursor: pointer;
    content: "";
    display: block;
    transition: all 0.5s ease-in-out;
}

.news-tabs-header.active:after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.bg-gray {
    background: #F7F7F7;
}

/*--------------*/
/* font-size 
/*--------------*/
.fs-s {
    font-size: 0.8em;
}
.fs-m {
    font-size: 1em;
}
.fs-l {
    font-size: 1.3em;
}



/*--------------*/
/* Flex 
/*--------------*/
[class*='flex-'] {
    margin: 1em 1em 0 0;
}
[class*='flex-'].c-inner {
    margin: auto;
}

#contentslist [class*='flex-']:not(.flex-wrap) {
    padding: 1em;
}

.flex-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.flex-100 {
    width: calc(100%);
}

.flex-1-2 {
    width: calc(50% - 1.32em)
}

.flex-1-3 {
    width: calc(33% - 1em);
}

.flex-2-3 {
    width: calc(66% - 1em);
}

.flex-1-4 {
    width: calc(25% - 1em);
}

.flex-2-4 {
    width: calc(50% - 1em);
}

.flex-3-4 {
    width: calc(75% - 1em);
}

.flex-1-5 {
    width: calc(20% - 1em);
}

.flex-2-5 {
    width: calc(40% - 1em);
}

.flex-3-5 {
    width: calc(60% - 1em);
}

.flex-4-5 {
    width: calc(80% - 1em);
}

.flex-1-6 {
    width: calc(16.66% - 1em);
}

.flex-2-6 {
    width: calc(33% - 1em);
}

.flex-3-6 {
    width: calc(50% - 1em);
}

.flex-4-6 {
    width: calc(66% - 1em);
}

.flex-5-6 {
    width: calc(83.33% - 1em);
}

.flex-1-8 {
    width: calc(12.5% - 1em);
}

.flex-2-8 {
    width: calc(25% - 1em);
}

.flex-3-8 {
    width: calc(37.5% - 1em);
}

.flex-4-8 {
    width: calc(50% - 1em);
}

.flex-5-8 {
    width: calc(62.5% - 1em);
}

.flex-6-8 {
    width: calc(75% - 1em);
}

.flex-7-8 {
    width: calc(87.5% - 1em);
}

.flex-3-10 {
    width: calc(30% - 1em);
}

.flex-7-10 {
    width: calc(70% - 1em);
}

.flex-1-4.no-border {
    border: none;
}

[class*='flex-'],
[class*='pr-'],
[class*='pl-'],
[class*='pt-'],
[class*='pb-'] {
    box-sizing: border-box;
}

.flex-wrap {
    margin-right: -1em;
}

@media (max-width:767px) {
    [class*='flex-']{
        width: 100%;
        display: block;
    }
    
    .flex-wrap {
        margin-right: -1em;
    }
    .flex-wrap img {
        max-width: 100%;
    }
}
div.type--link,
h2.type--link,
h3.type--link,
h4.type--link {
    /* 見出しタグ（リンクタイプ） */
    font-size: 1em;
    border: 1px solid #adadad;
    border-color: #adadad;
    margin: 1em 1rem 0 0.5rem;
    background: url("../images/jpeg/bg_arrow2.gif") center left no-repeat;
    color: inherit;
    font-weight: bold;
}
h2.type--link, h3.type--link, h4.type--link, div.type--link {
    font-size: 1em;
    border: 1px solid;
    margin: 1em 0 0 0;
    padding: 0.5em 0.5em 0.5em 2em;
    background: url(../images/jpeg/bg_arrow2.gif) center left no-repeat;
    color: inherit;
    font-weight: bold;
}
div.type--link a,
h2.type--link a,
h3.type--link a,
h4.type--link a {
    /* 見出しタグ（リンクタイプ） */
    width: 100%;
    display: block;
}

[class*='flex-'] .type--link {
    margin: 0;
}


/* Grid 
/*--------------*/
[class*='col-'] {
    float: left;
    margin: 1em 1em 0 0;
}

.col-100 {
    width: 100%;
}

.col-1-2 {
    width: calc(50% - 1em);
}

.col-1-3 {
    width: calc(33% - 1em);
}

.col-2-3 {
    width: calc(66% - 1em);
}

.col-1-4 {
    width: calc(25% - 1em);
}

.col-2-4 {
    width: calc(50% - 1em);
}

.col-3-4 {
    width: calc(75% - 1em);
}

.col-1-5 {
    width: calc(20% - 1em);
}

.col-2-5 {
    width: calc(40% - 1em);
}

.col-3-5 {
    width: calc(60% - 1em);
}

.col-4-5 {
    width: calc(80% - 1em);
}

.col-1-6 {
    width: calc(16.66% - 1em);
}

.col-2-6 {
    width: calc(33% - 1em);
}

.col-3-6 {
    width: calc(50% - 1em);
}

.col-4-6 {
    width: calc(66% - 1em);
}

.col-5-6 {
    width: calc(83.33% - 1em);
}

.col-1-8 {
    width: calc(12.5% - 1em);
}

.col-2-8 {
    width: calc(25% - 1em);
}

.col-3-8 {
    width: calc(37.5% - 1em);
}

.col-4-8 {
    width: calc(50% - 1em);
}

.col-5-8 {
    width: calc(62.5% - 1em);
}

.col-6-8 {
    width: calc(75% - 1em);
}

.col-7-8 {
    width: calc(87.5% - 1em);
}

.col-3-10 {
    width: calc(30% - 1em);
}

.col-7-10 {
    width: calc(70% - 1em);
}

.detail-page .col-1-2.type--link {
    width: calc(50% - 1em);
    margin: 1em 1em 0 0;
    box-sizing: border-box;
}

/* widthLimit
/*--------------*/
.w-30 {
    max-width: 30% !important;
}

/* paddigSet
/*--------------*/
.pt-0 {
    padding-top: 0px !important;
}

.pr-0 {
    padding-right: 0px !important;
}

.pb-0 {
    padding-bottom: 0px !important;
}

.pl-0 {
    padding-left: 0px !important;
}

.pt-10 {
    padding-top: 10px !important;
}

.pr-10 {
    padding-right: 10px !important;
}

.pb-10 {
    padding-bottom: 10px !important;
}

.pl-10 {
    padding-left: 10px !important;
}

.pt-20 {
    padding-top: 20px !important;
}

.pr-20 {
    padding-right: 20px !important;
}

.pb-20 {
    padding-bottom: 20px !important;
}

.pl-20,
.pl20 {
    padding-left: 20px !important;
}

.pt-40 {
    padding-top: 40px !important;
}

.pr-40 {
    padding-right: 40px !important;
}

.pb-40 {
    padding-bottom: 40px !important;
}

.pl-40,
.pl40 {
    padding-left: 40px !important;
}

.pt-50 {
    padding-top: 50px !important;
}

.pr-50 {
    padding-right: 50px !important;
}

.pb-50 {
    padding-bottom: 50px !important;
}

.pl-50 {
    padding-left: 50px !important;
}

.pt-60 {
    padding-top: 60px !important;
}

.pr-60 {
    padding-right: 60px !important;
}

.pb-60 {
    padding-bottom: 60px !important;
}

.pl-60 {
    padding-left: 60px !important;
}

.pt-80 {
    padding-top: 80px !important;
}

.p-10 {
    padding: 10px !important;
}

.p-20 {
    padding: 20px !important;
}

/* marginSt
/*--------------*/
.mt-2em {
    margin-top: 2em !important;
}

.mr-2em {
    margin-right: 2em !important;
}

.mb-2em {
    margin-bottom: 2em !important;
}

.ml-2em {
    margin-left: 2em !important;
}

.mt-0 {
    margin-top: 0px !important;
}

.mr-0 {
    margin-right: 0px !important;
}

.mb-0 {
    margin-bottom: 0px !important;
}

.ml-0 {
    margin-left: 0px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mr-10 {
    margin-right: 10px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.ml-10 {
    margin-left: 10px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.ml-20 {
    margin-left: 20px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mr-30 {
    margin-right: 30px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.ml-30 {
    margin-left: 30px !important;
}

.mt-40 {
    margin-top: 40px !important;
}

.mr-40 {
    margin-right: 40px !important;
}

.mb-40 {
    margin-bottom: 40px !important;
}

.ml-40 {
    margin-left: 40px !important;
}

.mt-50 {
    margin-top: 50px !important;
}

.mr-50 {
    margin-right: 50px !important;
}

.mb-50 {
    margin-bottom: 50px !important;
}

.ml-50 {
    margin-left: 50px !important;
}

.mt-60 {
    margin-top: 60px !important;
}

.mr-60 {
    margin-right: 60px !important;
}

.mb-60 {
    margin-bottom: 60px !important;
}

.ml-60 {
    margin-left: 60px !important;
}
.mt-80 {
    margin-top: 80px !important;
}
.mt-100 {
    margin-top: 100px !important;
}

.m-auto {
    margin: 0 auto !important;
}

.lh-14 {
    line-height: 1.4 !important;
}

@media screen and (max-width: 767px) {

    /* SPonly paddingSet
/*--------------*/
    .sp-pt-0 {
        padding-top: 0px !important;
    }

    .sp-pr-0 {
        padding-right: 0px !important;
    }

    .sp-pb-0 {
        padding-bottom: 0px !important;
    }

    .sp-pl-0 {
        padding-left: 0px !important;
    }

    .sp-pt-10 {
        padding-top: 10px !important;
    }

    .sp-pr-10 {
        padding-right: 10px !important;
    }

    .sp-pb-10 {
        padding-bottom: 10px !important;
    }

    .sp-pl-10 {
        padding-left: 10px !important;
    }

    .sp-pt-20 {
        padding-top: 20px !important;
    }

    .sp-pr-20 {
        padding-right: 20px !important;
    }

    .sp-pb-20 {
        padding-bottom: 20px !important;
    }

    .sp-pl-20 {
        padding-left: 20px !important;
    }

    /* SPonly marginSet
/*--------------*/
    .sp-mt-0 {
        margin-top: 0px !important;
    }

    .sp-mr-0 {
        margin-right: 0px !important;
    }

    .sp-mb-0 {
        margin-bottom: 0px !important;
    }

    .sp-ml-0 {
        margin-left: 0px !important;
    }

    .sp-mt-10 {
        margin-top: 10px !important;
    }

    .sp-mr-10 {
        margin-right: 10px !important;
    }

    .sp-mb-10 {
        margin-bottom: 10px !important;
    }

    .sp-ml-10 {
        margin-left: 10px !important;
    }

    .sp-mt-20 {
        margin-top: 20px !important;
    }

    .sp-mr-20 {
        margin-right: 20px !important;
    }

    .sp-mb-20 {
        margin-bottom: 20px !important;
    }

    .sp-ml-20 {
        margin-left: 20px !important;
    }
}


