@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nothing+You+Could+Do&display=swap');

p.cc {
    opacity: 0;
}
a.fixb {
    line-height: 1;
}
span.mojiy {
    line-height: 1.6;
	    top: 35px;
	position: relative;
}
div.result-slider div.slick-slide div:before {
    content: "";
    width: 56px;
    height: 53px;
    background: url(https://rams-yobikou.com/wp-content/uploads/2023/03/goukaku-1.svg);
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 8px;
    display: block;

}

.result-slider .slick-slide img {
    display: none;
}

p.foot-text {
    text-align: center;
    margin: 20px 0 40px;
}
.story-wrap .loops-wrapper .post-image {
    margin: 0;
}
a.phone.ft {
    width: 287px;
    margin: 2px auto;
}

.story-wrap time.post-date.entry-date.updated {
    margin-top: 0;
}
.single figure.post-image.tf_clearfix {
    display: none;
}
.voice .inner {
    width: 47%;
}
.voice img {
    margin-bottom: 20px;
}
.post-meta .post-category a {
    pointer-events: none;
}
.c-feat p.ilc {
    font-size: 17px;
    left: -20px;
    left: -15px;
}

.left-wrap .img-wrap2 img {
    position: absolute;
    top: 0;
    margin: auto;
    right: 0;
    left: 0;
    bottom: 0;
    width: 75%;
    max-height: 80%;
}

.left-wrap .img-wrap2 {
    position: relative;
    padding-top: 56.3%;
}
.img-wrap2 {
    position: relative;
}
p.ilc {
    position: absolute;
left: -10px;
    top: -10px;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    transform: rotate(-6deg);
    font-weight: 900;
    color: #1e3154;
    font-size: 20px;
    text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
    z-index: 2;
}
.page-id-1125 .foot2w {
    background: #c7d8f6;
    border-top: 1px solid #9eb2d5;
}
span.hissu.hukusu {
    background: #1e3154;
}
.phone:before {
    content: "";
    width: 28px;
    background-repeat: no-repeat;
    height: 28px;
    background: url(https://rams-yobikou.com/wp-content/uploads/2023/03/phone-solid-1.svg);
    position: absolute;
    left: 0;
    top: 7px;
}

.phone {
    padding-left: 17px;
    position: relative;
}
button.btn.btn-large.btn-primary:after {
    content: "";
    position: absolute;
    right: 18px;
    line-height: 0;
    top: calc(50% - 7px);
    width: 22px;
    height: 8px;
    transform: skewX(45deg);
    border-right: 1px solid #c5c5c5;
    border-bottom: 1px solid #c5c5c5;
}
.term dl dt:before {
    content: "・";
}
.term h4:before {
    width: 14px;
    height: 1px;
    background: #606060;
    position: absolute;
    content: "";
    top: 50%;
    left: -1px;
}

.term h4 {
    font-size: 20px;
    margin-bottom: 5px;
    position: relative;
    padding-left: 21px;
}
img.nophoto {
    background: #d4e3ff;
    padding: 10px 0 0;
}

p.cc2.c2-2 {
    top: 100px;
}
.philo-flex p.mgt {
    margin-top: 30px;
}
p.cc2 {
	opacity:0;
    animation: slow-in .5s ease forwards;
	animation-delay:2s;
}
@keyframes slow-in {
0% {opacity:0;     text-shadow: 0 0 0px #ffffff91, 0 0 0px #ffffff91;}
100% {opacity:1;text-shadow: 0 0 10px #ffffff91, 0 0 7px #ffffff91;}
}

.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
0% {opacity:0;     text-shadow: 0 0 0px #ffffff91, 0 0 0px #ffffff91;}
100% {opacity:1;text-shadow: 0 0 10px #ffffff91, 0 0 7px #ffffff91;}
}


.img-w img {
    position: absolute;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    max-width: 90%;
    width: 75%;
    max-height: 80%;
}
.img-w {
	    background: #f0f6ff;
    width: 100%;
    padding-top: 56.3%;
    position: relative;
}
h2.sec-title.shadow {
    text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
}
.noimg a.banner-i {
    display: none;
}
.c-feat .inner {
    width: 30%;
}
.single-zaiko-youtube .post-date-wrap.post-date-inline {
    margin: 10px 0 0;
}

time.post-date.entry-date.updated {
    margin-top: 10px;
}
.zyoutube .post-title a {
    font-size: 20px;
}
h2.sec-title.feature {
    font-size: 29px;
}
a.btn.trans {
    background: transparent;
}
a.btn.mgt.left2 {
    margin: 45px 0 0 5%;
}

div.jisseki:before {
    content: "";
    width: 90%;
    height: 100%;
    position: absolute;
    background: url(https://rams-yobi.mixh.jp/wp-content/uploads/2023/03/gaikan.jpg);
    left: 5%;
    top: 0;
    background-attachment: fixed;
}
.teach-wrap img {
    max-height: 500px;
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto;
}
.message p {
    margin-bottom: 20px;
}
body #site-logo a img {
    width: 230px;
}

.course-flex .term {
    width: 100%;
 
}

.term dl dd {
    margin-left: 120px;
}

.term dl dt {
    position: absolute;
}
.top-about-flex .term {
    margin-left: 5%;
}
.term {
	    box-sizing: border-box;
    display: block;
    background: #eef4fd;
    padding: 20px 30px;
    margin-top: 25px;
    width: 500px;
    max-width: 100%;
}

h2.sec-title.gokaku {
	    max-width: 100%;
    width: 440px;
    margin: 0 auto;
}


.course-flex a.btn.blue {
    margin: 30px auto 0;
}
a.btn.blue:hover {
    background: #1e3154b3;
}
a.btn.blue {

    background: #1e3154;
    color: #fff;
    border: 0;
}
.course-flex .btn-flex {
	    justify-content: space-between;
    margin-top: 40px;
}
.btn-flex {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
}
.btn-flex {
    display: flex;
    gap: 30px;
}
.kajo ul li:before {
    content: "";
    width: 16px;
    height: 1px;
    background: #7c7c7c;
    position: absolute;
    left: 0;
    top: 50%;
}

.kajo ul li {
    position: relative;
    margin-bottom: 5px;
    padding-left: 30px;
}
.kajo ul {
    margin: 0;
    list-style: none;
}
.kajo {
    background: #eef4fd;
    padding: 20px 30px 15px;
    margin-top: 30px;
    display: flex;
    justify-content: center;
}
.kajo {
    background: #eef4fd;
    padding: 20px 30px;
    margin-top: 30px;
    display: flex;
    justify-content: center;
}
.ft-wrap .left-wrap, .ft-wrap .right-wrap {
    width: 47.5%;
}
.ft-wrap {
    display: flex;
    gap: 5%;
    width: 1300px;
    margin: 0 auto;
    max-width: 90%;
}
dl.history dt:after {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #b5b5b5;
    content: "";
}

dl.history dd {
    margin-left: 120px;
    margin-bottom: 15px;
    font-size: 18px;
}
dl.history dt {
    position: absolute;
    font-size: 18px;
}

div.history-wrap {
    width: 800px;
    background: #ffffffe3;
    margin: 0 auto;
    padding: 30px 40px;
    display: flex;
    justify-content: center;
	    max-width: 90%;
}
div.history-bg {
    width: 90%;
    margin: 0 auto;
    padding: 100px 0;
}
.philo-flex .right-wrap {
    padding-top: 30px;
}
.philo-flex p {
    margin-bottom: 20px;
}
p.sig {
    text-align: right;
    font-size: 130%;
}

.philo-flex {
    display: flex;
    gap: 10%;
    width: 1300px;
    margin: 0 auto;
    max-width: 90%;
}
.philo-flex img {
    width: 100%;
}

.philo-flex .left-wrap, .philo-flex .right-wrap {
    width: 45%;
    position: relative;
}



p.big {
    font-size: 21px;
    margin-bottom: 10px;
}
.subject div#f-wrap .on div h5 {
    text-align: center;
    font-size: 20px;
    margin-bottom: 8px;
}
.subject div#f-wrap .on div {
    display: block;
    background: #eef4fd;
    padding: 20px 30px;
    margin-top: 25px;
}
.subject #f-wrap i {
    font-family: 'Open Sans';
    font-style: initial;
    margin-left: 20px;
    font-size: 21px;
    line-height: 1;
}
.subject #f-wrap h4 {
    font-size: 28px;
    padding: 0 0 10px;
}
ul.feature.subject li {
    font-size: 26px;
}
ul.feature.subject i:after {
	display:none;
}
ul.feature.subject i {
    width: unset;
    font-family: 'Open Sans';
    font-style: initial;
    font-size: 20px;
    margin-left: 10px;
    margin-right: 0;
}
p.name {
	    margin-top: 15px;
    text-align: right;
    font-size: 110%;
}
.voice h3 {
    font-size: 21px;
    margin-bottom: 14px;
}
.voice .innner {
    width: 47%;
}
.voice {
	max-width: 100%;
    display: flex;
    width: 1200px;
    margin: 0 auto;
    gap: 6%;
}
.school-slide {
    width: 100%;
}

.course-flex p.sent.big {
    white-space: nowrap;
}
.right-wrap img.course-img {
    width: 90%;
    margin: 0px 0 0 auto;
    display: block;
}
.course-flex .right-wrap {
    width: 47.5%;
}
.course-flex .left-wrap {
    width: 47.5%;
}
.course-flex p.sent {
    margin: 0 0 20px;
    width: 100%;
}
.course-flex {
	gap: 5%;
	    align-items: center;
    display: flex;
    width: 1400px;
    margin: 0 auto;
    max-width: 100%;
}
.course-flex {
    display: flex;
}

.c-feat h3 {
    font-size: 19px;
    text-align: center;
    margin: 20px 0;
}
.c-feat .innner {
    width: 30%;
}
.c-feat {
	max-width: 100%;
    display: flex;
    width: 1400px;
    margin: 0 auto;
    gap: 5%;
}
span.marker.sc:before {
    width: 100%;
}

span.marker:before {
    width: 0;
    height: 15px;
    background: #ffe6e6;
    position: absolute;
    content: "";
    z-index: -1;
    bottom: -2px;
    transition: 1s ease;
}
span.marker {
	    white-space: nowrap;
    position: relative;
}


.camp-slide article {
    margin: 0 20px;
}
.vww2 {
    width: calc(100vw - 14px);
}
img.camp-slide {

}
a.btn.mgt {
    margin-top: 45px;
}
.results img {
    position: absolute;
    left: 0;
    width: 56px;
    border-radius: 100px;
    height: 56px;
    top: 5px;
}
.result div.slick-slide div:before{display:none;}

tr.soudan.on, tr.siryou.on, tr.sitsumon.on,tr.siryou2.on {
    display: table-row;
}
tr.soudan, tr.siryou, tr.sitsumon ,tr.siryou2{
    display: none;
}
#body .right .service-slide {
    margin-left: auto;
}
.service-slide {
    width: 60%;
}
.right .moji-wrap {
    left: 0;
    right: unset;
}
.service-flex.right {
    margin-right: 5%;
    margin-left: auto;
}
.moji-wrap p.big {
    font-size: 21px;
    position: relative;
}
.moji-wrap p {
	position: relative;
    z-index: 1;
    margin-bottom: 15px;
}
.moji-wrap {
    border: 1px solid #ddd;
    position: absolute;
    right: 0;
top: 10vw;
    background: #fffffff5;
    width: 50%;
    padding: 40px 60px;
    box-sizing: border-box;
}
.service-flex {
	    position: relative;
    width: 90vw;
    margin: 0 auto 200px;
}
p.univ {
    position: absolute;
    top: 0;
    display: inline-block;
    left: 0;
    font-size: 14px;
    background: #a11a1abd;
    color: #fff;
    padding: 0 8px;
}
.tutor h2.post-title.entry-title {
    width: 100%;
    background: #1e3154cc;
    display: block;
    color: #fff;
    margin: 0;
    font-size: 16px;
    text-align: center;
    padding: 6px 0;
    bottom: 0;
    position: absolute;
}
.tutor .post-content {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    top: 0;
}
.tutor .loops-wrapper .post-image {
    margin: 0;
}
.results-k .entry-content {
    overflow: auto;
    width: 1257px;
    max-width: 90%;
    margin: 0 auto;
}

