/* ==========================================
   Top Fade Slider設定
========================================== */

.fade-visual {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #000;
}
.fade-visual__slides {
    position: relative;
    width: 100%;
    height: 100%;
}
.fade-visual__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition:opacity 1.5s ease,visibility 1.5s ease;
}
.fade-visual__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}
.fade-visual__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* アニメーションを減らす設定の端末 */
@media (prefers-reduced-motion: reduce) {

    .fade-visual__slide {
        transition: none;
    }

}



/*********************
以下nav設定
*********************/
header .wrap .title a, header h1 {
    display: inline-block;
    height: 44px;
    text-align: left;
    color: #333;
    font-weight: 600;
}
header .wrap .title{
    border-radius: 13px;
    background-color: #ffffff;
    position: fixed;
    top: 20px;
    left: 20px;
}

header .wrap .title, header h1 {
    position: relative;
    width: 200px;
    margin-top: 18px;
    float: left;
    z-index: 5;

}
header .wrap .title{
    position: fixed;
    top: 20px;
    left: 20px;
    padding: 20px 0 10px 10px;
    background: #fff;
    box-shadow:3px 0px 10px 7px rgba(0, 0, 0, 0.2);
}
header .wrap .title a img{
    width: 95%;height: auto;
}
@media screen and (max-width: 760px) {
    header .wrap .title a img{
    width: 75%;
}
}
header span.bg {
    display: none;
}
header nav ul li {
    width: 90%;
    margin: 0;
    padding: 5px 0 0px 5px;
}

header nav ul li a {
    padding: 0;
}
header .wrap .title nav ul li a img{
    width: 100%;
}
ul.sns_link{
    padding: 0;
    display: flex;
    justify-content: space-between;
    width: 70%;
    margin-left: 20px;
    overflow: hidden;
}
ul.sns_link li{
  list-style: none;
}

header .page_control ul{
position: fixed;
top: 5px;
right: 10px;
}


@media screen and (min-width: 641px) {
    html body #menu {
        display: flex !important;
        flex-direction: column;
        overflow-y: hidden;
        padding-bottom: 3px;
    }
}
@media screen and (min-width: 760px) {
header .wrap .title{
    width: 15vw;
    max-width: 240px;
}
.main,.contents,.consul{
    padding-bottom: 0;
    width: 77vw;
    margin-left: auto;
}
#main{
    margin-right: 3vw;
}
}

    
/*********************
以下メインコンテンツ内設定
*********************/
#TOP {
    padding: 0px;
    position: relative;
    top: 100vh;
}
header,.contents{max-width: 1100px;}
.main,.contents,.consul{padding-bottom: 0;}
.bx-wrapper {max-height: 840px;}

dl.news {max-width: 700px;padding-left: 10px;}

.about-ovlay {
    position: relative;
    z-index: 1;
}
.about-ovlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #f5f2e9 url(../img/bg.png);
    background-repeat: repeat; 
    opacity: .5;
    z-index: -1;
}
.footer-ovlay {
    position: relative;
    z-index: 1;
    top: 100vh;
}

.footer-ovlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #f5f2e9 url(../img/bg.png);
    background-repeat: repeat; 
    opacity: .5;
    z-index: -1;
}
.consul-ovlay {
    position: relative;
    z-index: 1;
}
.consul-ovlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #f5f2e9 url(../img/bg.png);
    background-repeat: repeat; 
    opacity: .5;
    z-index: -1;
}
.consul ul.banner {
     background: none !important; 
}
.top_listA {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    background: #EFEACB;
    padding: 20px 0 20px;
}
.ijyu_list{
    color: #000000;
    transition-duration: 0.5s;
    background: #fff;
    min-height: 60px;
    padding: 0;
    position: relative;
    width: calc((90% - 20px) / 2);
}
.ijyu_list:after{
    display: block;
    content: " ";
    position: absolute;
    bottom: 5px;
    right: 5px;
    height: 0px;
    border: 6px solid transparent;
    border-bottom: 6px solid #CBCE65;
    border-right: 6px solid #CBCE65;
}

.ijyu_list .namd{
    padding: 0.5em;
    border-bottom: 1px dotted rgb(0, 0, 0);
    margin-left: 10px;
    width: 80%;
}
.ijyu_list > a:hover,.ijyu_list > a:focus{
    background: #feffd2;
}
.ijyu_list > a {
    display: flex;
    height: calc(100% - 15px);
    color: #000000;
    justify-content: left;
    align-items: center;
    padding-bottom: 15px;
}

.ijyu_list > a
.ijyu_list > * {
    width: calc(50% - 10px);
    max-width: 200px;
}
@media screen and (min-width: 1101px) {
 #TOP {
    min-width: 1100px;
    padding: 0px;
    position: relative;
    top: 100vh;
}
header,.contents{
max-width: 100%;
}
}
#UD.active, header .page_control form.search.active {
    display: block;
    max-height: 100px;
}
#UD, header .page_control form.search {
    position: fixed;
    top: 100px;
    right: 1vw;
    left: auto;
   width: 80%;
    max-width: 300px;
}
@media screen and (min-width: 0px) and (max-width: 640px) {


header .wrap .title #menuopen a{
height: 44px;}
#menu {overflow-y: hidden;}
}
body.top a{text-decoration:none;}
header nav ul li a{background: url(none);}

