/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search]{-webkit-appearance:textfield}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type="button"]{-webkit-appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}img{border-style:none}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~="screen"]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}@charset "utf-8";#splash{position:fixed;width:100%;height:100%;z-index:6;background:#5e2284;text-align:center;color:#fff}#splash_logo svg{width:300px}#splash_logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.splashbg{display:none}body.appear .splashbg{display:block;content:"";position:fixed;z-index:5;width:100%;height:100vh;top:0;left:0;transform:scaleX(0);background-color:#5e2284;animation-name:a;animation-duration:1.2s;animation-timing-function:ease-in-out;animation-fill-mode:forwards}@keyframes a{0{transform-origin:right;transform:scaleX(0)}50%{transform-origin:right;transform:scaleX(1)}50.001%{transform-origin:left}to{transform-origin:left;transform:scaleX(0)}}#container{opacity:0}body.appear #container{animation-name:j;animation-duration:1s;animation-delay:.8s;animation-fill-mode:forwards;opacity:0}#mask path{fill-opacity:0;transition:fill-opacity .5s;fill:none;stroke:#fff}#mask.done path{fill:#fff;fill-opacity:1;stroke:none}@media screen and (max-width:990px){#g-nav.panelactive{width:100%;height:100vh}.circle-bg{position:fixed;z-index:3;width:75pt;height:75pt;border-radius:50%;background:#5e2284;transform:scale(0);bottom:-50px;left:calc(50% - 50px);transition:all .6s}.circle-bg.circleactive{transform:scale(50)}#g-nav-list{position:fixed;z-index:5;width:100%;height:100vh;overflow:auto;-webkit-overflow-scrolling:touch}#g-nav-list,.logo{display:none}#g-nav.panelactive #g-nav-list{display:block}#g-nav ul{opacity:0;position:absolute;z-index:5;top:40%;left:50%;transform:translate(-50%,-40%)}#g-nav.panelactive ul{opacity:1}#g-nav.panelactive ul li{animation-name:b;animation-duration:1s;animation-delay:.2s;animation-fill-mode:forwards;opacity:0}}@keyframes b{0{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.openbtn{display:none}@media screen and (max-width:990px){.openbtn{display:block;position:fixed;z-index:6;cursor:pointer;top:10px;right:10px;width:55px;height:55px;border:1px solid #fff}.openbtn span{display:inline-block;transition:all .4s;position:absolute}.openbtn span:nth-of-type(1),.openbtn span:nth-of-type(3){height:1px;background:#fff;width:62%;left:10px}.openbtn span:nth-of-type(1){top:13px}.openbtn span:nth-of-type(2){top:19px;left:9px;font-size:.55rem;text-transform:uppercase;color:#fff}.openbtn span:nth-of-type(3){top:41px}.openbtn.active span:nth-of-type(1){top:22px;left:18px;transform:translateY(6px) rotate(-45deg);width:30%}.openbtn.active span:nth-of-type(2){opacity:0}.openbtn.active span:nth-of-type(3){top:34px;left:18px;transform:translateY(-6px) rotate(45deg);width:30%}}@media screen and (max-width:920px){#page__open_btn{border-color:#5e2284}#page__open_btn span:nth-of-type(1){background:#5e2284}#page__open_btn span:nth-of-type(2){color:#5e2284}#page__open_btn span:nth-of-type(3){color:#5e2284;background:#5e2284}.head_banner{margin-top:75pt}.pc_img{display:none}.sp_img{display:block;margin-top:75pt}}.appear .openbtn.active span:nth-of-type(1),.appear .openbtn.active span:nth-of-type(3){background:#fff!important}.scrolldown1{position:absolute;left:50%;top:36vh;height:75pt}.scrolldown1:after{content:"";position:absolute;top:0;width:1px;height:75pt;background:#000;animation:c 2.4s ease-in-out infinite;opacity:0}@keyframes c{0{height:0;top:0;opacity:0}30%{height:75pt;opacity:1}to{height:0;top:150px;opacity:0}}.btnarrow5{position:relative;border:1px solid #555;padding:8px 30px;display:inline-block;text-align:center;text-decoration:none;color:#333;outline:0;transition:all .2s linear;font-size:.9rem}.btnarrow5:hover{background:#333;color:#fff}.btnarrow5:before{top:50%;right:-26px;width:40px;height:1px}.btnarrow5:after,.btnarrow5:before{content:"";position:absolute;background:#333;transition:all .2s linear}.btnarrow5:after{top:20%;right:-21px;width:1px;height:9pt;transform:skewX(45deg)}.btnarrow5:hover:before{right:-30px}.btnarrow5:hover:after{right:-25px}#page-top a{display:flex;justify-content:center;align-items:center;width:60px;height:60px;color:#6c6c6c;border:1px solid #6c6c6c;transition:all .3s}@media screen and (min-width:769px){#page-top a:hover{background:#777}}#page-top{position:fixed;right:10px;z-index:2;cursor:pointer;line-height:.5;opacity:0;transform:translateY(100px)}#page-top:after{content:"上部へもどる";font-size:.56rem;color:#333;text-align:center;margin:0 auto}#page-top.UpMove{animation:d .5s forwards;animation-delay:0}@keyframes d{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}#page-top.DownMove{animation:e .5s forwards}@keyframes e{0%{transform:translateY(0)}0%,to{opacity:1}to{transform:translateY(100px)}}.slider{position:relative;z-index:1;height:90vh}.slider-item01{background:url(img/head_3.png)}.slider-item02{background:url(img/head_2.png)}.slider-item03{background:url(img/head_1.png)}.slider-item{width:100%;height:90vh;background-repeat:no-repeat;background-position:center;background-size:cover}.slick-next,.slick-prev{position:absolute;z-index:3;top:42%;cursor:pointer;outline:0;border-top:2px solid #fff;border-right:2px solid #fff;height:25px;width:25px}.slick-prev{left:2.5%;transform:rotate(-135deg)}.slick-next{right:2.5%;transform:rotate(45deg)}.slick-dots{position:relative;z-index:3;text-align:center;margin:-50px 0 0}.slick-dots li{display:inline-block;margin:0 5px}.slick-dots button{color:transparent;outline:0;width:8px;height:8px;display:block;border-radius:50%;background:#fff}.slick-dots .slick-active button{background:#333}.blur{animation-name:f;animation-duration:1s;animation-fill-mode:forwards}@keyframes f{0%{filter:blur(10px);transform:scale(1.02);opacity:0}to{filter:blur(0);transform:scale(1);opacity:1}}.blurTrigger{opacity:0}.lineTrigger{position:relative;opacity:0}.lineTrigger.lineanime{animation-name:g;animation-duration:.5s;animation-fill-mode:forwards}@keyframes g{0%{opacity:0}to{opacity:1}}.lineTrigger:after,.lineTrigger:before{position:absolute;content:'';width:0;height:1px;background:#333}.line2:after,.line2:before{position:absolute;content:'';width:1px;height:0;background:#333}.lineTrigger:before{top:0;left:0}.lineTrigger.lineanime:before{animation:h .5s linear 0s forwards}.line2:before{top:0;right:0}.lineTrigger.lineanime .line2:before{animation:i .5s linear .5s forwards}.lineTrigger:after{bottom:0;right:0}.lineTrigger.lineanime:after{animation:h .5s linear 1s forwards}.line2:after{bottom:0;left:0}.lineTrigger.lineanime .line2:after{animation:i .5s linear 1.5s forwards}@keyframes h{0{width:0}to{width:100%}}@keyframes i{0{height:0}to{height:100%}}.lineTrigger.lineanime .lineinappear{animation:j .5s linear 1.5s forwards;opacity:0}@keyframes j{0{opacity:0}to{opacity:1}}.svganimeblock svg{width:90%}.svganimeblock svg path{fill-opacity:0;transition:fill-opacity .5s;fill:none;stroke:#ccc}.svganimeblock svg.done path{fill:#efefef;fill-opacity:1;stroke:none}.grecaptcha-badge{bottom:90px!important;z-index:4;bottom:60px}@charset "utf-8";
/* レイアウトのためのCSS */