.results-k .innner div {
    padding-left: 69px;
    position: relative;
    width: 290px;
margin: 0 30px 45px;
    float: left;
}
.results-k .innner div:after {
    width: 100%;
    height: 1px;
    position: absolute;
    content: "";
    bottom: -20px;
    background: #bbbbbb69;
    left: 0;
}

.pagenav {
    padding-bottom: 20px;
    padding-top: 20px;
}
.zaiko-news .module.module-post.on ,.themify_builder_active .zaiko-news .module.module-post{

	display: block;
}

.zaiko-news .module.module-post {
    background: #fff;
    padding: 20px 30px;
	display: none;
}
.tab-wrap button:first-child {
    border-left: 0;
}
.tab-wrap button {
	border-left: 1px solid #5c77a7;
    width: 25%;
    border-radius: 0;
    color: #fff;
	background: #1e3154;
}
.tab-wrap {
    display: flex;
}
.tab-wrap button.on {
    background: #a3beef;
    color: #111;
}

.page-id-1125 header#header,.single-ziko header#header{
    background: #e3edff;
}
.page-id-1125 div#body, .single-ziko div#body{
    background: #e3edff;
}
.page-id-1125 #body div.kasoh .row_inner {
    background-image: url(https://rams-yobikou.com/wp-content/uploads/2023/03/kurumamichi.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
    background-position: center center;
}
.page-id-1125 .foot1,.single-ziko  .foot1 , .page-id-269 .foot1{
    display: none;
}
.page-id-1125 a.fixb,.single-ziko  a.fixb , .page-id-269 a.fixb{
    display: none;
}
.single .iframe-responsive {
    margin-bottom: 60px;
}
.archive .iframe-responsive {
    display: none;
}
.kaso .builder-posts-wrap.loops-wrapper.stories {
    flex-wrap: wrap;
	    gap: 35px 35px;
}
#body .story-wrap.kaso article {
    width: calc(25% - 27px);
    margin: 0;
}
p.sent.mba {
    margin-bottom: 40px;
}
#body .top-about-flex ul {
    margin-left: 5%;
}
.top-about-flex h3 {
    margin-left: 5%;
    margin-bottom: 15px;
}
h3.bo.sc:before {
    width: 20px;
}
h3.bo:before {
    content: "";
    width: 0px;
    height: 1px;
    background: #111;
    position: absolute;
    top: 53%;
    left: -1px;
    transition: .8s ease;
    display: block;
}
h3.bo.scroll {
    font-size: 23px;
    position: relative;
    padding-left: 30px;
}


ul.list li:before {
    content: "・";
    display: block;
    position: absolute;
    left: 0;
}
ul.list li {
    font-size: 18px;
    margin-bottom: 3px;
    position: relative;
    padding-left: 30px;
}
ul.list {
    margin: 0;
    list-style: none;
}
span.hami {
    position: absolute;
    width: 118px;
    color: #fff;
    background: #a11a1a;
    font-size: 12px;
    bottom: -13px;
    left: 0;
    right: 0;
    margin: auto;
}
.about-flex p.big {
    font-size: 130%;
}
div#f-wrap div.img-wrap2 img {
    width: 75%;
    max-height: 80%;
}
div#f-wrap div.img-wrap2 img {
    position: absolute;
    top: 0;
    margin: auto;
    right: 0;
    left: 0;
    bottom: 0;
}
div#f-wrap div.img-wrap2 {
    display: block;
    padding-top: 56.3%;
}

.seng.fade-left.sc {
    transform: translate(0px, 0px)rotate(7deg)skewY(-13deg);
}

.about-flex h2.sec-title {
    margin-bottom: 20px;
}
.about-flex.right p.seng {
    left: 110px;
}
p.seng {
    position: absolute;
    top: -40px;
    font-size: 70px;
    z-index: 0;
    color: #1e31541f;
    font-family: 'Nothing You Could Do', cursive;
    white-space: nowrap;
    left: -50px;
    transform: rotate(7deg)skewY(-13deg);
}
.about-flex p.btnp {
    margin-bottom: 0;
    padding-top: 20px;
}
.img-wrap img {
    object-fit: cover;
}
.img-wrap {
    position: absolute;
    width: 100%;
    height: calc(100% + 60px);
    overflow: hidden;
    display: flex;
}
.about-flex  p {
    margin-bottom: 30px;
}
.about-flex img {
    width: 100%;
}


.about-flex.right .left-wrap {
    width: 35%;
    padding-left: 160px;
    padding-top: 60px;
}
.about-flex.right .right-wrap {
    width: 60%;
    padding-right: 0;
    padding-top: 0;
}

.about-flex .right-wrap {
	    position: relative;
    width: 35%;
    padding-right: 160px;
	padding-top: 60px;
}
.about-flex .left-wrap {
	    position: relative;
    width: 60%;
}

.about-flex {
    display: flex;
    gap: 5%;
}

.about-flex {
    display: flex;
}

.about h2.sec-title {
    margin-left: calc(5% - 20px);
    margin-bottom: 20px;
}
.top-about-flex.about .left-wrap {
    padding-top: 30px;
}
span.kyoka {
    position: absolute;
    left: 0;
    background: #1e3154d4;
    color: #fff;
    font-size: 13px;
    padding: 0 10px;
}
span.namae {
    background: #000000b8;
    color: #fff;
    position: absolute;
    bottom: 0;
    width: 110%;
    left: -8px;
    padding: 0 10px;
    box-sizing: border-box;
    text-align: center;
    z-index: 2;
    transform: skewX(10deg);
}
ul.lect li {
    position: relative;
}
ul.lect {
    display: flex;
    list-style: none;
    margin: 0;

}
ul.lect li {
    width: 15%;
}
.skew:hover {
    background: #fafafa;
}
.stand .skew {
    height: 230px;
}
.stand .skew {
    transform: skewX(-15deg);
}
.stand span.namae {
    transform: skewX(15deg);
}
.stand .skew img {
    max-width: 172px;
    max-height: 222px;
    left: auto;
    right: -9px;
    transform: skewX(15deg);
}
.skew {
    border-right: 1px solid #ddd;
    transform: skewX(-10deg);
    height: 195px;
    overflow: hidden;
    transition: 0.5s ease;
}
.skew img {
	    mix-blend-mode: darken;
    position: absolute;
    transform: skewX(10deg);
    max-width: 160px;
    max-height: 190px;
    width: auto;
    height: auto;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    transition: 0.5s ease;
}
a.fixb:after {
    content: "";
    position: absolute;
    right: 0;
    left: -10px;
    margin: 0 auto;
    line-height: 0;
    bottom: 20px;
    width: 30px;
    height: 5px;
    transform: skewX(45deg);
    border-right: 1px solid #c5c5c5;
    border-bottom: 1px solid #c5c5c5;
}

span.mojie {
	    letter-spacing: .05em;
    font-family: 'Open Sans';
    top: 22px;
    position: relative;
    font-size: 14px;
}
a.fixb {

    position: fixed;
    right: 30px;
    bottom: 40px;
    background: #ffffffe0;
height: 125px;
    width: 125px;
    border-radius: 100%;
    text-align: center;
    box-shadow: 0 0 2px #676767cc;
}

