﻿
* { 
    margin: 0px; 
    padding: 0px; 
}
/*
 Template: twentytwentyone
 Theme Name: twentytwentyone-child
*/
/* A Modern CSS Reset */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

/* common */

*,*::before,*::after { box-sizing: border-box;}

ul,ol { padding: 0;}
body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,figcaption,blockquote,dl,dd { margin: 0;}

p {  margin-block-start: 0; margin-block-end: 0;}

body {
    min-height: 100vh;
    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
    font-family: 'Noto Sans JP', sans-serif!important;
    line-height: 1.5;
    overflow-x: hidden;
}

ul,ol { list-style: none;}
li { list-style-type: none;}

a {
    text-decoration: none;
    text-decoration-skip-ink: auto;
}

img { width: 100%; display: block; height: auto;}


article > * + * {margin-top: 0;}

input,button,textarea,select { font: inherit;}



/* contents_common */
section { margin-bottom: 50px;}

.content, #main,.site {max-width: 1440px;margin: auto;overflow: hidden;position: relative;}

.content,.content a,
.tit-area{ color: #261E47;}

.title_a {
    text-align: center;
    font-size: 18px;
    position: relative;
    font-family: 'Sawarabi Mincho', sans-serif;
    font-weight: normal;
}

.title_a:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 1px;
  content: '';
  background: #261E47;
}
.mb-30 { margin-bottom: 15px;}
.mb-80 { margin-bottom: 20px;}

.more-info { }
.more-info ul { display: flex;}
.more-info dl {
    display: table;
    text-align: center;
    margin: auto;
    position: relative;
    padding: 2em 1.5em;
}
.more-info dt {}
.more-info dd { font-size: 10px;}
.more-info a {}

.more-info dl:before,
.more-info dl:after{
	content:"";
	display:block;
	position:absolute;
}
.more-info dl:before{
	border-right: 1px solid #261E47;
	border-top: 1px solid #261E47;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	width:8px;
	height:8px;
	right:0;
	top:50%;
	margin-top:-4px;
}
.more-info dl:after{
	width:12px;
	border-bottom: 1px solid #261E47;
	right:0;
	top:50%;
}

@media screen and (max-width: 960px){
    body { font-size: 12px;}

}

@media screen and (max-width: 1200px){
    .content { width: 95%;}
    .title_a { margin-bottom: 30px;padding: 0 10px;}

}
/* header */
@media screen and (min-width: 640px){
    .sp-br { display: none;}
}

@media screen and (min-width: 960px){
    body { font-size: 14px;}
    section {margin-bottom: 150px;}
    a:hover,a span:hover,a:hover img { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )";}
    .title_a {font-size: 24px;margin-bottom: 80px;}
    .more-info dt { display: table-cell; vertical-align: middle;}
    .more-info dd { display: table-cell; vertical-align: middle;  padding-left: 1em;}
    .mb-30 { margin-bottom: 30px;}
    .mb-80 { margin-bottom: 80px;}
}

/* header */

.site header {
    top: 0;
    right: 0;
    position: absolute;
    z-index: 9999;
    width: 35%;
}

header #header_wrapper {
    background: rgba(38,30,71, 0.95);
    position: relative;
    height: 110vw;
}


header.news_haeder #header_wrapper {background: rgba(235,130,88, 0.95);}

/* --- システムページslider画像指定 ----------------- */
.system-page .slide_a .src01 { background-image: url( "../image/slider_001.jpg"); background-position: center top;}
.system-page .slide_a .src02 { background-image: url( "../image/slider_002.jpg"); background-position: center top;}
.system-page .slide_a .src03 { background-image: url( "../image/slider_003.jpg"); background-position: center top;}


/*
メニューボタン
-------------------------------------------*/

.menu_btn {
	display: block;
	height: 30px;
	width: 40px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	position: absolute;
	z-index: 5000;
	top: 9px;
	right: 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	cursor: pointer;
}
.menu_btn:hover {
	cursor: pointer;
}