body {
    background: #f3f3f3 url(img/bg_washi.png);
    background-size: 48px 48px;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.1em;
    color: #333;
    font-size: 1rem;
    line-height: 1.85;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    word-wrap: break-word;
}

* {
    box-sizing: border-box;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

a {
    color: #333;
    text-decoration: none;
    outline: none;
}

@media (hover: hover) {

    /* リンクの場合 */
    a:any-link:hover {
        color: #797979 !important;
    }
}

img {
    max-width: 100%;
    height: auto;
}

/* area */

#container,
#page__container {
    position: relative;
    overflow-x: hidden;
}

#page__container #main-area {
	margin-top: 120px;
}
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 230px;
    height: 100vh;
    background: #fdfdfd;
    padding: 150px 0 0 0;
}

#content-area {
    width: 100%;
    padding: 0 0 0 230px;
}

@media screen and (max-width:990px) {
    #header {
        position: relative;
        width: 100%;
        height: auto;
        padding: 0;
    }

    #content-area {
        padding: 0;
    }

}

/* heading */
.heading-block {
    display: flex;
    justify-content: center;
}

#menu h2,
#access h2,
#news h2 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0.2em;
    font-size: 2rem;
    margin: 100px 0;
}

/* slider */

#slider-area {
    position: relative;
}