#main-nav .menu-item-has-children>a, #main-nav a {
    padding: 0 15px;
}
.module_row.fullheight {
    min-height: calc(100vh - 114px);
}
p.cc2 {
    position: absolute;
    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 30px;
    top: 54px;

    z-index: 1;
    left: calc(-10vw + 43px);
	color: #000;
}
p.cc {
	color: #000;
    position: absolute;
    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 50px;
    top: -53px;

    z-index: 1;
left: calc(-10vw + 20px);
}
#ft .menu-item .child-arrow {
    display: none;
}

#main-nav li.zaiko a:before {
display:none;
}

.fixed-header #header ul#main-nav {
    margin: 17px 23px;
}
.fixed-header #site-logo a img {
    width: 220px;
}
.fixed-header #header div#site-logo {
    margin: 14px 20px;
}

#main-nav li.zaiko a:hover {
    color: #fff!important;
    background: #1e3154cf;
}
ul.feature li.on span.plus {
    opacity: 0;
}
ul.feature li:hover span.plus:before {
    transform: rotate(0deg);
}
span.plus:before {
    height: 1px;
    width: 20px;
    content: "";
    background: #a0a0a0;
    position: absolute;
    top: 0;
    right: 0;
    transform: rotate(90deg);
	    transition: .5s ease;
	    opacity: 1;
}
span.plus:after {
    height: 1px;
    width: 20px;
    content: "";
    background: #a0a0a0;
    position: absolute;
    top: 0;
    right: 0;
		    transition: .5s ease;
	    opacity: 1;
}
#body span.plus {
    background: none;
    width: auto;
    margin: 0;
    position: absolute;
    right: 20px;
    top: 50%;
}
div.bgw {
    background: #ffffffed;
    padding-bottom: 30px;
}

@keyframes move2{
  from {
    right: 15px;
  }

  to {
    right: 10px;
  }
}
a.fbtn:hover:after,#main-nav li.zaiko a:hover:after,button.btn.btn-large.btn-primary:hover:after {
    animation: move2 .8s ease 0s infinite normal;
}
a.fbtn:after,#main-nav li.zaiko a:after {
    content: "";
    position: absolute;
    right: 10px;
    line-height: 0;
    top: calc(50% - 2px);
    width: 12px;
    height: 3px;
    transform: skewX(45deg);
    border-right: 1px solid #c5c5c5;
    border-bottom: 1px solid #c5c5c5;
}
a.fbtn {
    background: #1e3154;
    color: #fff;
    width: 100px;
    display: block;
    text-align: center;
    position: absolute;
    right: 0;
    top: 6px;
    font-size: 14px;
	    border: 0;
}

.left-inner {
    position: relative;
    width: 469px;
    max-width: 90%;
}
.jisseki .tb_fullwidth_video.tb_local_video.tf_abs.tf_w.tf_h {
    width: 92%;
    margin: 0 auto;
}
div.ins-video {
    height: 25vw;
    background: url(https://rams-yobikou.com/wp-content/uploads/2023/03/haikei.jpg);
    background-size: cover;
    background-attachment: fixed;
}
#body div.timg {
    position: absolute;
top: -165px;
    width: 450px;
    left: 64px;
}
a.btn.left {
    margin: 0;
}
.teacher ul.slick-dots {
    bottom: 0;
}
a.btn:hover:after {
    animation: move .8s ease 0s infinite normal;
}
@keyframes move{
  from {
    right: 30px;
  }

  to {
    right: 15px;
  }
}

span.moji {
    font-size: 20px;
    font-family: 'Open Sans';
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
a.scroll-bar .bar:after {
    content: "";
    height: 50px;
    width: 1px;
    position: absolute;
    background: #999;
    animation: bar 1s ease 0s infinite normal;
}
@keyframes bar{
  from {
height:0px;
  }

  to {
height:50px;
  }
}



a.scroll-bar .bar {
    width: 1px;
    height: 50px;
    position: absolute;
    background: #ddd;
    left: 50%;
    top: 0;
}
a.scroll-bar {
    color: #fff;
    text-shadow: 0 0 3px #000;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 25px;
    text-align: center;
    width: 50px;
    height: 100px;
}

#main-nav li.zaiko a {
    background: #1e3154;
    padding: 4px 30px;
    margin-left: 15px;
    color: #fff!important;
    font-size: 98%;
}
ul#main-nav {
    margin: 38px 45px;
}

a.phone.ft {
    font-size: 35px;
    letter-spacing: .1em;
    line-height: 1;
    display: block;
}
p.fpn {
    text-align: center;
    line-height: 1.6;
	    position: relative;
    top: -9px;
}
.cwerap {
    width: 30%;
}
.cflex {
	    max-width: 100%;
    display: flex;
    width: 1000px;
    margin: 20px auto 0;
    justify-content: space-between;
    gap: 5%;
    align-items: center;
}
.foot1 {
    padding: 60px 0;
}
.footer-nav {
    margin: 0;
}
img.foot-logo {
	    margin-top: 7px;
    width: 300px;
    margin-bottom: 25px;
}
.foot2w {
	    background: #fafafa;
    border-top: 1px solid #ddd;
    padding: 60px 0;
}
p.mgb {
    margin-bottom: 25px;
}
h3.foot-school:before {
    content: "";
    width: 15px;
    height: 1px;
    background: #aaa;
    position: absolute;
    left: -10px;
    top: 50%;
}

h3.foot-school {
    font-size: 25px;
    position: relative;
    padding-left: 12px;
    margin-bottom: 5px;
}
h3.foot-school {
    font-size: 25px;
}
#footer-nav a:before {
    content: "";
    width: 15px;
    height: 1px;
    background: #aaa;
    position: absolute;
    left: 0;
    top: 50%;
}

#footer-nav a {
    font-size: 20px;
    padding-left: 25px;
    position: relative;
    margin-bottom: 5px;
    display: block;
}
.footer-nav li:hover>a {
    color: #5476b5;
}
#footerwrap .footer-nav ul a:hover {
    color: #5476b5;
}
#footerwrap .footer-nav a:hover {
    color: #5476b5;
}
#footerwrap .footer-nav ul a {
    width: unset;
    padding: 0 25px;
    color: #111;
    font-size: 16px;
}
#footerwrap .footer-nav ul a:before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
    background: none;
    width: auto;
    height: auto;
}
#ft ul.sub-menu {
	    background: none!important;
    margin-bottom: 25px;
    position: relative;
    visibility: visible;
    opacity: 1;
    transform: none;
    box-shadow: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}
.foot2 .right-wrap {
    width: 55%;
}
.foot2 .left-wrap {
    width: 50%;
}
.foot2 {
    display: flex;
}
.foot1,.foot2 {
    width: 1300px;
    margin: 0 auto;
    max-width: 90%;
}


div#footerwrap {
    border-top: 1px solid #ddd;
}
.slide-animation{
    animation: fadezoom 8s 0s forwards;
}
@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

div.view-width{    width: calc(100vw - 16px);}

#body{
	overflow:hidden;
}

ul.feature.school {
    margin-top: 50px;
}
.left-w img {
    width: 100%;
}
#s-wrap .right-w iframe {
    position: absolute;
    bottom: 30px;
    left: -284px;
    height: 367px;
    width: 550px;
    max-width: unset;
}
#s-wrap .left-w {
	    width: calc(100% - 100px);

}

#s-wrap .right-w {
position: relative;
	    width: 100px;
    z-index: 0;
}
.top-feature-flex.school .left-wrap {
    width: 60%;
}
.top-feature-flex.school .right-wrap {
    width: 40%;
}

.top-feature-flex.school {
    width: 90%;
	    gap: 50px;
}
.back-g.sc {
    width: calc(100% + 120px);
}

.back-g {
    width: 0;
    height: 400px;
    background: linear-gradient(90deg, #1e31540f, #1e315466);
    position: absolute;
    z-index: -1;
    top: -170px;
    left: -120px;
    transition: 1.5s ease;
}
p.tate {
    writing-mode: vertical-lr;
    font-family: 'Open Sans';
    font-size: 50px;
    margin-left: 20px;
}
div.over {
    overflow: hidden;
}

.story-wrap .slick-list.draggable {
  padding-left:3px;
}
#body .story-wrap article {
    width: 370px;
}
#body .story-wrap article {
    margin: 3px 20px;
}
.left-margin div.last {
    width: calc(100% - 400px);
}
.left-margin div.first {
    width: 400px;
}
.left-margin .subrow_inner {
    display: flex;
}
#campaign ul.slick-dots {
    bottom: -45px;
}
div#campaign {
    width: calc(100vw - 16px);
}
#campaign div{
    padding: 0 20px;
}
span.dmb {
    width: 600px;
    height: 200px;
    background: #1e3154;
    display: block;
    margin: 0 auto;
    color: #fff;
}
div#site-logo {
margin: 36px 45px;
}
#s-wrap dl dd {
    letter-spacing: .1em;
}

#s-wrap a.btn {
    right: 0;
    bottom: 9px;
    width: 250px;
    margin: 60px 0;
}
#s-wrap dl a {
    font-size: inherit;
}
a.btn {
    position: absolute;
    right: 0;
    bottom: 10px;
    width: 250px;
}

#s-wrap dl dd {
    font-size: 20px;
    margin-left: 100px;
}
#s-wrap dl dt {
    position: absolute;
    font-size: 20px;
}
#s-wrap h4 span {
    font-size: 39px;
    position: absolute;
    z-index: 0;
    color: #1e315447;
    font-family: 'Nothing You Could Do', cursive;
    top: 21px;
    white-space: nowrap;
    left: -20px;
    transform: rotate(9deg)skewY(-13deg);
}