.menu_btn span {
	width: 28px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -14px;
	background-color: #FFF;
    transition: all 0.3s;
    transform: rotate(0deg);
	-webkit-transform: rotate(0deg);  
    -moz-transform: rotate(0deg);
    background-color: #FFF;
  }

.menu_btn.opened span {  background-color: #555;}

.menu_btn span.top {




    transform: translateY(-8px);
	-webkit-transform: translateY(-8px);  
    -moz-transform: translateY(-8px);    
  }
.menu_btn span.bottom {
    transform: translateY(8px);
	-webkit-transform: translateY(8px);  
    -moz-transform: translateY(8px);    
}


.menu_btn:hover span.top {
    transform: translateY(-10px);
	-webkit-transform: translateY(-10px);  
    -moz-transform: translateY(-10px);    
}

.menu_btn:hover span.bottom {
    transform: translateY(10px);
	-webkit-transform: translateY(10px);  
    -moz-transform: translateY(10px);    
}


.menu_btn.opened  span.middle {
    background: rgba(255, 255, 255, 0);
	 transform: translateX(30px);
	 -webkit-transform: translateX(30px);  
    -moz-transform: translateX(30px);    
}
.menu_btn.opened  span.top {
    transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);  
    -moz-transform: rotate(-45deg) translateY(0px);    
}
.menu_btn.opened  span.bottom {
    transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);  
    -moz-transform: rotate(45deg) translateY(0px);    
}

/*
グローバルナビ
-------------------------------------------*/
#g_navi .icon { margin-top: 30px; padding-left: 30px;}
#g_navi .icon a {font-size: 23px;color: #261E47;margin-right: 12px;}

@media screen and (min-width: 960px){
    #g_navi .icon {padding-left: 60px;}
    #g_navi .icon a {color: #FFF;}
}

/*
メニューシャドウ
-------------------------------------------*/
.bg_bl {
	background-color: #FFF;
	height: 100%;
	width: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	display: block;
	position: fixed;
	z-index: 2000;
}


/*header
-------------------------------------------*/
#logo{margin: auto;padding: 25vw 0 0;}
#logo a {
    background-image: url("../image/logo.png");
    forced-color-adjust: none;
    display: block;
    background-repeat: no-repeat;
    height: 0;
    padding-bottom: 46%;
    width: 80px;
    margin: 0 auto;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}



@media screen and (max-width: 960px){
/*header
-------------------------------------------*/

#logo a {
    width: 35%;
    background-size: contain;
}