#slider-area .scrolldown1 {
    top: inherit;
    bottom: 0;
    z-index: 1;
}
.corp_kana {
	font-size:0.8rem;
	margin-top: 1em;
}
@media(max-width:550px) {
	.corp_kana {
		letter-spacing:0.5em;
	}
}

/* header */

#header {
    display: flex;
    justify-content: center;
}

.header-area {
    width: 73px;
    height: 230px;
}

#header h1 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 2rem;
    letter-spacing: 1em;
    line-height: 1.3;
    color: #5e2284;
    padding: 0 0 20px 0;
}

#header h1 span {
    letter-spacing: 0.5em;
    display: block;
    font-size: 1.5rem;
}

#header p {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0.3em;
    font-size: 0.9rem;
}

#header .sns-link {
    position: absolute;
    left: 45px;
    bottom: 50px;
}

@media screen and (max-width:990px) {
    #header {
        position: absolute;
        z-index: 2;
        background: none;
        color: #fff;
        height: 90vh;
        align-items: center;
    }
	#page__container .header-page {
		height: 0;
	}
    .header-area {
        width: auto;
        height: auto;
    }
    .header-area p {
        display: none;
    }
    #header h1 {
        color: #fff;
        background: #5e2284;
        padding: 20px 22px 0 0px;
        width: 119px;
        height: 350px;
        white-space: nowrap;
    }
    #header h1 span {
        font-size: 1.8rem;
    }
    #header p {
        background: #5e2284;
        padding: 20px 18px 20px 0;
        width: 119px;
        height: 145px;
    }
    #header .sns-link {
        left: 10px;
        bottom: 20px;
    }
	 #header .header__sp {
        height: 5vh;
        margin-bottom: 30px;
    }
    #header .header__sp_logo {
        width: 80px;
        display: block;
        position: absolute;
        top: 5px;
        left: 10px;
    }
    #header .header__pc {
        display: none;
    }
}

@media screen and (min-width:990px) {
    #header .header__sp {
        display: none;
    }
}


/* sns */

.sns-link li {
    display: inline-block;
    margin: 0 10px;
}

.sns-link li img {
    width: 20px;
}

/* g-navi */

#main-nav {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    align-items: center;
}

.logo {
    width: 120px;
    padding: 15px 0px 10px 30px;
    margin-right: auto;
}

#g-nav ul {
    display: flex;
}

#g-nav ul li a {
    display: block;
    padding: 34px 25px;
    position: relative;
    transition: all 0.3s;
}

#g-nav ul li.current a::before,
#g-nav ul li a:hover::before {
    content: "";
    /*描画位置*/
    position: absolute;
    top: 0;
    left: 50%;
    /*線の形状*/
    width: 1px;
    height: 20px;
    background: #000;
    /*線の動き1.4秒かけて動く。永遠にループ*/
    animation: gnavipathmove 2.4s ease-in-out infinite;
    opacity: 0;
    color: #6a2e9e;
}

@media screen and (max-width:990px) {
    #g-nav ul {
        display: block;
        text-align: center;
    }

    #g-nav ul li a {
        padding: 15px;
        color: #fff;
    }

    #g-nav ul li.current a::before,
    #g-nav ul li a:hover::before {
        animation: none;
        left: 0;
        top: 48%;
        width: 10px;
        height: 1px;
        background: #fff;
        opacity: 1;
    }
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes gnavipathmove {
    0% {
        height: 0;
        top: 0;
        opacity: 0;
    }

    30% {
        height: 20px;
        opacity: 1;
    }

    100% {
        height: 0;
        top: 30px;
        opacity: 0;
    }
}