#s-wrap h4 {
	    margin-top: 10px;
margin-bottom: 20px;
	position:relative;
    font-size: 40px;
}
#s-wrap p.big-back-f {
    font-size: 50px;
    top: 240px;
}


div#s-wrap div#s1.on, div#s-wrap div#s2.on {
	    z-index: 0;
    display: flex;
    visibility: visible;
    height: auto;
}

div#s-wrap div#s1, div#s-wrap div#s2 {
    position: relative;
    visibility: hidden;
    height: 0;
    z-index: -9;
}
ul.feature.school p {
    font-size: 16px;
    line-height: 1.6;
    margin: 12px 0 0;
}
ul.feature.school span {
    margin-bottom: 7px;
}
ul.feature.school li {
	    padding: 30px;
    font-size: 26px;
}
ul.feature.school span.eng {
    width: unset;
    text-align: left;
    background: none;
    color: #111;
    font-family: 'Open Sans', sans-serif;
margin: -7px 0 0;
}
#body div.abs {
    position: absolute;
    width: 500px;
    height: 333px;
    left: -129px;
    bottom: -58px;
}

p.big-back-f {
    font-size: 55px;
    position: absolute;
    z-index: 0;
    color: #1e31541c;
    font-family: 'Nothing You Could Do', cursive;
    top: 265px;
    white-space: nowrap;
    left: -27px;
    transform: rotate(7deg)skewY(-13deg);
}
div#f-wrap div {
    position: relative;
}
#f-wrap h4 span {
    width: 35px;
    height: 35px;
    display: block;
    position: absolute;
    left: 0;
    top: -1px;
    background: #1c2f50;
    text-align: center;
    color: #fff;
    font-size: 18px;
    border-radius: 100%;
    line-height: 35px;
}
#f-wrap h4 {
    font-size: 21px;
    border-bottom: 1px solid #cdcdcd;
    padding: 0 0 10px 50px;
    margin: 20px 0 15px;
    position: relative;
}
div#f-wrap div.on {
    display: block;
}
div#f-wrap div {
    display: none;
}

.top-feature-flex div.left-wrap, .top-feature-flex div.right-wrap {
    width: 48%;
}
.top-feature-flex {
    display: flex;
    gap: 4%;
    width: 1200px;
    margin: 0 auto;
    max-width: 100%;
}

  .iframe-responsive {
    position: relative;
    width: 100%;
    padding: calc(315 / 560 * 100%) 0 0;
  }
  .iframe-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
p.big-back.right {
    top: -5px;
    right: -40px;
}
p.university:after {
    content: "合格";
    margin-left: 0.3em;
}
p.university {
    font-size: 16px;
	    margin-bottom: 5px;
}

.builder-posts-wrap.loops-wrapper.stories {
    display: flex;
}

.story-wrap .loops-wrapper .post-title {
    margin: 5px 0;
}

.story-wrap .loops-wrapper .post-title a {
    font-size: 20px;
    color: #a11a1a;
    line-height: 1.6;
}
.story-wrap .story-innner {
padding: 10px 20px 20px;
    text-align: left;
background: #fff;
}

p.post-meta.entry-meta {
    margin: 0;
    text-align: left;
}
span.post-category a {
    font-size: 13px;
    background: #666666;
    color: #fff;
    padding: 1px 10px;
}
span.post-category a.term-medical,span.post-category a.term-dental,span.post-category a.term-pharmacy {
background: #a11a1a;

}
span.post-category a.term-general,span.post-category a.term-recommend,span.post-category a.term-ao {
    background: #1e3154;

}

.post-meta .post-category:before {
	    display: none;
}
span.post-author {
    display: none;
}


.story-wrap article {
    box-shadow: 0px 0px 1px 1px rgb(166 166 166 / 17%);
}
#body .row-width-1 .row_inner {
width: 1600px;
      max-width: 90%;
    margin: 0 auto;
}
ul.feature span {
    background: #1e3154;
    color: #fff;
    font-size: 15px;
    width: 300px;
    display: block;
    text-align: center;
    margin-bottom: 15px;
}
.back-block.sc {
    width: 60vw;
}

.back-block {
    width: 0;
    height: 320px;
background: linear-gradient(90deg, #d3e2ff1c, #5e97ff2b);
    right: 0;
    position: absolute;
    bottom: -130px;
    z-index: -1;
    transition: 1.5s ease;
}
p.big-back {
    font-size: 130px;
    position: absolute;
    z-index: -1;
    color: #1e315412;
    font-family: 'Nothing You Could Do', cursive;
    top: -113px;
transform: rotate(9deg)skewY(-13deg);
}
h2.sec-title.white:after {
    background: #fff;
	    box-shadow: 0 0 3px #111;
}

h2.sec-title.white {
    color: #fff;
	text-shadow: 0 0 3px #111;
}

div.overflow {
    overflow: hidden;
}

div.result-slider .slick-slide {
    padding: 0 15px;
    box-sizing: border-box;
}
span.shiken {
	    display: none;

}
div.result-slider div.slick-slide div:after {
    width: 100%;
    height: 1px;
    position: absolute;
    content: "";
    bottom: -15px;
    background: #bbbbbb69;
    left: 0;
}
#body p.koukou {
    top: 0px;
    position: absolute;
    background: #d4e3ff;
    color: #1e3154;
    font-size: 13px;
    text-align: center;
    width: 100px;
    right: 0;
}
span.daigaku {
    font-size: 20px;
	    display: block;
}
span.koukou {
    position: absolute;
}
div.result-slider h5 {
    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 18px;
}

div.result-slider div.slick-slide div p {
    font-size: 18px;
}



div.result-slider div.slick-slide div {
    margin-bottom: 30px;
    padding-left: 69px;
    position: relative;
}
div.result-slider h5 {
    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 18px;
}

div.result-slider ul.slick-dots {
    bottom: -22px;
}
div.result-slider {
padding: 30px 10px 10px;
}
.teacher-slide .builder-posts-wrap {
    width: calc(100vw - 10px);
}
.slick-prev:before {
    content: "";
    width: 40px;
    height: 40px;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    position: absolute;
    transform: rotate(-45deg);
    top: 5px;
    left: 10px;
}
.slick-next:before {
    content: "";
    width: 40px;
    height: 40px;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    position: absolute;
    transform: rotate(135deg);
    top: 5px;
     right: 10px;
}
button.slick-arrow:hover {
    transform: translateY(0px);
	    transform: translateY(0px);
    background: transparent;
    box-shadow: none;
}
#body .teacher-slide article.slick-center:before {
	    background:transparent;
	    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
	    z-index: -1;
}
.teacher-slide article.slick-slide:before {
    content: "";
    background: #ffffffc7;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 10;
	    transition: 1s ease;
	    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px);
}
.slick-prev {
    left: 50px;
}
.slick-next {
    right: 50px;
}
.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
     top: calc(50% - 35px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
	    z-index: 1;
}


.teach-wrap {
    display: flex;
    width: 100%;
    position: relative;
	    gap: 0;
	    padding: 0 50px;
    box-sizing: border-box;

}
.teach-wrap div.right-wrap {
    width: 55%;
}
.teach-wrap div.left-wrap {
    width: 45%;
	    box-sizing: border-box;
    padding-right: 1%;
}
.themify_builder_content.themify_builder_content-768.themify_builder.not_editable_builder.in_the_loop {
    display: none;
}
.module.module-text.tb_nwn2455.vww {
    width: 100vw;
}
#body .teacher-slide article {

    display: block;
		width:1160px;
}


.teach-wrap p.yakuwari {
    margin: 0;
}


.teach-wrap p {
    margin-bottom: 15px;
}
.teach-wrap strong {
    font-size: 21px;
    font-family: "a-otf-ryumin-pr6n", serif;
}
p.tanto {
	    max-width: 100%;
     background: #1e3154;
    color: #fff;
    text-align: center;
    width: 409px;
    margin: 20px 0;
    font-size: 15px;
}
.teach-wrap h3 span {
    font-size: 18px;
    margin-left: 16px;
	    letter-spacing: .07em;
}
.teach-wrap h3 {
    font-size: 39px;
    font-family: "a-otf-ryumin-pr6n", serif;
    letter-spacing: .1em;
}
.name-wrap {
border-bottom: 1px solid #ddd;
    margin-bottom: 25px;
    padding-bottom: 10px;
}

.themify_builder_content.themify_builder.not_editable_builder.in_the_loop {
    display: none;
}


div#st-test {
    width: 100vw;
}

p.sent.big {
    font-size: 24px;
}

ul.feature li:hover:before, ul.feature li.on:before {
    width: 100%;
}

ul.feature li:before {
    content: "";
    position: absolute;
    width: 0;
    height: 100%;
background: #0000000d;
    left: 0;
    top: 0;
    display: block!important;
    transition: .3s ease;
}
ul.feature i:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 30px;
    height: 1px;
    background: #999;
}
ul.feature i {
    font-size: 25px;
    line-height: 1;
    width: 30px;
    display: inline-block;
    text-align: center;
    margin-right: 14px;
    position: relative;
}
ul.feature li {
	background: #fff;
	    cursor: pointer;
	    transition: .2s ease;

    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 20px;
    padding: 30px 20px;
    list-style: none;
    border-bottom: 1px solid #ddd;
    position: relative;
}
ul.feature {
    border-top: 1px solid #878787;
    margin: 0;
}