/*
グローバルナビ
-------------------------------------------*/
#g_navi {
	position: fixed;
	width: 90%;
	height: 100%;
	top: 0px;
	left: 100%;
	padding-top: 50px;
	overflow: auto;
	z-index: 3000;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	font-size: 14px;
	letter-spacing: 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

    .navi_base { overflow: hidden; border-top: 1px solid #ccc;}
    .navi_base li { border-bottom: 1px solid #ccc;}
    .navi_base li a {
        color: #000;
        padding: 13px 75px 13px 29px;
        display: block;
        position: relative;
    }
    .navi_base li a::before {

        z-index: 5;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
        left: 10px;
        width: 6px;
        height: 6px;
        border-top: 1px solid #0B3589;
        border-right: 1px solid #0B3589;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
}

@media screen and (min-width: 960px){
    #logo{padding: 55px 0 40px;}
    
    .menu_btn, .btn_close { display: none;}

    .navi_base { overflow: hidden;}
    .navi_base li {}
    .navi_base li a {
        color: #FFF;
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 22px 22px;
        padding: 7px 0 7px 60px;
        display: block;
    }
    
    .navi_base li a span {
        background-repeat: no-repeat;
        background-position: left center;
        
    }
    
    .navi_base li:first-child a span { }
    .navi_base li:nth-child(2) a span { }
    .navi_base li:nth-child(3) a span { }
    .navi_base li:nth-child(4) a span { }
    .navi_base li:nth-child(5) a span { }
    

}

/* --- slider ------------------------------------------- */

.slide_a,.slide_a li {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 110vw;
  margin: 0;
  text-decoration: none;
}

@media screen and (min-width: 1024px) {
    .slide_a,.slide_a a,.slide_a li,.slick-list,.slick-track{height: 800px;}
}

.slide_a { overflow: hidden;}

.slide_a .slick-dots {
    bottom: 4%;
    z-index: +1;
}



.slide_wrapper {position: relative;}
.slide_wrapper .box_tit {
    position: absolute;
    z-index: 30;
    left: 3%;
    text-align: center;
    bottom: 3%;
    background-color: rgb(0 0 0 / 50%);
    padding: 25px 10px;
}

/*bank_link
-------------------------------------------*/
.bank_link {
    border-bottom: 1px solid #261e47;
    font-size: 12px;
    padding: 0 0 3px;
    clear: both;
}
.bank_link a {
    position: relative;
    display: block;
}

.bank_link a:before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url(../image/blank_link.png);
  background-repeat: no-repeat;
  background-size: 100%;
  vertical-align: middle;
}

.bank_link a span { margin-left: 0.5em;}

@media screen and (min-width: 960px){
    .bank_link { float: right;}
}

/*-------------------------------------------
footer
-------------------------------------------*/
footer {
    border-top: 1px solid #261e47;
    position: relative;
    color: #261E47;
}

footer a {color: #261E47;}

.footer_wrapper {  margin: auto;}


.footer_main {position: relative;overflow: hidden;}
.footer_logo a {
    background-image: url("../image/logo_footer.jpg");
    forced-color-adjust: none;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
}

.footer_logo,.footer_logo a{
    height: 86px;
    width: 60px;
    margin: 20px auto;
}


.footer_link a { font-size: 12px;}

.footer_icon a { font-size: 20px;}

.footer_icon {display: flex;flex-wrap: wrap;justify-content: center;align-items: center;}.footer_icon li {
    margin: 10px;
}


.copyright {
    font-size: 11px;
}

.copyright span { display: block; margin-bottom: 0.5em;}

.to_top {
  position: fixed;
  bottom: 7%;
  right: 3%;
  width: 35px;
  height: 35px;
  border-radius: 19%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(38,30,71, 0.9);
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.to_top a {
  text-decoration: none;
  color: black;
}

.to_top span {
    display: block;
    position: relative;
}

.to_top span::after {
    width: 16px;
    height: 16px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 7px;
    left: 0;
    right: 0;
    margin: auto;
    content:
    "";
    vertical-align: middle;
}


@media screen and (max-width: 1027px){
    .footer_wrapper { width: 95%;}
}

@media screen and (max-width: 960px){
    
    
    .footer_link { margin-top: 10px;}
    .footer_link li {
    text-align: center;
    padding: 5px;
    }
    
    .copyright {
        margin: 20px calc(50% - 50vw) 0;
        border-top: 1px solid #B5B5B6;
        padding: 20px;
        text-align: center;
    }
    .footer_link li.icon {}

}

@media screen and (min-width: 960px){
    .footer_main {display: flex;flex-wrap: wrap;align-items: center;}
    
    .footer_link {}
    .footer_link {overflow: hidden;margin-left: 100px;display: flex;flex-wrap: wrap;align-items: center;}
    .footer_link li {margin-left: 25px;position: relative;}
    .footer_link li:first-child {margin-left: 0;}    
    .footer_icon li {margin: 0 0 0 20px;}   
    
    .footer_wrapper {
    max-width: 1000px;
    margin: auto;
    padding: 25px 0 40px;
}
    .copyright {margin-left: auto;}
    .copyright span { display: inherit; margin-right: 1em; margin-bottom: 0;}

}




/*-------------------------------------------
一覧・詳細ページ
-------------------------------------------*/
 .content { margin-bottom: 100px;}

.detail,.nav-links { max-width: 95%; margin: auto; font-size: 12px;}
.detail .tit-area {
    text-align: center;
    position: relative;
    padding: 1em 0;
    border-top: 2px solid #261E47;
    border-bottom: 1px solid #261E47;
    margin-bottom: 16px;
}

.detail .tit-area .deta {padding-bottom: 0.5em;}

.detail .tit-area h1 {font-size: 14px;width: 75%;margin: auto;}

@media screen and (min-width: 960px){
    .detail .tit-area .deta {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        font-size: 12px;
        height: fit-content;
        padding: 0;
        border: none;
    }
}

.single-news .pic { margin-bottom: 20px;}

.single-news .text {
    max-width: 700px;
    margin: 0 auto 20px;
    line-height: 2;
}


.single-news .editor {max-width: 860px;}

.single-news .editor iframe{}


.Box {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin-bottom: 20px;
}
.Box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*-------------------------------------------
cardlin
-------------------------------------------*/

.cardlink ul {
    max-width: 1200px;
    margin: auto;
    flex-wrap: wrap;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: top;
}

.cardlink li {

    /* paddingと合わせてbox-sizingも指定 */
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    margin-bottom: 2em;
}

/* 最後のコンテンツを左寄せにする指定 */
.cardlink ul:after {
    content: "";
    display: block;
    height: 0;
}

.cardlink li,.cardlink ul:after {width: 49%;}

.cardlink li a { display: block;}
.cardlink li dt {
    margin-bottom: 0.5em;
}
.cardlink li dd {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cardlink li dd span {
    margin-right: 1em;
    font-size: 12px;
    display: block;
}

.site-content .cardlink { margin-bottom: 100px;}

.cate-card {
    display: inline-block;
    border: 1px solid #261E47;
    font-size: 10px;
    padding: 0.3em 0.8em;
    margin: 0.5em 0.5em 0 0;
    border-radius: 10px;
}

.cate-list { max-width: 1200px; margin: auto;border-top: 1px solid #261e47; padding-top: 1.5em;}

.cate-list p{ font-weight: bold;}
.cate-list ul{ }
.cate-list li{
    display: inline-block;
    border: 1px solid #261E47;
    font-size: 10px;
    padding: 0.3em 0.8em;
    margin: 1em 0.5em 0 0;
    border-radius: 10px;
}

.term_title { max-width: 1200px; text-align: center; border-bottom: 1px solid #000; border-top: 1px solid #000; margin: 25px auto; padding: 20px ;}

@media screen and (min-width: 960px){
    .cardlink li,.cardlink ul:after { width: 31.667%;}
    .cardlink li dd span {display: inline-block;}
    
    .cate-card {
        font-size: 12px;
        padding: 0.4em 1em;
        margin: 1em 0.5em 1em 0;
    }
    .cate-list li {
        font-size: 12px;
        padding: 0.4em 1em;
        margin: 1em 0.5em 1em 0;
    }
    .term_title { font-size: 16px; margin: -35px auto 35px ;}
}

/*-------------------------------------------
システム分調整
-------------------------------------------*/
.no-results {
    padding: 150px 0;
    text-align: center;
    line-height: 3;
}

.no-results .page-content{display: none;}

.nav-links a {
    color: #EB8258;
    text-decoration: underline;
}

.nav-links {
    overflow: hidden;
    margin: 60px auto;
    border-top: 1px solid #040304;
    padding-top: 3em;
}
.nav-links .nav-previous {
    float: right;
}
.nav-links .nav-next {
    float: left;
}

.page-404 {
    padding: 200px 0;
    text-align: center;
    font-size: 140px;
    color: #0a3589;
    line-height: 1;
}

.page-404 span {
    display: block;
    font-size: 44px;
}

.form-btn a {display: block;color: #0F347E;text-align: center;text-decoration: none!important;border: 3px solid #0F347E;font-weight: bold;padding: 10px 0;font-size: 24px;margin: 30px 0 50px;background: #fff;width: 100%;}

/*-------------------------------------------
btn_contact
-------------------------------------------*/
.btn_contact {position: relative;background: #261E47;}
.btn_contact a {
    display: block;
    background-image: url(../image/btn_contact.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    padding-bottom: 22%;
}

.btn_contact p {position: absolute;line-height: 1;top: 0;bottom: 0;margin: auto;left: 6%;color: #fff;height: max-content;font-size: 16px;font-family: 'Sawarabi Mincho', sans-serif;}
.btn_contact p span {
    display: block;
    font-size: 12px;
    margin-top: 10px;
    border: 1px solid #FFF;
    padding: 0.5em;
}

@media screen and (min-width: 960px){
    .btn_contact a {padding-bottom: 12.5%;background-position: center right;}
}


/*-------------------------------------------
CSSアニメーションの指定
-------------------------------------------*/

.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition:all 1s;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

.title_a.scrollin {letter-spacing: 0.3em;}

.slow-in {
    opacity : 0;
    transform : translate(0, 50px);
    transition:all 10s;
}
.slow-in.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}



.left_in{ animation: SlideIn 1.6s;}





/* CSSアニメーションの設定 */
@keyframes SlideIn {
    0% {
        opacity: 0;/*初期状態では透明に*/
        transform: translateX(60px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }    
}

@keyframes TopInslow {
    0% {
        opacity: 0;/*初期状態では透明に*/
        transform: translateY(-60px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }    
}





.slider { position: relative;}
.slider .top_text {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    background: rgba(255,255,255, 0.95);
    height: fit-content;
    padding: 6% 3% 6% 8%;
    width: 47%;
}

.top_text .read {
    margin-bottom: 10px;
    color: #261E47;
    letter-spacing: 0.05em;
    font-size: 1.5em;
    font-weight: bold;
}



.top_text li {
    font-size: 12px;
    color: #261E47;
    line-height: 2;
    font-weight: bold;
}

.system-page .top_text .read,
.system-page .top_text li { color: #ff9870;}

.news_header-kv {
    background-image: url("../image/news_header.png");
    background-size: auto;
    width: 100%;
    display: block;
    height: 500px;
}

@media screen and (max-width: 960px){
    .slider .top_text {padding: 8% 3%;width: 60%;}
    .menu_ntroduction {margin: 0 calc(50% - 50vw);margin-bottom: 50px;border-top: 1px solid #0a3589;overflow: hidden;}
    .menu_ntroduction li {width: 50%;/* margin-left: 2%; */padding: 2% 0;border-left: 1px solid #0a3589;border-bottom: 1px solid #0a3589; position: relative;}

    .menu_ntroduction li::after {
     position: absolute;
     right: 6px;
     top: 0;
     bottom: 0;
     width: 6px;
     height: 6px;
     border-top: 1px solid #0a3589;
     border-right: 1px solid #0a3589;
     -webkit-transform: rotate(135deg);
     transform: rotate(135deg);
     margin: auto;
     content: "";
     vertical-align: middle;
     }
    .menu_ntroduction li:nth-child(odd) {margin-left: 0;border-left: none;}
    

}

@media screen and (min-width: 960px){
    
    header,header #header_wrapper {height: 800px;}
    
    .menu_ntroduction { font-size: 18px;}
    .menu_ntroduction li {margin-left: 30px;}
    .detail { max-width: 860px;font-size: 14px;}
    .nav-links { max-width: 1200px;font-size: 14px;}
    
    .detail .tit-area,
    .single-news .pic,.single-news .text { margin-bottom: 60px;}
    
    .detail .tit-area .deta { font-size: 14px;}
    .detail .tit-area h1 {font-size: 16px;}
    .Box {margin-bottom: 0;}
    
    header #header_wrapper {
    width: 250px;
    float: right;
    }
    
    header .top_text {
    width: auto;
    padding: 60px 50px 80px 120px;
    }
    
    .footer_logo,.footer_logo a{
    height: 86px;
    width: 60px;
        margin: inherit;
}
    .top_text .read {
        font-size: 26px;
        margin-bottom: 20px;
        line-height: 1.2;
    }
    
    .top_text li {font-size: 15px;}
    .btn_contact p { font-size: 36px;}
    .btn_contact p span { font-size: 18px;}
    
        /* CSSアニメーションの指定 */
.left_in{
  animation: SlideIn 1.6s;
}

/* CSSアニメーションの設定 */
@keyframes SlideIn {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateX(-264px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
    
}
    

    