#main-nav dl {
    background: #5e2284;
    color: #fff;
    padding: 16px 32px;
    text-align: center;
}

#main-nav dl dt {
    font-size: 0.8rem;
}

#main-nav dl a {
    color: #fff;
    font-size: 0.9rem;
	line-height:1.3;
}

@media screen and (max-width:990px) {
    #main-nav dl {
        display: none;
        transition: all 0.5s;
        opacity: 0;
        padding: 10px 0;
    }

    #main-nav dl a {
        font-size: 1.2rem;
    }


    #main-nav dl.telactive {
        display: block;
        position: fixed;
        z-index: 9999;
        bottom: 30px;
        left: 20%;
        width: 60%;
        border: 1px solid rgba(255, 255, 255, 0.8);
        animation: UpAnime 1s forwards;
    }

}

@media screen and (max-width:420px) {
    #main-nav dl.telactive {
        width: 90%;
        left: 5%;
    }

}

/* lead */

#lead {
    position: relative;
    display: flex;
    justify-content: center;
    height: 80vh;
    padding: 15vh 0 15vh 0;
}

#lead .lead-area {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    align-items: center;
}


#lead .svganimeblock {
    width: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

#lead .lead-heading {
    width: 30%;
}

#lead h2 {
    font-size: 2rem;
    letter-spacing: 0.1em;
    line-height: 2.2;
    padding: 0 0 0 30px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

#lead .lead-desc {
    width: 70%;
    display: flex;
    flex-direction: row-reverse;
    height: 40vh;
    align-items: center;
}

#lead .lead-desc p {
    width: 27em;
    letter-spacing: 0.1em;
    line-height: 3;
    margin: 0 0 0 30px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

#lead .btnarrow5 {
    padding: 30px 15px 40px 15px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

#lead .btnarrow5::before {
    top: 90%;
    right: 50%;
    width: 1px;
    height: 40px;
}

#lead .btnarrow5::after {
    top: 105%;
    right: 60%;
}

_:-ms-lang(x),
#lead .btnarrow5::after {
    right: 70%;
}

@media screen and (max-width:1020px) {
	#lead {
		height: 100vh;
	}
    #lead .lead-desc {
		width: 90%;
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		}
	#lead h2 {
        line-height: 1.8;
        padding: 0 0 50px 0;
        display: inline-block;
        text-align: left;
        font-size: 1.5rem;
        letter-spacing: 0.4em;
    }
    #lead .lead-desc p {
        line-height: 2.5;
    }
}


@media screen and (max-width:920px) {
    #lead {
        height: auto;
        padding: 100px 0;
    }
    #lead .lead-heading {
        width: 100%;
        text-align: center;
    }
    #lead .lead-desc {
        width: 100%;
        padding: 0 30px;
        display: block;
        height: auto;
    }
    #lead .lead-desc p {
        width: auto;
        margin: 0 0 30px 0;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
		text-align: center;
    }
    #lead .btnarrow5 {
        display: block;
        padding: 8px 30px;
        width: 250px;
        margin: 0 auto;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }
    #lead .btnarrow5::after {
        top: 152%;
        right: 52%;
    }
}

/* menu */

#menu {
    position: relative;
    margin: 0 0 100px 0;
}

#page__container #menu {
	margin: 50px 0 100px 0;
}

#menu .menu-bg {
    position: relative;
/*     background: url(img/head_3.png) no-repeat center; */
	background: url(/wp-content/uploads/2026/05/head_003.png) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
    height: 50vh;
}

#menu section {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#menu section:nth-of-type(2n) {
    flex-direction: row-reverse;
}

#menu .menu-img {
    width: 50%;
    height: 40vh;
}

#menu .menu-img-detail {
    height: 40vh;
}

#menu .menu-box {
    animation-delay: .5s;
}

#menu .menu-content {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
}

#menu section:nth-of-type(1) .menu-img-detail {
    background: url(img/pict_01.png) no-repeat center;
    background-size: cover;
}

#menu section:nth-of-type(2) .menu-img-detail {
    background: url(img/pict_02.png) no-repeat center;
    background-size: cover;
}

#menu section:nth-of-type(3) .menu-img-detail {
    background: url(img/head_2.png) no-repeat center;
    background-size: cover;
}