.right-wrap img {
    width: 100%;
}
h2.sec-title.left:after {
    margin: 0;
}
h2.sec-title.sc:after {
	    width: 60px;
}
h2.sec-title.center:after {
	    margin: 0 0px 0 -30px;
}


h2.sec-title:after {
	transition: .8s ease;
    content: "";
    width: 00px;
    height: 1px;
    position: absolute;
    background: #111;
    bottom: 20px;
    margin: 0 0px 0 0px;
}
h2.sec-title.center {
    text-align: center;
}
h2.sec-title span {
    display: block;
    font-size: 20px;
	    padding-top: 4px;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: .05em;
}
h2.sec-title {
	padding-bottom: 40px;
	position: relative;
    font-family: "a-otf-ryumin-pr6n", serif;
font-size: 34px;
    letter-spacing: .1em;
}
p.sent {
    width: 75%;
    margin-left: 5%;
    margin-bottom: 20px;
    font-family: "a-otf-ryumin-pr6n", serif;
}
.top-about-flex .left-wrap {
    width: 50%;
    padding-top: 200px;
}
.top-about-flex .right-wrap {
    width: 45%;
	    position: relative;
}
.top-about-flex {
    display: flex;
	    gap: 5%;
}
p.big-catch:before {
    content: "";
    width: 00px;
    height: 1px;
    background: #111;
    position: absolute;
    top: 53%;
    left: -12px;
	transition:.8s ease;
}
p.big-catch.sc:before {
    width: 50px;	
	
}
p.big-catch {
	    letter-spacing: .1em;
	position: absolute;
    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 44px;
    top: 0;
    padding-left: 70px;
	text-shadow: 0 0 7px #fff, 0 0 7px #fff, 0 0 7px #fff;
	z-index: 1;
}

#main-nav a {
    font-family: "a-otf-ryumin-pr6n", serif;
	    font-size: 19px;
}

div#headerwrap.fixed-header {
box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
-moz-box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
-webkit-box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
}
div.mainv-wrap {
    padding-left: 10vw;
}
div.test{background:red;}


#body .result-slider .themify_builder_content {
    display: none;
}
header#header, .fixed-header #header {
    padding: 0;
}


select.wpcf7-form-control.wpcf7-select {
    width: 100%;
    padding: 5px 30px 5px 15px;
	    min-height: 37px;
}
.single .kasoh .module.module-text {
    max-width: 90%;
}
div#layout.sp-key {
    width: 800px;
}
h1.kasot {
    font-size: 28px;
    line-height: 1;
}
p.kasote {
    font-size: 19px;
    line-height: 1;
    margin-top: 13px;
    font-family: open sans;
}
.kasoh .module.module-text {
	    max-width: 100%;
    width: 400px;
    margin: 0 auto;
    text-align: center;
    background: #ffffffd9;
    padding: 25px 0;
}
/* テンプレート */
#site-logo a {
    font-size: 0;
}
.themify_builder_active .themify_builder_row.module_row {
    z-index: unset;
}
div.bd {
    width: 100%;
    margin: 0 20px 0 30px;
    height: 1px;
    border-top: 1px dotted;
}
.border-list p {
    white-space: nowrap;
}
.border-list {
    display: flex;
    justify-content: space-between;
    vertical-align: middle;
    align-items: center;
}
a.phone.foot-p {
    font-size: 34px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1;
color: #111;
}
.cover-bottom.sc:before {
    height: 0;
}
.cover-bottom:before {
    content: "";
    background: #1e3154;
    position: absolute;
    height: 100%;
    width: 100%;
    right: 0;
    bottom: 0;
    transition: .5s ease;
}
.cover-right.sc:before,.cover-left.sc:before {
    width: 0;
}
.cover-right:before {
    content: "";
    background: #1e3154;
    position: absolute;
    height: 100%;
    width: 100%;
    right: 0;
    top: 0;
    transition: .5s ease;
}
.cover-left:before {
    content: "";
    background: #1e3154;
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    transition: .5s ease;
}
.cover.sc:before {
    opacity: 0;
}
.cover:before {
    content: "";
    background: #1e3154;
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
	    transition: .5s ease;
}

.fade-right.sc,.fade-left.sc,.fade-bottom.sc {
    opacity: 1;
    transform: translate(0px, 0px);
}
.fade-bottom {
    opacity: 0;
    transition: .5s ease;
    transform: translate(0, 15px);
}
.fade-left {
    opacity: 0;
    transition: .5s ease;
    transform: translate(-15px, 0px);
}
.fade-right {
    opacity: 0;
    transition: .5s ease;
    transform: translate(15px, 0px);
}
.fadein.sc {
    opacity: 1;
}
.fadein {
    opacity: 0;
    transition: .5s ease;
}

.faq2 .answer:before {
    content: "A";
    background: #e67e22;
    color: #fff;
    width: 30px;
    height: 30px;
    display: block;
    text-align: center;
    line-height: 30px;
    position: absolute;
    border-radius: 100%;
    left: 20px;
    transform: translateY(-50%);
    top: 50%;
}
.faq2 .answer {
    padding: 20px 30px 20px 60px;
    border: 2px #e67e22 solid;
    margin-top: 10px;
    position: relative;
}
summary:focus {
    outline: none;
}
.faq2 details {
    margin-bottom: 30px;
}
.faq2 details[open] .answer {
    animation: fadein .5s ease-in-out;
}
@keyframes fadein{0%{opacity:0;}
	100%{opacity:1;}}
.answer {
    padding: 20px 30px;
}
.faq2 details[open] summary:after {
    transform: translateY(-50%)rotate(
45deg
);
}
.faq2 summary:after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    transition: .5s;
	font-size: 30px;
}
.faq2 summary:hover,.faq2  details[open] summary {
    background: #ccdeff;
}
.faq2 summary:before {
    content: "Q";
    background: #1e3154;
    color: #fff;
    width: 30px;
    height: 30px;
    display: block;
    text-align: center;
    line-height: 30px;
    position: absolute;
    border-radius: 100%;
    left: 20px;
    transform: translateY(-50%);
    top: 50%;
}
.faq2 summary {
	    list-style: none;
    position: relative;
    padding: 20px 60px 20px 60px;
    background: #fafafa;
    cursor: pointer;
	    border: #1e3154 2px solid;
}



span.pen {
    background: linear-gradient( transparent 70%, #ccdeff 70%);
}
span.wavy {
    text-decoration: wavy underline #1e3154;
}
span.dot {
text-emphasis: filled #1e3154;
    -webkit-text-emphasis: filled #1e3154;
}
span.sesame {
    text-emphasis: sesame #1e3154;
    -webkit-text-emphasis: sesame #1e3154;
}
p.hanten {
    mix-blend-mode: difference;
    font-size: 50px;
    font-weight: 600;
    color: #fff;
}
.module.back-plaid {
    background-image: repeating-linear-gradient(
0deg
, #ccdeff 0 10px, transparent 10px 20px),repeating-linear-gradient(
90deg
, #ccdeff 0 10px, transparent 10px 20px);
}
div.back-dot {
    background-image: radial-gradient( #ccdeff 30%,#fff0 31%),radial-gradient( #ccdeff 30%, #fff0 31%);
    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;
}
div.back-border {
    background-image: repeating-linear-gradient(
45deg
, #ccdeff, #ccdeff 5px, rgb(0 0 0 / 0%)0, #0000 10px);
}
div.module.kugiru {
    background: #fff;
}


.card article:hover {
    transform: translate(0,-10px);
}
.card figure a, .card h2 a {
    position: relative;
}
#body .card article {
    background: #fff;
    box-shadow: 0px 0px 2px 1px rgb(66 66 66 / 30%);
    -moz-box-shadow: 0px 0px 2px 1px rgba(66,66,66,0.3);
    -webkit-box-shadow: 0px 0px 2px 1px rgb(66 66 66 / 30%);
    transition: .3s ease;
}
.card .post-content {
    height: 98px;
    padding: 0px 11px;
}
.card a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    z-index: 4;
    display: block!important;
}

.themify_builder_row.module_row {
    z-index: 0;
}

h3.slm {
    font-size: 14px;
}
h3.slm span:after {
    content: "";
    background: #444;
    width: 1px;
    height: 20px;
    position: absolute;
    right: -15px;
bottom: 13px;
    transform: rotate(
45deg
);
}
h3.slm span {
    color: #1e3154;
    font-weight: 600;
    font-size: 34px;
    display: inline-block;
    margin-right: 30px;
	position: relative;
}


h3.kmdsr {
    text-align: center;
    padding-top: 28px;
    font-weight: 600;
    font-size: 28px;
}

h3.kmdsr span {
    font-weight: 900;
    position: absolute;
    color: #ccdeff;
    font-size: 48px;
    top: 0;
    line-height: 1;
    z-index: -1;
    left: 0;
    right: 0;
}
h3.kmdsl {
    padding-top: 28px;
    font-weight: 600;
    font-size: 28px;
}
h3.kmdsl span {
    font-weight: 900;
    position: absolute;
    color: #ccdeff;
    font-size: 48px;
    top: 0;
    line-height: 1;
    z-index: -1;
    left: 0;
}



h3.back.c1-2 {
    background: #0f1f3c;
}
h3.back.c1-3 {
    background: #ccdeff;
}
h3.back.c2 {
    background: #e67e22;
}

/* テンプレートここまで */


.phone.foot-p a {
    color: #111;
}
a.tb_turn_on.js-turn-on-builder {
    display: none;
}
#body .esc img { 
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.spro-wrap{width:100vw;}
#footer .back-top-float, #pagewrap .back-top-float {
    background-color: #1e3154;
}
button.btn.btn-large.btn-primary:hover {
    box-shadow: 0 0 black;
}

.post-image img {
    border-radius: 0;
}
.cpc {
    width: 500px;
    margin: 0 auto;
    background: #fafafa;
    padding: 10px 0;
    max-width: 100%;
    margin-bottom: 40px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #ddd;
}
.themify_builder_row.module_row.clearfix.foot-c .row_inner {
    width: 900px;
      max-width: 100%;
    margin: 0 auto;
}
a.btn.footb {
    padding: 7px 0;
    width: 350px;
    margin: 10px auto 0;
	    max-width: 100%;
}


p.phone.foot-p {
    font-size: 26px;
    font-weight: 900;
    line-height: 1.2;
}
.module.module-text.mvfade {
    width: 1200px;
    padding: 200px 30px;
    box-sizing: border-box;
    margin: 0 auto;
    background-size: cover;
    background-position: center center;
}
.sp-black {
    color: inherit;
    background: none;
}
h3.hback {
    background: rgba(255, 255, 255, .95);
    display: inline-block;
    padding: 5px 15px;
    font-size: 38px;
    font-weight: 600;
}

p.hb2 {
    background: rgba(255, 255, 255, .95);
    display: inline-block;
    padding: 5px 15px;
    font-size: 14px;
    font-weight: 500;
}
.module-image.image-top.mvf .image-content {
    margin: 0;
    position: absolute;
    z-index: 4;
	left:30px;
    top: 50%;
}





.pagewidth, .full_width .themify_builder_row .row_inner, .full_width .module-layout-part .themify_builder_row.fullwidth_row_container .row_inner {
    width: 1160px;
    max-width: 100%;
    margin: 0 auto;
}
#main-nav a {
    text-align: center;
}
#main-nav a span {
    display: block;
    font-size: 12px;
    font-family: "a-otf-ryumin-pr6n", serif;
    line-height: 1;
    padding-top: 2px;
}
time.post-date.entry-date.updated {
    text-align: left;
}
.entry-content {
    text-align: left;
}
#main-nav-wrap #main-nav .current_page_item > a, #main-nav .current-menu-item > a, #main-nav > .current_page_item > a, #main-nav > .current-menu-item > a,#headerwrap #mobile-menu.sidemenu-on nav a:hover, #headerwrap #mobile-menu.sidemenu-on nav .current-menu-item > a {
    color: #1e3154;
}
#main-nav-wrap #main-nav .current_page_item a:hover, #main-nav .current-menu-item a:hover,#main-nav-wrap #main-nav a:hover, #main-nav-wrap #main-nav > li > a:hover,#headerwrap #mobile-menu.sidemenu-on nav a:hover, #headerwrap #mobile-menu.sidemenu-on nav .current-menu-item > a {
    color: #1e3154;
}
#header a:hover {
    color: #1e3154;
}
.post-title a:hover {
    color: #1e3154;
}
div#site-logo,.mobile_menu_active #site-logo {
    font-size: 0;
}