@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

body {
  font-family: "Yuji Syuku", serif;
  letter-spacing: 0.06em;
  line-height: 1.9;
   font-weight:normal;
   color: #000000;
   font-size: clamp(14px, 1.3vw, 20px);
}
body .main section .wrap.newswrap{font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;}
.bx-wrapper .slide a {color: #000000;}
body{}
.link.white h2{text-align: center;}
ul.banner li img{
    max-width: 100%;
    height: auto;
}
header .wrap, article .wrap, .wrap .wrap, .locus span {
    max-width: 100%;
}
@media screen and (min-width: 0px) and (max-width: 760px) {
    html body #menu {display: none !important ;}
    header .wrap .title, header h1{
        width: 340px;
}
    header nav .menu_button{
        display: block;
    }
    header nav .menu_button {
        top: 5px;
        right: 0px;
    }
    header .page_control ul {
        top: 15px;
        right: 30px;
    }
    #UD.active, header .page_control form.search.active {
        position: fixed;
    }


header .wrap .title {
    top: 90px;
}


header nav ul li:first-of-type {
    margin: 0 ;
}
header nav ul li {
    width: 100%;
}
header nav ul li:first-of-type {
    margin: 0;
    height: 60px;
    background: #EFEACB;
}
header .wrap .title nav ul li a img {
    width: 40%;
}

}
header nav {
    margin-top: 1em;
}
header .page_control {

    font-size: 14px;
}
#UD dl {
    width: 40%;
}
#UD dl.color_change dt {
    width: 4em;
}
#UD dl dt {
    float: none;
}
#UD dl.textsize_change dt {
    width: 6em;
}
.title nav ul li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
}

.title nav ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 1px;
    background: rgb(147 145 145);

    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.title nav ul li a:hover::after {
    transform: scaleX(1);
}
.slide_box .number {
    font-size: 1.1em;
    line-height: 1.4;
}
.slide_box .namd span {
    line-height: 1.4;
}
.top_bt {
    max-width: 270px;}

.about .top_bt {
    max-width: 740px;
}
.scroll_menu_panel {
    display: none;
}

@media screen and (max-width: 760px) {
ul.sns_link {
  
    margin-top: 1em;
}
    .scroll_menu_button {
        position: fixed;
        top: 10px;
        right: 10px;
        z-index: 10000;
    }
    #scrollmenu_list {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        max-height: 100vh;
        margin: 0;
        overflow-y: auto;
        z-index: 9999;
    }

    #scrollmenuopen {
        position: fixed;
        top: 10px;
        right: 10px;
        z-index: 10000;
    }
    header nav ul li{
        padding: 0;
    }
        header nav ul li:first-of-type {
        margin: 0;
        height: auto;
        background: #FFF;
    }
#scrollmenu_list li a {
    display: block;
    width: 100%;
    padding: 1em 0;
    box-sizing: border-box;
    color: #333;
    background: #f9f6e3;

}
#scrollmenu_list li a:hover{
     background: #E1D79D;

}

}



@media screen and (max-width: 1120px) {

    .slide_box {
        overflow: hidden;
    }

    .slide_box .bx-wrapper {
        width: 100%;
        max-width: 100% !important;
        margin-left: auto;
        margin-right: auto;
    }

    .slide_box .bx-viewport {
        width: 100% !important;
        overflow: hidden !important;
    }

    .slide_box .bxslider {
        left: 28%;
    }

    .slide_box .bxslider .slide {
        opacity: 0.9;
        transform: scale(0.9);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .slide_box .bxslider .slide[aria-hidden="false"] {
        opacity: 1;
        transform: scale(1);
    }

}


@media screen and (max-width: 640px) {

    .slide_box .bxslider {
        left: 14%;
    }

}

.about .wrap {
    margin: 20px auto;
    background: url(/welcome/core/img/about_bg.png) no-repeat center center;
    background-size: contain;
    overflow: visible;
}

@media screen and (max-width: 1120px) {

    .bx-controls-direction {
        display: none;
    }

}
header nav .menu_button, header .page_control ul.panel_button li a, header nav ul li a {
    background: none;
}
header nav ul li a:hover,header nav ul li.active a{
    background: none;
}
footer dl dd {
    font-size: 0.75em;
}
.link ul.banner {
    justify-content: center;
    flex-wrap: wrap;
    display: flex;
}
.main section.consul .wrap{padding: 70px 0px;}
footer ul li a {font-size: 0.8em;}
footer .copyright {font-size: 0.75em;}
@media screen and (min-width: 640px) {
    .link ul.banner li {
    width: 25%;
}
    .link ul.banner li {
        max-width: 275px;
    }

}