#menu .menu-content h3 {
    font-size: 1.2rem;
    margin: 0 0 0 1em;
}

#menu .menu-content p {
    height: 13em;
    line-height: 2.5;
}

@media screen and (max-width:768px) {
    #menu .menu-bg {
        background-attachment: inherit;
    }
}

@media screen and (max-width:560px) {
    #menu .menu-img,
    #menu .menu-content {
        width: 100%;
        margin: 0 0 50px 0;
    }

}

/*------------------------------
 component > News
------------------------------ */
.news__inner {
    display: flex;
    max-width: 950px;
    justify-content: center;
	margin: 0 auto;
}
.news-bottom {
	text-align:right;
	margin-top: 12px;
}

@media screen and (max-width: 768px) {
    .news__inner {
        display: block;
    }
}

@media (max-width: 768px) {
    .news__heading {
        margin-right: 0;
        margin-bottom: 30px;
        text-align: center;
    }
}

.news__body {
    margin-bottom: 40px;
    ;
}

.news-list__list {
    list-style: none;
}

.news-list__item {
    display: flex;
    font-size: 1rem;
	padding-bottom: 0.5em;
	border-bottom:1px solid #333;
}

@media (max-width: 768px) {
    .news-list__item {
        display: block;
    }
}

.news-list__item:not(:last-child) {
    margin-bottom: 15px;
}

@media (max-width: 920px) {
    #news .news-list {
        margin: auto;
        padding: 0 30px;
    }
    .news-list__item:not(:last-child) {
        margin-bottom: 40px;
    }
}

.news-list__heading {
    display: flex;
}

@media (max-width: 768px) {
    .news-list__heading {
        margin-bottom: 3px;
    }
}

#news h2 {
    margin: 60px 0;
}

.news-list__date {
    margin-right: 20px;
}

.news-list__label {
    margin-right: 20px;
}

@media(max-width: 768px) {
    .news-list__label {
        margin: auto 0;
    }
}

/* Newsセクション　カテゴリーラベル */
.c-label-category {
    font-size: 12px;
    font-weight: bold;
    /* line-height: 1; */
    padding: 2px 10px;
    border-radius: 20px;
    width: 80px;
    text-align: center;
    color: #fff;
    background-color: rgb(97, 92, 238);
    display: block;
}

@media (max-width: 768px) {
    .c-label-category {
        padding: 2px 8px;
        font-size: 11px;
    }
}

/* access */

#access {
    position: relative;
}

#access .access-bg {
    background: url(img/bg_02.png) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
    height: 50vh;
}

#access .access-area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background: #fff;
    box-shadow: 0 4px 4px #ccc;
    width: 90%;
    margin: 0 auto 100px auto;
}

#access .access-area .access-block {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#access .access-area .access-block h3 {
    font-size: 1.2rem;
    margin: 0 0 20px 0;
}

#access .access-area .access-block p {
    margin: 0 0 20px 0;
}

#access .access-map {
    width: 50%;
}

#access .iframe-wrap {
    position: relative;
    padding-bottom: 51.65%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    z-index: 2;
}

#access .iframe-wrap iframe,
#access .iframe-wrap object,
#access .iframe-wrap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

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

    #access .access-area .access-block,
    #access .access-map {
        width: 100%;
    }

    #access .access-area .access-block {
        padding: 40px 20px;
    }
}


@media screen and (max-width:768px) {
    #access .access-bg {
        background-attachment: inherit;
    }
}

/* トップ-お知らせ */
.news-list__date {
	width:8em;
}
#news {
	width:90%;
	margin:0 auto;
}

.sp_img {
	display: none;
}
@media screen and (max-width:920px){
	.pc_img {
		display:none;
	}
	.sp_img {
		display:block;
		margin-top: 100px;
	}
}

/* reserve */

#reserve {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    margin: 0 auto 100px auto;
    padding: 100px 30px;
    text-align: center;
}

#reserve .scrolldown1 {
    top: -10vh;
}

#reserve h2 {
    font-size: 1.2rem;
}

#reserve .tel {
    font-size: 2vw;
    margin: 20px 0 0 0;
}

#reserve p br {
    display: none;
}

@media screen and (max-width:990px) {
    #reserve h2 {
        font-size: 1rem;
    }

    #reserve .tel {
        font-size: 1.5rem;
    }

}

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

    #reserve p br {
        display: block;
    }

}