.one, .one a {
    font-size: 13px;
}



.sp-key .post-title a {
    font-size: 22px;
    font-weight: 400;
}

h3.bi-color.c1{
          font-weight: 900;
 color: #1e3154;
}
.cl.bi-color {
  color:#0f1f3c;
        font-weight: 900;
}
h3.bi-color.orange {
    color: #e67e22;
      font-weight: 900;
}


div#site-description {
    font-weight: 400;
    position: absolute;
    top: 2px;
}

.header-on-scroll .snsicon {
    display: none;
}
.sp-key h3 {
    border-bottom: 1px #999 dotted;
    padding-bottom: 5px;
    margin-bottom: 7px;
}
.sp-key h4 {
    border-bottom: 1px #999 dotted;
    padding-bottom: 5px;
    margin-bottom: 7px;
    font-size: 16px;
}
.sp-key h3:before{
  content:"■";
color:#1e3154;
}
.loops-wrapper.list-post .post-date-inline .post-date, .single-post .post-content .post-date-inline .post-date {
    text-align: left;
    margin: 0;
}
table.cp-table {
    margin: 0 auto;
    text-align: left;
    font-size: 14px;
      border-bottom: 1px dashed #999;
      width: 100%;
}
table.cp-table td,  table.cp-table th{
    border-top: 1px dashed #999;
    padding: 16px;
    font-weight: 400;
}

.narrow .row_inner {
    width: 860px;
      max-width: 100%;
    margin: 0 auto;
}
#footer .widget  a {
    font-weight: 400;
    line-height: 1.6;
}
.widget .feature-posts-list li {
    padding: 0;
    margin: 0;
    text-align: left;
}
.widget li {
    padding: 0;
    line-height: 1.6;
}
.footer-widgets .widgettitle {
    border-bottom: 1px dotted;
    padding-bottom: 10px;
    font-size: 15px;
}
h4.bo {
    font-size: 20px;
    margin-bottom: 15px;
}
table.simple-table td:first-child {
    background: #f1f6ff;
}
.sidebar h4.widgettitle, #sidebar h4.widgettitle {
    background: #1e3154;
    color: #fff;
    margin-bottom: 0;
    padding: 8px 11px;
    font-size: 14px;
    text-align: center;
}
.sidebar div.widget,#sidebar div.widget {
    font-weight: 400;
    font-size: 14px;
        margin-bottom: 25px;
}
.sidebar .widget li, #sidebar .widget li {
    border-bottom: 1px dotted #999;
}
.sidebar .widget ul, #sidebar .widget ul, .sidebar .widget .textwidget, #sidebar .widget .textwidget {
    padding: 5px 10px;
	    border: 1px solid #ddd;
    border-top: none;
}
.sidebar .widget li a, #sidebar .widget li a {
color:#111;
}
.sidebar .widget li a:before, #sidebar .widget li a:before {
content:"\f0da";
  font-family: "Font Awesome 6 Pro";    font-weight: 900;
    width: 16px;
    display: inline-block;
    text-align: center;
}
#footer a {
    font-weight: 400;
}
.widget li {
    padding: 0;
    line-height: 1.6;
}
.sidebar .widget.widget_categories ul.children li a:before, #sidebar .widget.widget_categories ul.children li a:before {
    content: "・";
      padding-right: 0px;
}
.widget ul ul.children {
    padding-left: 5px;
  margin: 4px 0 0;
}
a.read-more {
  white-space: nowrap;
    color: #e67e22;
    padding-left: 3px;
}
	body.fixed-header #headerwrap, #headerwrap {
    min-height: unset;
}

#sidebar .widget_nav_menu h4.widgettitle:before {
content:"\f03a";
  font-family: "Font Awesome 6 Pro";    font-weight: 900;
      font-weight: 100;
}
.archive main#content {
    padding: 5.75% 0 6%;
}
.archive h1.page-title {
    border-bottom: 1px #999 dotted;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

/* よくある質問 */
.faq dt {
  color:#1e3154;
    font-weight: 400;
    border: 1px solid #1e3154;
    margin-bottom: 5px;
    padding: 5px 15px 5px;
    cursor: pointer;
    background: #fff;
    position: relative;
    line-height: 1;
    height: 30px;
  margin-left:42px;
}
.faq dt:before {
    content: "+";
    position: absolute;
    display: block;
    left: -42px;
    height: 40px;
    background: #1e3154;
    border: 1px solid #1e3154;
    top: -1px;
    width: 40px;
    color: #fff;
    text-align: center;
    line-height: 40px;
    font-size: 30px;
    font-weight: 900;
    font-family: sans-serif;
}
.faq dt.click {
      border-top: 1px solid #e67e22;
  border-left: 1px solid #e67e22;
  border-right: 1px solid #e67e22;
    border-bottom: none;
color:#e67e22;
  margin-bottom:0;
}
.faq dt.click:before {
    content: "-";
      background: #e67e22;
        border: 1px solid #e67e22;
}
.faq dd {
    border-right: 1px solid #e67e22;
    border-left: 1px solid #e67e22;
    border-bottom: 1px solid #e67e22;
    color: #111;
    padding: 0px 15px 10px;
    cursor: pointer;
    background: #fff;
    position: relative;
    margin-left: 42px;
    font-weight: 400;
    margin-bottom: 5px;
}
@media screen and (max-width: 680px){
     .faq dt span {
    line-height: 1;
    display: inline-block;
          font-size: 13px;
}
  .faq dt,.faq dd {
padding: 5px 10px;
  }
  .faq dd {
    font-size: 13px;
    line-height: 1;
}
  .faq dt.click:before,.faq dt:before {
    font-size: 20px;
} 
}
/* よくある質問ここまで */

/* スマホ時マージンボトム */
  
@media screen and (max-width: 680px){
  div.spmb10{
    margin-bottom:10px;
  }
    div.spmb15{
    margin-bottom:15px;
  }
      div.spmb20{
    margin-bottom:20px;
  }
}
/* スマホ時マージンボトムここまで */


/* 施工事例写真エリア */
.p-area {
    margin-bottom: 40px;
    background: #d7e5ef;
    padding: 30px;
	    display: block;
}
#body p.app {
    background: #1e3154;
    display: block;
    color: #fff;
    padding: 3px 17px;
    margin: 15px 0 10px;
    border-radius: 10px;
    font-weight: 600;
width: 61px;
    text-align: center;
}
.dpw {
    width: 100%;
    background: #fff;
}
img#dpi {
    height: 100%;
    width: 100%;
    object-fit: contain;
	    display: block;

}
.thuw {
    background: #fff;
    overflow: auto;
    padding: 15px;
}
span.thuwp {
    width: 90px;
    height: 90px;
    display: block;
    float: left;
    margin-right: 10px;
}
img.thu {
    width: 100%;
    cursor: pointer;
    height: 100%;
    object-fit: cover;
}
#body p.app.before {
    background: #e67e22;
}
@media screen and (max-width: 680px){
.p-area {
    padding: 10px;
}
	.move {
    display: block;
    height: 90px;
}
}
/* 施工事例写真エリアここまで */