/* お問い合せ */
#reserve .line2 {
	width: 95%;
	max-width:650px;
}
.privacy {
	width: 80%;
	margin:5px auto
}
.privacy .wpcf7-list-item {
	margin:8px 0;
}
.CF7_btn input {
	border-radius:6px;
}
.grid_container {
	display: grid;
	justify-content: center;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	column-gap: 30px;
	row-gap: 20px;
	margin-bottom: 20px;
}

/* footer */

#footer {
    padding: 40px;
    color: #fff;
    background: #5e2284;
}

#footer .footer-area {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}

#footer .footer-logo {
    letter-spacing: 1em;
    margin: 0 0 20px 0;
}

#footer .footer-logo a {
    color: #fff !important;
}

#footer .footer-logo span,
#footer .store-list {
    font-size: 1.6rem;
    display: block;
}

#footer .store-list span {
    margin-bottom: 0.8rem;
    border-bottom: 3px double;
    font-size: 1.2rem;
}

#footer .menu li:not(:last-child)::after {
    content: '/';
    padding-left: 8px;
    color: #fff;
}

#footer .footer-link {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-end;
}

#footer .footer-link ul {
    font-size: 0.9rem;
    margin: 0 2vw 0 0;
}

#footer .footer-link ul li {
    display: inline-block;
    /* margin: 0 5px;    */
}

#footer .footer-link .sp_contact {
    display: none;
}

#footer .footer-link a {
    color: #fff;
}

#footer .store-link a {
    color: #fff;
    font-size: 80%;
}

#footer small {
    color: #ccc;
}

#footer #page-top span {
    position: relative;
    top: -10px;
}

#footer #page-top span::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -3px;
    background: #6C6C6C;
    width: 1px;
    height: 30px;
}

#footer #page-top span::after {
    content: '';
    position: absolute;
    left: 6px;
    top: -7px;
    background: #6C6C6C;
    width: 1px;
    height: 20px;
    transform: rotate(-45deg);
}

@media screen and (min-width:769px) {

    #footer #page-top a:hover span::before,
    #footer #page-top a:hover span::after {
        background: #fff;
    }
}

@media screen and (max-width:768px) {
    #footer .footer-info {
        width: 100%;
        text-align: center;
    }

    #footer .footer-logo {
        margin: 0;
    }

    #footer .footer-link {
        width: 100%;
        display: block;
    }

/*     #footer .footer-link .pc_contact {
        display: none;
    } */

    #footer .footer-link .sp_contact {
        display: inline-block;
    }

    #footer .footer-link {
        text-align: center;
        margin: 50px 0;
        line-height: 3;
    }

    #footer .store-link {
        margin: 0 auto 50px auto;
        text-align: center;
    }

    #footer .store-link a::after {
        content: "-";
    }

    #footer small {
        display: block;
        text-align: center;
    }
}

/* reserve-area */

.reserve-area .btnarrow5 {
    display: block;
    padding: 8px 30px;
    width: 250px;
    margin: 0 auto;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}

.reserve-area h2 {
    margin-bottom: 30px;
}

/* company about */

#company {
    position: relative;
    display: flex;
    justify-content: center;
    height: 80vh;
    padding: 80px 0 80px 0;
}

@media(max-width:990px) {
    #company {
        padding: 32px 30px 32px 30px;
    }
}

#company .svganimeblock {
    width: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

#company h2 {
    font-size: 2rem;
    letter-spacing: 0.1em;
    margin: 50px 0 auto 40px;
    line-height: 1.5;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

#company .lead-head__sp {
    display: none;
}

#company .lead-desc {
    height: 100%;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
}

#company .lead-name {
    display: flex;
    align-items: flex-end;
}

#company .lead-desc p,
#company .lead-name p {
    letter-spacing: 0.4em;
    line-height: 3vw;
    margin: 0 0 0 30px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

#company .lead-area {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
}

@media(max-width:990px) {
    #company .lead-area {
        align-content: center;
    }
}

#company .name {
    height: auto;
    line-height: 4;
}

@media screen and (max-width:1020px) {
    #company h2 {
        line-height: 1.8;
        padding: 0 0 50px 0;
        display: inline-block;
        text-align: left;
        font-size: 1.5rem;
        letter-spacing: 0.4em;
    }

    #lead .lead-heading {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    #company .lead-desc p {
        line-height: 3vw;
    }
}

@media screen and (max-width:920px) {
    #company {
        height: 70vh;
    }	
    #company h2 {
        text-align: center;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }

    #company .lead-head__sp {
        display: block;
    }

    #lead {
        height: auto;
        padding: 100px 0;
    }

    #company .lead-area {
        justify-content: center;
        text-align: center;
    }

    #company .lead-desc {
        width: 100%;
        margin-bottom: 24px;
        display: block;
        height: auto;
    }

    #company .lead-desc p,
    #company .lead-name p {
        margin: 0;
    }

    #company .lead-desc p {
        width: auto;
        margin: 0 0 30px 0;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        font-size: 0.8em;
        line-height: 2.8;
    }

    #company .lead-name p {
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        font-size: 0.8em;
    }
}

/* 私たちについて-会社概要スクロールダウン */
#page__container #menu .scrolldown1 {
	top: -20vh;
}

@media screen and (max-width:660px) {
    #company {
        height: 90vh;
    }
}
	/* SP の見た目調整 */
@media screen and (max-width:480px) {
    #company {
        height: 150vh;
    }
	#page__container #main-area {
		margin-top: 150px;
	}
	#company h2 {
		margin: 0;
	}
	#about {
		margin-top: 200px;
	}
	#about h2 {
		white-space: nowrap;
	}
}	

@media screen and (max-width:550px) {
    #about h2 {
        margin: 0 0 50px 0;
    }
}

#about .about-list {
    width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#about .about-list li {
    border-bottom: 1px solid #ccc;
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
}

#about .lineTrigger.lineanime::before {
    top: -15px;
}

#about .about-list dl {
    display: flex;
    justify-content: space-between;
}

#about .about-list dt {
    width: 30%;
    padding: 0 0 0 40px;
}

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

    #about .about-list dt {
        padding: 0 0 0 10px;
    }
}

#about .about-list dd {
    width: 65%;
}

/* ********************** */
/* 投稿ページ single.php */
/* ********************** */
#single main {
    margin: 100px auto;
}

#single article {
    width: 70%;
    margin: auto;
}

.post-link {
    width: 90%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}
.post-link li {
	margin-left:10%;
}

#single .text {
    margin-top: 40px;
    margin-bottom: 30px;
}

#single article .meta {
    display: flex;
    margin: 12px 0;
}

#single article .meta li {
    margin-right: 16px;
}

/*-------------------------------------------
      SP
-------------------------------------------*/
@media screen and (max-width: 767px) {
    .post-link {
        width: 100%;
    }

    #single article {
        width: 90%;
    }
}

/* ****************************** */
/*ContactForm7カスタマイズ  /contact */
/* ****************************** */

table.CF7_table {
    width: 80%;
    margin: 100px auto 30px auto;
    border: 3px solid #e5e5e5;
    font-size: 1.2rem;
    text-align: left;
}

table.CF7_table tr {
    border-top: 1px solid #e5e5e5;
}

table.CF7_table tr:first-child>* {
    padding: 5px 0;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
    display: table;
}

/*入力欄*/
.CF7_table input {
    border: 1px solid #d8d8d8;
    margin: 5px 5px 5px 5px;
}

.CF7_table textarea {
    border: 1px solid #d8d8d8;
    margin: 5px 5px 0 5px;
}

.wpcf7-text,
.CF7_table textarea {
    width: 98%;
}

.CF7_table ::placeholder {
    color: #797979;
    padding-left: 5px;
}

/*「必須」文字*/
.CF7_req {
    font-size: 0.6em;
    padding: 3px;
    background: #f79034;
    /*オレンジ*/
    color: #fff;
    border-radius: 3px;
    margin-right: 1em;
    margin-left: 8px;
}

/*「任意」文字*/
.CF7_unreq {
    font-size: 0.6em;
    padding: 3px;
    background: #bdbdbd;
    /*グレー*/
    color: #fff;
    border-radius: 3px;
    margin-right: 1em;
    margin-left: 8px;
}

/* タイトル列 */
@media screen and (min-width: 768px) {
    .CF7_table th {
        width: 30%;
        /*横幅*/
        background-color: #ebedf5;
        /*ブルーグレー*/
    }
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
    table.CF7_table {
        width: 95%;
    }

    .CF7_table tr,
    .CF7_table td,
    .CF7_table th {
        display: block;
        width: 100%;
        line-height: 2.5em;
    }

    .CF7_table th {
        background-color: #ebedf5;
    }
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
    background-color: #f79034;
    /* オレンジ*/
    padding: 5px;
    border: 0;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 auto;
}