/* シングルポスト */
.sp-key h1.post-title.entry-title {
    text-align: left;
}
.sp-key h1.post-title.entry-title {
    border-bottom: 1px dotted #999;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.sp-key time.post-date.entry-date.updated span {
    font-weight: 400;
}
/* スマホアイキャッチ横いっぱい */
@media screen and (max-width: 680px){
  .sp-key figure.post-image.clearfix {
    margin: 0px -5.6% 20px;
}
}
/* ポストここまで */

/* ヘッダーズレ修正 */
#content {
    padding: 0;
}
  @media screen and (max-width: 760px){
body #content {
    padding-top: 0;
  }
}
/* ヘッダーズレ修正ここまで */


/* テーブルシンプル */
table.simple-table {
    border-collapse: collapse;
    text-align: left;
    width: 100%;

}
table.simple-table th, table.simple-table td {
    padding: 5px 15px;
    border: 1px solid #ddd;
}
table.simple-table th{
  font-weight:700;
  background:#fafafa;
}



/* テーブルバイカラー */
table.bi-color-table {
    border-collapse: collapse;
    text-align: left;
    width: 100%;
    border: 1px solid #ccc;
}
table.bi-color-table th, table.bi-color-table td {
    padding: 10px 20px;
}
table.bi-color-table tr:nth-child(even){
  background:#fafafa;
}
table.bi-color-table th{
  font-weight:700;
}


/* メニュー左右ボーダー
#main-nav a {
    border-left: 1px solid #999;
    text-align: center;
    width: 100px;
    padding: 0;
}
#main-nav .menulast a {
    border-right: 1px solid #999;
}
ul#main-nav {
    padding: 10px 0;
}
*/


/* 見出し集 */
h3.moji {

}
.moji span {
    position: relative;
}
.moji.sc span:after {
	width: calc(100% + 10px);}
.moji span:after {
    background:#ccdeff;
    content: "";
    height: 20px;
	transition: 1s;
    width: 0;
    left: -5px;
    display: block;
    position: absolute;
    bottom: -5px;
    z-index: -1;
}

h3.dbb {
    display: block;
    margin: 0 auto 15px;
    padding: 20px 0;
    line-height: 1;
    border: #1e3154 1px dashed;
    border-right: none;
    border-left: none;
    text-align: center;
    color: #1e3154;
    font-size: 20px;
    font-weight: 700;
    position: relative;
}
h3.dbb:before {
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    display: block;
    height: 1px;
    background: #1e3154;
    content: "";
}
h3.dbb:after {
    position: absolute;
    bottom: -5px;
    left: -5px;
    right: -5px;
    display: block;
    height: 1px;
    background: #1e3154;
    content: "";
}
.sayu {
      margin-bottom: 10px;

display: flex;
align-items: center;
}
.sayu:before,
.sayu:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
.sayu:before {
margin-right: 1rem;
}
.sayu:after {
margin-left: 1rem;
}
h3.back {
    background: #1e3154;
    color: #fff;
    padding: 5px 15px;
    margin-bottom: 10px;
    border-radius: 10px;
}
h3.bm:before {
    display: inline-block;
    width: 12px;
    height: 2px;
    margin-right: 9px;
    margin-left: 0;
    content: '';
    background: #1e3154;
}
h3.cm {
    border-bottom: #1e3154 solid 2px;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
h3.cm:before {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 9px;
    margin-left: 0;
    content: '';
    border: 3px solid #1e3154;
    border-radius: 50%;
}
h3.midashi {
    border-bottom: 1px dotted #999;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 18px;
}
h3.komidashi {
    border-bottom: 1px dotted #999;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 16px;
}
h3.bi-color {
    border-bottom: 2px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
  position: relative;
}
h3.bi-color::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 3px;
    background-color: #1e3154;
}

h3.cbar span {
    display: block;
    font-size: 32px;
    line-height: 1;
    padding-bottom: 10px;
}
h3.cbar:after {
    position: absolute;
    content: '';
    width: 60px;
    height: 2px;
    left: 50%;
    margin: 20px 0px 0 -30px;
    display: block;
    background-color: #111;
}
h3.cbar {
    text-align: center;
    padding-bottom: 40px;
    position: relative;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
}
h3.lbar span {
    display: block;
    font-size: 32px;
    line-height: 1;
    padding-bottom: 10px;
}
h3.lbar {
    padding-bottom: 40px;
    position: relative;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
}
h3.lbar:after {
    position: absolute;
    content: '';
    width: 60px;
    height: 2px;
    left: 0;
    margin: 20px 0px 0 0;
    display: block;
    background-color: #111;
}

h3.cbar.tate {
    padding-bottom: 55px;
}
h3.cbar.tate:after {
    width: 1px;
    height: 20px;
    margin: 20px 0px 0 0px;
    background-color: #555;
}
h3.lbar.tate {
    padding-bottom: 55px;
}
h3.lbar.tate:after {
    width: 1px;
    height: 20px;
    margin: 20px 0px 0 0px;
    background-color: #555;
}




h3.fc:first-letter {
  color: #1e3154;
}
h3.fcb:first-letter {
  color: #1e3154;
  font-size:26px;
}

h3.fcb {
    margin-bottom: 10px;
}
h3.fc {
    margin-bottom: 10px;
}
/* ヘッダー上下パディング */

.mobile_menu_active #header, .mobile_menu_active #headerwrap.fixed-header #header {
    padding: 5px 0 5px;
}
/* ヘッダー上下パディングここまで */


/* ゴーストボタン */
a.read_all_btn {
    background: #1e3154;
    display: inline-block;
    color: #fff;
    text-align: center;
    font-family: "a-otf-ryumin-pr6n", serif;
    padding: 10px 20px;
    font-size: 14px;
}
a.read_all_btn i {
  padding-left:5px
}
a.read_all_btn:hover {
background:#0f1f3c;
}
a.btn:hover {
    background: #0f1f3c24;
    color: #111;
}
a.btn {
	    max-width: 90%;
    background: #ffffff;
	    color: #111;
    position: relative;
    display: block;
    padding: 7px 0;
    font-size: 18px;
    border: 1px solid #ddd;
    text-align: center;
    text-decoration: none;
    width: 300px;
    margin: 0 auto;
    transition: .5s ease;
}
a.btn:after {
    content: "";
    position: absolute;
    right: 15px;
    line-height: 0;
    top: calc(50% - 3px);
    width: 20px;
    height: 6px;
    transform: skewX(45deg);
    border-right: 1px solid #c5c5c5;
    border-bottom: 1px solid #c5c5c5;
}
/* ゴーストボタンここまで */


.footer-horizontal-left .back-top, .footer-horizontal-right .back-top, .footer-left-col .back-top, .footer-right-col .back-top {
    top: -90px;
}



/* ローシャドウ */

div.photoshadow {
box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
-moz-box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
-webkit-box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
}
div.rowshadow {
box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
-moz-box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
-webkit-box-shadow:0px 0px 2px 1px rgba(66,66,66,0.3);
}
/* ローシャドウここまで */


/* 不要物表示オフ */
span.edit-button {
    display: none;
}
a.themify_builder_turn_on.js-turn-on-builder {
    display: none;
}
/* 不要物表示オフここまで */




/* 文字・問い合わせ基本 */

#footer a:hover {
    color: #1e3154;
}
h1, h2, h3, h4, h5, h6 {
    font-family: "a-otf-ryumin-pr6n", serif;
      font-weight: 400;
  margin:0;
      letter-spacing: unset;
    text-transform: unset;
}
.post-title a{
    font-family: "a-otf-ryumin-pr6n", serif;
    font-weight: 400;
  margin:0;
}
p {
    padding: 0;
    margin: 0;
    font-weight: 400;
    font-size: 17px;
    line-height: 2;
    font-family: "a-otf-ryumin-pr6n", serif;
}
div {
    font-family: "a-otf-ryumin-pr6n", serif;
}
a {
    font-family: "a-otf-ryumin-pr6n", serif;
        text-decoration: none!important;
      color: #1e3154;
}
span {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    font-weight: inherit;
}
* {
    font-family: "a-otf-ryumin-pr6n", serif;
      font-weight: 400;
    font-size: 16px;
    line-height: 2;
        letter-spacing: unset;
}
.sp-key p{
	font-size: 15px;
padding: 0px 0 25px;
}
ul, ol {
    margin: 0 0 0 1.6em;
}
li {
    margin: 0;
}
h3 {
    font-size: 18px;
}

summary::-webkit-details-marker {
  display:none;
}
/* 文字・問い合わせ基本ここまで */



/* テンプレ部 */

/* トップページ投稿 */
.top-news-row h2.post-title.entry-title {
    display: inline;
      font-size: 15px;
}
.top-news-row .builder-posts-wrap.list-thumb-image article {
    border-bottom: 1px solid #ddd;
    margin: 0;
    padding: 10px;
}
.top-news-row h2.post-title.entry-title a {
    font-size: 15px;
      display: inline;
      font-family: "a-otf-ryumin-pr6n", serif;
    font-weight: 400;

}
.top-news-row time.post-date.entry-date.updated {
    display: inline;
    font-size: 15px;
  color:#1e3154;
      font-weight: 400;
}
.top-news-row time.post-date.entry-date.updated span {
font-weight:600;
}
.top-news-row .post-date-wrap {
    display: inline-block;
    width: 10em;
}
.top-news-row .builder-posts-wrap.list-thumb-image article {
    border-bottom: 1px solid #ddd;
  margin: 0;
}
  .sp-key span.year:after{
 content:none; 
}
/* お知らせ文量少な目 */
div.hht::-webkit-scrollbar {
    width: 8px;
}
div.hht::-webkit-scrollbar-track {
  border-radius: 10px;
	background: #fafafa;
}
div.hht::-webkit-scrollbar-thumb {
  border-radius: 4px;
	background:#ddd;
}
div.hht {
    height: 300px;
    overflow: auto;
    border: 1px solid #ddd;
    padding: 20px;
}