.CF7_btn {
    width: 80%;
    text-align: left;
    margin: 0 auto 120px auto;
}

.wpcf7-spinner {
    width: 0;
    margin: 0;
}

/* ****************************** */
/*お知らせ一覧 カスタマイズ  /info */
/* ****************************** */
#info .content {
	width:90%;
	margin: 100px auto;
}
.article-list {
  display: grid;
 
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}
 
.article-list .article-item {
  position: relative;
  z-index: 1;
  border: 1px solid #ddd;
}
 
.article-list .article-item a {
  display: block;
  text-decoration: none;
  color: #333;
}
 
.article-list .article-item img {
  display: block;
  width: 100%;
 
  aspect-ratio: 3/2;
  object-fit: cover;
}
 
.article-list .article-item .text-wrap {
  padding: 1rem;
}
 
.article-list .article-item .article-cat {
  font-size: .875rem;
  line-height: 1;
  display: inline-block;
  margin-right: .5rem;
  padding: .25rem .5rem;
  vertical-align: middle;
  border-radius: 20px;
  text-decoration: none;
  color: #fff;
  background-color: rgb(97, 92, 238);
}
 
.article-list .article-item .article-date {
  font-size: .875rem;
  display: inline-block;
  vertical-align: middle;
  color: #888;
}
 
.article-list .article-item .article-date i {
  font-size: 1rem;
  position: relative;
  top: .1875rem;
  margin-right: 0.125rem;
}
 
.article-list .article-item .text-wrap h2 {
  font-size: 1rem;
  font-weight: 500;
  margin-top: .5rem;
}

@media(max-width:920px) {
	.article-list {
  		grid-template-columns: repeat(2, 1fr); 	
	}
}

@media(max-width: 480px) {
  .article-list {
    display: block;
 
    gap: none;
    grid-template-columns: none;
  }
 
  .article-list .article-item {
    margin-bottom: 2rem;
  }
}
/* ページネーション */
.pagination {
  margin: 4rem 0;
  text-align: center;
}
 
.pagination ul {
  font-size: 0;
}
 
.pagination ul li {
  font-size: 1rem;
  display: inline-block;
  margin-right: .75rem;
}
 
.pagination ul li:last-child {
  margin-right: 0;
  border: 0;
}
 
.pagination ul li a,
.pagination ul li .current {
  font-weight: 600;
  line-height: 1;
  display: block;
  padding: .75rem .875rem;
  border: 1px solid #ddd;
}
 
.pagination ul li a {
  text-decoration: none;
  color: #555;
}
 
.pagination ul li .current {
  color: #fff;
  background-color: #1d2d43;
}
 
.pagination ul li .prev,
.pagination ul li .next {
  padding: .75rem .5rem;
  border: 0;
}
 
.pagination ul li i {
  font-size: 1rem;
  color: #1d2d43;
}
 
@media (max-width: 480px) {
  .pagination {
    margin: 3rem 0;
  }
 
  .pagination ul li a {
    padding: .5rem;
  }
}@charset "UTF-8";
/*Theme Name: ELSYS Inc.
Description: 株式会社ELSYSのコーポレートサイトテーマです。
Version: 1.0
Author: ELSYS Inc.*/
:root{--color-base-primary:#5e2284;--color-bg-dark:#6c6c6c;--color-font-base:#333;--color-font-right:#ccc;--color-font-white:#fff}.svg-elem-1{-webkit-animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86).5s both;animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86).5s both}.svg-elem-2{-webkit-animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86).8s both;animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86).8s both}.svg-elem-3{-webkit-animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)1.1s both;animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)1.1s both}.svg-elem-4{-webkit-animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)1.4s both;animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)1.4s both}.svg-elem-5{-webkit-animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)1.7s both;animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)1.7s both}.svg-elem-6{-webkit-animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)2s both;animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)2s both}@-webkit-keyframes a{0{fill:transparent}to{fill:#fff}}@keyframes a{0{fill:transparent}to{fill:#fff}}.svg-elem-7{-webkit-animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)2.3s both;animation:a 1.3s cubic-bezier(0.785,0.135,0.15,0.86)2.3s both}