.hht h2.post-title.entry-title a {
    line-height: 1.6;
    font-size: 15px;
    font-weight: 400;
}
.hht h2.post-title.entry-title {
width: calc(100% - 10em);
    float: left;
}

.hht .builder-posts-wrap.list-thumb-image article {
    border-bottom: 1px solid #ddd;
}
.hht .entry-content {
    float: left;
width: calc(100% - 10em);
}
.hht time.post-date.entry-date.updated {
  color: #1e3154;
      line-height: 1.6;
    font-size: 15px;
}
.hht .post-date-wrap {
    display: block;
    float: left;
    width: 10em;
      padding-bottom: 30px;
}
.hht .builder-posts-wrap.list-thumb-image article {
    border-bottom: 1px solid #ddd;
    padding: 0 0 15px;
    margin: 0 0 15px;
}
  .sp-key span.year:after{
 content:none; 
}
/* お知らせ文量少な目ここまで */

/* お問い合わせパーツ */
button.btn.btn-large.btn-primary i {
    position: absolute;
    right: 15px;
    top: 50%;
    line-height: 0;
}
button.btn.btn-large.btn-primary {
	    position: relative;
    width: 600px;
    background: #1e3154;
    padding: 10px 0;
    color: #fff;
    border: none;
    margin: 30px auto 30px;
    display: block;
    border-radius: 5px;
    max-width: 100%;
}
button.btn.btn-large.btn-primary:hover {
    background: #0f1f3c;
    padding: 10px 0;
}
p.middle-size-font {
    font-size: 18px;
    font-family: "a-otf-ryumin-pr6n", serif;
    line-height: 1.6;
    padding: 0;
}
a.beta-button-full {
	    position: relative;
    background: #1e3154;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 16px;
    font-family: "a-otf-ryumin-pr6n", serif;
    padding: 10px 0px;
    margin-top: 5px;
}
a.beta-button-full:hover {
background:#0f1f3c;
}
a.beta-button-full i {
    position: absolute;
    right: 15px;
    top: 50%;
    line-height: 0;
}
a.phone-no {
    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 36px;
    color: #111;
    display: block;
    font-weight: 700;
    line-height: 1;
}
span.phone-no-taiou {
    font-size: 14px;
    padding-top: 4px;
    display: block;
}

/* コンタクトフォーム２ */
table.contact {
  width:100%;
    margin: 0 auto;
    text-align: left;
    font-size: 14px;
      border-bottom: 1px dashed #999;
}
table.contact td,  table.contact th{
    border-top: 1px dashed #999;
    padding: 16px;
}
table.contact th {
    position: relative;
    width: 30%;
	    padding-right: 50px;
}
@media screen and (max-width: 1200px){
  table.contact {
    width: 100%;
  }
}


/* コンタクトフォーム１ */
table.subform {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    text-align: left;
}
table.subform th {
    border: #999 solid 1px;
    background: #1e3154;
    color: #fff;
    padding: 10px 20px;
      font-weight: 400;
      width: 30%;
}
table.subform td {
    border: #999 solid 1px;
    padding: 10px 15px;
      width: 70%;
}
@media screen and (max-width: 1200px){
    table.contact {
    width: 100%;
  }
}
input[type=text], input[type=password], input[type=search], input[type=email], input[type=url], input[type=tel] {
    margin: 0;
    max-width: 100%;
    width: 100%;
    padding: 5px 15px;
    border-radius: 5px;
}
textarea, input[type=text], input[type=password], input[type=search], input[type=email], input[type=url], input[type=number], input[type=tel], input[type=date], input[type=datetime], input[type=datetime-local], input[type=month], input[type=time], input[type=week] {
    margin: 0;
    max-width: 100%;
    width: 100%;
    padding: 5px 15px;
    border-radius: 5px;
}
input.wpcf7-form-control.wpcf7-submit {
    width: 600px;
    background: #1e3154;
    padding: 10px 0;
    color: #fff;
    border: none;
    margin: 30px auto 30px;
    display: block;
    border-radius: 5px;
    max-width: 100%;
}
span.hissu {
	    top: 21px;
      white-space: nowrap;
    background: #e74c3c;
    padding: 2px 5px;
    font-size: 14px;
    font-weight: 400;
    border-radius: 5px;
    margin-left: 10px;
  	color:#fff;
    position: absolute;
    right: 0;
}
.post-date {
    font-size: 14px;
  margin: 0;
}
.sidebar .widget li:last-child, #sidebar .widget li:last-child {
    border-bottom: none;
}
.sidebar .widget ul.children li, #sidebar .widget ul.children li {
    border-bottom: none;
	    padding: 0;
}
.sidebar .widget ul ul.children ,#sidebar .widget ul ul.children {
    padding: 0 0 7px 7px;
    border-bottom: 1px dotted #999;
}

.sidebar .widget li, #sidebar .widget li {
    padding: 1px 0 1px;
}
.sidebar .widget li a, #sidebar .widget li a,#sidebar .widget li a, #sidebar .widget li a {
    color:#111;
}
.sidebar .widget.widget_categories li a:before,#sidebar .widget.widget_categories li a:before {
    content: "\f15c";
    font-family: "Font Awesome 6 Pro";    font-weight: 900;
    color: #1e3154;
    padding-right: 7px;
}
#headerwrap {
    border-bottom: none;
}


#sidebar .widget ul.children, .sidebar .widget ul.children {
    padding: 0;
    border: 0;
    border-top: 1px solid #ddd;
    margin-bottom: 0px;
}
#sidebar .widget ul.children li, .sidebar .widget ul.children li {
    padding: 1px 0 1px 24px;
    position: relative;
}
.sidebar .widget.widget_categories ul.children li a:before, #sidebar .widget.widget_categories ul.children li a:before {
    content: "・";
    padding-right: 0px;
}

.textwidget a.btn {
    margin-top: 3px;
}
.textwidget p {
    padding-bottom: 5px;
}
.sp-key main#content {
    padding: 60px 0;
}
.single-post .post .post-date-inline {
    margin: 0;
}
p.ppt {
    padding-top: 15px;
}

#main-nav li.ulc a {
    cursor: default;
}
#main-nav li.ulc ul.sub-menu li a {
    cursor: pointer;
}
#main-nav li:not(.themify-widget-menu)>ul {
width: 210px;
    left: -61px;
    right: 0;
    margin: auto;
    box-shadow: unset;
    border: 1px solid #ddd;
    border-radius: 0;
    padding: 4px 0px;
}
#main-nav li:not(.themify-widget-menu)>ul li a {
    font-size: 15px;
padding: 0 10px;
}
#main-nav li:not(.themify-widget-menu)>ul li a:before {
    content: "・";
}
/* テンプレ部ここまで */

/* PC */
@media screen and (min-width: 1200px){
.pcnone{
  display:none;
  }
  #main-nav li.pcnone {
    display: none;
}
	#main-nav span.child-arrow {
    display: none;
}
}
/* PCここまで */

#body div.kasoh .row_inner {
	    margin: 0 auto;
    background-image: url(https://rams-yobikou.com/wp-content/uploads/2023/03/page-title1-2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
    background-position: center center;
    padding-top: 150px;
    padding-bottom: 150px;
    width: 90%;
    background-attachment: fixed;
}


/* slick */
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
    background: #b9b9b9;
    border-radius: 100%;
}
li.slick-active {
    background: #000;
}
.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

/* slick */


@media screen and (max-width: 1200px){
.jisseki .row_inner {
    max-width: 90%;
}
	#body .service-slide {
    width: 100%;
}
	#body .moji-wrap {
    width: 90%;
    left: 0;
    right: 0;
    top: unset;
    bottom: 5vw;
    margin: auto;
    position: relative;
}
	#body .service-flex {
    margin: 0 auto 0;
}
}


@media screen and (max-width: 1700px){
.jisseki .row_inner {
    max-width: 90%;
}
}
@media screen and (max-width: 1400px){
	.service-flex {
    margin: 0 auto calc(520px - 15vw);
}
	#main-nav .menu-item-has-children>a, #main-nav a {
    padding: 0 10px;
}
	#body p.koukou {
    font-size: 11px;
}
	div.result-slider div.slick-slide div:before {
    width: 52px;
    height: 49px;
    top: 0;
}
	div.result-slider h5
	span.daigaku {
		font-size: 16px;}
	
	#s-wrap .right-w iframe {
    width: 400px;
    bottom: 0;
    height: 400px;
}
	#body .story-wrap article {
    width: 300px;
}
p.big-back-f {
left: 4px;
    font-size: 70px;
    top: 220px;
}
}

@media screen and (max-width: 1160px){
	#body .teacher-slide article{width:100vw;}
}
@media screen and (min-width: 1800px){
	.service-flex {
    margin: 0 auto 150px;
}
.moji-wrap {
    top: 15vw;
}
}

@media screen and (min-width: 680px){
.on2 ul.slick-dots {
    display: none;
}

.on2 .slick-track {
    display: flex;
    justify-content: center;
    width: 100%!important;
    left: 0;
    transform: translate3d(0px, 0px, 0px)!important;
}
}