@charset "utf-8";
/* 共通 */
.concept-contents {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
.concept-contents .concept-txt {
    width: 48%;
}
.concept-contents .concept-txt p {
    margin-bottom: 50px;
    letter-spacing: normal;
}
.concept-contents figure {
    width: 50%;
    align-content: center;
}
.access{
    padding: 115px 0;
    background: #fffdf4;
}
.access .ttl {
    margin-bottom: 75px;
}
.access .access-map {
    height: 380px;
    margin-bottom: 50px;
}
.access .access-list {
    display: flex;
    justify-content: space-between;
}
.access .access-list ul {
    width: 46%;
}
.access .access-list li {
    border-bottom: dotted 1px #000;
    padding: 20px 0;
    font-weight: 500;
}
/* top */
.mv {
    height: 700px;
    background: url(../img/top/mv.jpg) no-repeat 80% 50% / cover;
}
.mv figure {
    width: max(5%, 70px);
    height: 100%;
    text-align: center;
    align-content: center;
    background-color: #fff;
}
.mv figure img {
    width: 12px;
}
.top-page .concept {
    padding: 135px 0 310px;
}
.top-page .concept p.concept-deco {
    font-size: clamp(1.25rem, -0.0568rem + 5.5758vw, 4.125rem);
    color: #ebe7e4;
    letter-spacing: .05em;
    margin-bottom: 120px;
}
.top-page .concept .concept-contents figure {
    position: relative;
}
.top-page .concept .concept-contents figure::before {
    content: '';
    display: block;
    width: 47%;
    height: 100%;
    background: url(../img/top/concept_deco01.jpg) no-repeat top center / 100% auto;
    position: absolute;
    top: 75%;
    left: -36%;
}
.top-page .concept .concept-contents figure::after {
    content: '';
    display: block;
    width: 40%;
    height: 100%;
    background: url(../img/top/concept_deco02.png) no-repeat top center / 100% auto;
    position: absolute;
    top: 70%;
    right: 0;
}
.top-page .reservation .inner{
    padding: 80px 10%;
    background: #d5e5ef;
    text-align: center;
    height: 100%;
    position: relative;
}
.top-page .reservation .inner::before {
	content: '';
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: 1px solid #fff;
	position: absolute;
	top: 10px;
	left: 10px;
}
.top-page .reservation .sub-ttl {
    margin-bottom: 55px;
    padding: 0;
}
.top-page .reservation ul {
    width: 700px;
    margin: 0 auto;
}
.top-page .reservation ul li a{
    background: #fff;
    width: 330px;
    height: 65px;
    align-content: center;
    position: relative;
    font-size: 18px;
    padding-left: 16px;
}
.top-page .reservation ul li a::before {
    content: '';
    width: 16px;
    height: 100%;
    position: absolute;
}
.top-page .reservation ul li:first-child a::before {
    background: url(../img/top/reservation_icon01.png) no-repeat center / contain;
    top: 0;
    left: calc(50% - 83px);
}
.top-page .reservation ul li:last-child a::before {
    background: url(../img/top/reservation_icon02.png) no-repeat center / contain;
    top: 0;
    left: calc(50% - 60px);
}
.top-page .contents {
    padding: 125px 0 185px;
}
.top-page .contents .ttl {
    margin-bottom: 80px;
}
.top-page .contents ul li {
    width: 32%;
    max-width: 340px;
    height: 250px;
}
.top-page .contents ul li a{
    width: 100%;
    height: 100%;
    text-align: center;
    align-content: center;
}
.top-page .contents ul li:nth-child(1) a {
    background: url(../img/top/contents01.jpg) no-repeat center / cover;
}
.top-page .contents ul li:nth-child(2) a {
    background: url(../img/top/contents02.jpg) no-repeat center / cover;
}
.top-page .contents ul li:nth-child(3) a {
    background: url(../img/top/contents03.jpg) no-repeat center / cover;
}
.top-page .contents ul li p {
    display: inline-block;
    width: 90%;
    max-width: 300px;
    height: 210px;
    align-content: center;
    background-color: rgba(0, 0, 0, 0.2);
    color: #fff;
    font-size: 26px;
}
.top-page .recruit {
    background: url(../img/top/recruit_bg.jpg) no-repeat 80% 50% / cover;
    padding: 100px 0 115px;
}
.top-page .recruit .ttl {
    margin-bottom: 75px;
}
.top-page .recruit .recruit-contents {
    display: flex;
    position: relative;
    padding-bottom: min(100%, 445px);
}
.top-page .recruit .recruit-contents .recruit-txt {
    padding: 45px 30px;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    z-index: 10;
    left: 0;
    top: 50%;
    transform: translatey(-50%);
}
.top-page .recruit .recruit-contents .recruit-txt h3 {
    font-size: 42px;
    font-weight: 400;
    letter-spacing: 0.2rem;
    margin-bottom: 30px;
}
.top-page .recruit .recruit-contents .recruit-txt p {
    margin-bottom: 30px;
}
.top-page .recruit .recruit-contents .recruit-img {
    width: 58%;
    max-width: 667px;
    height: 100%;
    position: absolute;
    z-index: 1;
    right: 0;
    top: 50%;
    transform: translatey(-50%);
    background: url(../img/top/recruit01.jpg) no-repeat left / cover;
}
.top-page .instagram {
    padding: 120px 0 140px;
    background: #d5e5ef;
}
.top-page .instagram .ttl {
    margin-bottom: 50px;
}
.top-page .instagram .btn_insta {
    text-align: center;
}
.top-page .instagram .btn_insta a {
    display: inline-block;
    width: 260px;
    background-color: #E71BAC;
    color: #fff;
    align-content: center;
    text-align: center;
    border-radius: 10px;
    padding: 20px 0;
}
.top-page .instagram .btn_insta a img {
    width: 1.5rem;
    margin-right: 5px;
}
.top-page .instagram .btn_insta a span {
    line-height: 1.5;
}

.top-page .instagram li {
    width: clamp(6.5625rem, -0.6859rem + 15.0812vw, 10.625rem);
    height: clamp(6.5625rem, -0.6859rem + 15.0812vw, 10.625rem);
    background: #fff;
}
.top-page .blog {
    padding: 100px 0;
}
.top-page .blog .ttl {
    margin-bottom: 60px;
}
.top-page .blog ul.blog-card {
    margin-bottom: 80px;
    gap: 50px;
	display: flex;
}
.top-page .blog ul.blog-card li {
    padding: 25px 25px 45px;
    border: solid 1px #000;
	width: 32%;
}
.top-page .blog ul.blog-card li img{
  　width: 100%;
    height: 210px;
    object-fit: cover;
}
.top-page .blog ul.blog-card li .blog_data {
    margin: 25px 0 15px;
}
.top-page .blog ul.blog-card li p.en {
    font-weight: 300;
}
.top-page .blog ul.blog-card li .txt {
    line-height: 1.8;
    font-weight: 700;
} 
.top-page .blog .more-btn {
    text-align: center;
}
p.post_date {
    margin-top: 10px;
    margin-bottom: 7px;
}
.top-page .access .access-list {
    margin-bottom: 75px;
}
.top-page .access .more-btn {
    text-align: center;
}
/* concept */
.concept-page .sub-mv {
    background: url(../img/concept/concept_mv.jpg) no-repeat center / cover;
}
.concept-page .concept-contents {
    margin-bottom: 70px;
}
.concept-page .concept-imgarea ul {
    position: relative;
    height: 475px;
    margin-bottom: 100px;
}
.concept-page .concept-imgarea ul li:nth-child(1) {
    position: absolute;
    left: 4%;
    top: 5%;
    width:30%;
}
.concept-page .concept-imgarea ul li:nth-child(2) {
    position: absolute;
    width: 20%;
    left: calc(50% - 8%);
    top: 22%;
}
.concept-page .concept-imgarea ul li:nth-child(3) {
    position: absolute;
    width: 20%;
    right: 12%;
    top: 0;
}
.concept-page .concept-imgarea ul li:nth-child(4) {
    position: absolute;
    width: 30%;
    right: 0;
    top: 48%;
}
/* staff */
.staff-page .sub-mv {
    background: url(../img/staff/staff_mv.jpg) no-repeat center / cover;
}
.staff-page ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 150px 60px;
    margin-bottom: 100px;
}
.staff-page ul li .staff-img {
    box-shadow: 9px 9px 0 -1px #fff, 9px 9px 0 0 #000;
    margin-bottom: 30px;
}
.staff-page ul li p:nth-of-type(1) {
    margin-bottom: 10px;
}
.staff-page ul li p:nth-of-type(2) {
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 20px;
}
/* menu-page */
.menu-page .sub-mv {
    background: url(../img/menu/menu_mv.jpg) no-repeat center / cover;
}
.menu-page .menu {
    padding-bottom: 90px;
}
.menu-page .menu .menu-list {
    margin-bottom: 80px;
    font-weight: 500;
}
.menu-page .menu .menu-list .menu-ttl {
    border-bottom: 1px solid #000;
    padding-bottom: 16px;
    margin-bottom: 30px;
}
.menu-page .menu .menu-list .menu-ttl h3 {
    font-size: 26px;
}
.menu-page .menu .menu-list .menu-ttl h3 span {
    font-size: 17px;
    padding-left: 40px;
}
.menu-page .menu .menu-list .menu-ttl p {
    color: #6c6c6c;
    font-size: 15px;
}
.menu-page .menu .menu-list ul {
    font-size: 17px;
}
.menu-page .menu .menu-list ul li {
    width: 46%;
}
.menu-page .menu .menu-list ul li dl {
    width: 100%;
    margin-bottom: 40px;
    line-height: 1.5;
}
.menu-page .menu .menu-list ul li dl:last-child {
    margin-bottom: 0;
}
.menu-page .menu .menu-list ul li dt span {
    display: block;
    font-size: 15px;
    color: #6c6c6c;
    line-height: 24px;
    padding-left: 10px;
}
.menu-page .menu .menu-list ul li dl dd {
    margin-left: 1.5rem;
}
.menu-page .recommend {
    background: url(../img/menu/recommend_bg.jpg) no-repeat center top / cover;
}
.menu-page .recommend .sub-ttl {
    padding-top: 10px;
}
.menu-page .recommend .recommend_area .recommend-box {
    position: relative;
}
.menu-page .recommend .recommend_area .recommend-box .recommend_txtbox {
    width: 60%;
    max-width: 635px;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 30px;
    position: absolute;
    top: 55px;
}
.menu-page .recommend .recommend_area .recommend-box .recommend_txtbox h3 {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 25px;
}
.menu-page .recommend .recommend_area .recommend-box .recommend_txtbox h3 span.en{
    font-size: 48px;
    font-weight: 100;
    padding-right: 16px;
}
.menu-page .recommend .recommend_area .recommend-box .recommend_txtbox .recommend_subttl {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 20px;
}
.menu-page .recommend .recommend_area .recommend-box figure {
    width: 50%;
    max-width: 585px;
    min-width: 508px;
    outline: 1px solid #fff;
    outline-offset: 10px;
}
.menu-page .recommend .recommend_area .recommend-box:nth-child(1) {
    padding-bottom: 230px;
}
.menu-page .recommend .recommend_area .recommend-box:nth-child(1) .recommend_txtbox {
    left: 1%;
}
.menu-page .recommend .recommend_area .recommend-box:nth-child(1) figure {
    margin-left: auto;
}
.menu-page .recommend .recommend_area .recommend-box:nth-child(2) {
    padding-bottom: 260px;
} 
.menu-page .recommend .recommend_area .recommend-box:nth-child(2) .recommend_txtbox {
    right: 1%;
}
/* recruit共通 */
.recruit-ttl {
    text-align: center;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 5px;
}
.recruit-ttl span {
    font-family: "Outfit", sans-serif;
    font-size: 22px;
    letter-spacing: 2px;
    line-height: 2;
}
.recruit-ttl::before {
    content: url(../img/recruit/recruit-ttl_deco01.png);
    display: block;
}
/* recruit */
.recruit-page .recruit_head {
    position: relative;
    padding-bottom: 90px;
}
.recruit-page .recruit_head::before {
    content: '';
    display: block;
    width: 100%;
    height: 690px;
    height: calc(100% * .67);
    background-color: #f1ede1;
    position: absolute;
    bottom: 0;
    z-index: -1;
}
.recruit-page .recruit_head .recruit_headttl {
    margin-bottom: 90px;
}
.recruit-page .recruit_head .recruit_headttl .sub-ttl {
    font-size: 58px;
    width: 30%;
    line-height: .7;
    padding-top: 15%;
    margin: 0;
}
.recruit-page .recruit_head .recruit_headttl figure {
    width: min(700px, 60%);
    position: relative;
}
.recruit-page .recruit_head .recruit_headttl figure::after {
    content: '';
    display: block;
    width: calc(88% * .8);
    height: calc(100% * 0.3);
    background: url(../img/recruit/recruit_deco01.png) no-repeat center / contain;
    position: absolute;
    left: 3%;
    bottom: 5%;
}
.recruit-page .recruit_head .recruit_txt {
    text-align: center;
}
.recruit-page .recruit_head .recruit_txt p:nth-child(1) {
    font-size: 28px;
    font-weight: 700;
}
.recruit-page .recruit_head .recruit_txt p:nth-child(2) {
    width: 172px;
    margin: 40px auto 45px;
}
.recruit-page .recruit-info > div {
    padding: 120px 0 135px;
}
.recruit-page .recruit-info .recruit-ttl {
    margin-bottom: 100px;
}
.recruit-page .recruit-info ul {
    width: 90%;
    max-width: 940px;
    margin: 0 auto;
}
.recruit-page .recruit-info ul li {
    width: 41%;
    max-width: 380px;
}
.recruit-page .recruit-info ul li figure {
    position: relative;
    margin-bottom: 8px;
}
.recruit-page .recruit-info ul li figure::before {
    content: '';
    display: block;
    width: 30%;
    height: 30%;
    position: absolute;
    background: url(../img/recruit/recruit_deco03.png) no-repeat 0 / contain;
}
.recruit-page .recruit-info ul li:first-child figure::before {
    top: -9%;
    left: -9%;
}
.recruit-page .recruit-info ul li:last-child figure::before {
    bottom: -9%;
    right: -9%;
    transform: rotate(85deg) scale(-1, 1);
}
.recruit-btn a {
    text-align: center;
    display: block;
    padding: 25px 0;
    border-bottom: solid 1px #a3a3a3;
}
.recruit-btn p:first-child {
    font-size: clamp(1rem, 0.7096rem + 0.6042vw, 1.125rem);
    font-weight: 500;
    margin-bottom: 15px;
}
.recruit-btn p:last-child {
    font-size: clamp(1.375rem, 0.5038rem + 1.8127vw, 1.75rem);
    font-weight: 700;
    position: relative;
}
.recruit-btn p:last-child span {
    font-size: clamp(1rem, 0.4192rem + 1.2085vw, 1.25rem);
    letter-spacing: 0;
}
.recruit-btn p:last-child::after {
    content: '';
    display: block;
    width: 29px;
    height: 29px;
    width: clamp(1.375rem, 0.3586rem + 2.1148vw, 1.8125rem);
    height: clamp(1.375rem, 0.3586rem + 2.1148vw, 1.8125rem);
    background: url(../img/recruit/recruit_arrow.png) no-repeat center / contain;
    position: absolute;
    right: 2%;
    bottom: 0;
}
.recruit-page .recruit-fromowner {
    padding-bottom: 190px;
}
.recruit-page .recruit-fromowner div.inner {
    background-color: #f1ede1;
    padding: 65px 0;
}
.recruit-page .recruit-fromowner .recruit-ttl {
    margin-bottom: 50px;
}
.recruit-page .recruit-fromowner .recruit_message {
    width: 90%;
    max-width: 950px;
    margin: 0 auto;
}
.recruit-page .recruit-fromowner .recruit_message figure {
    width: 25%;
    min-width: 225px;
    align-content: center;
    margin-right: 35px;
}
.recruit-page .recruit-fromowner .recruit_message figure img {
    border-radius: 170px 170px 0 0;
}
.recruit-page .recruit-fromowner .recruit_message .message-txt {
    width: 70%;
    align-content: center;
}
.recruit-page .recruit-fromowner .recruit_message .message-txt p:first-child {
    margin-bottom: 40px;
}
.recruit-page .recruit-fromowner .recruit_message .message-txt p:last-child {
    text-align: right;
}
/* recruit下層共通 */
.recruit-subpage .recruit-mv.header_mg{
    margin-top: 105px;
}
.recruit-subpage .recruit-mv {
    height: 568px;
    position: relative;
}
.recruit-subpage .recruit-mvttl {
    background-color: rgba(255, 255, 255, .37);
    padding: 45px 5%;
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translatey(-50%);
}
.recruit-subpage .recruit-mvttl figure {
    max-width: 103px;
    margin: 0 auto 30px;
}
.recruit-subpage .recruit-mvttl h2 {
    font-size: 38px;
    margin-bottom: 25px;
}
.recruit-subpage .recruit-mvttl div {
    max-width: 125px;
    margin: 0 auto;
}
.recruit-subpage .environment {
    padding: 90px 0 120px;
}
.recruit-subpage .environment h3{
    margin-bottom: 115px;
}
.recruit-subpage .environment ul li {
    margin-bottom: 120px;
}
.recruit-subpage .environment ul li:nth-child(even) {
    flex-direction: row-reverse
}
.recruit-subpage .environment ul li:last-child {
    margin-bottom: 0;
}
.recruit-subpage .environment ul li .environment_txt {
    width: 48%;
    align-content: center;
}
.recruit-subpage .environment ul li .environment_txt h4{
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 30px;
}
.recruit-subpage .environment ul li .environment_txt h4 span {
    font-size: 42px;
    font-family: "Outfit", sans-serif;
    letter-spacing: 3px;
    display: block;
    margin-bottom: 30px;
}
.recruit-subpage .environment ul li div{
    align-content: center;
    width: 48%;
}
.recruit-subpage .environment ul li figure {
    position: relative;
}
.recruit-subpage .environment ul li figure::after {
    content: '';
    display: block;
    position: absolute;
}
.recruit-subpage .environment ul li:nth-child(1) figure::after {
    width: 23%;
    height: 28%;
    background: url(../img/recruit/recruit-sub_deco01.png) no-repeat center / 100% auto;
    right: 0;
    bottom: -9%;
}
.recruit-subpage .environment ul li:nth-child(2) figure::after {
    width: 20%;
    height: 25%;
    background: url(../img/recruit/recruit-sub_deco02.png) no-repeat center / contain;
    left: 0;
    top: -11%;
}
.recruit-subpage .environment ul li:nth-child(3) figure::after {
    width: 26%;
    height: 23%;
    background: url(../img/recruit/recruit-sub_deco03.png) no-repeat center / contain;
    right: 0;
    top: -12%;
}
.recruit-subpage .welfare {
    padding: 115px 0 155px;
}
.recruit-subpage .welfare h3 {
    margin-bottom: 70px;
}
.recruit-subpage .welfare div.inner > p {
    margin-bottom: 80px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}
.recruit-subpage .welfare ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 30px;
}
.recruit-subpage .welfare ul li {
    background-color: #fff;
    padding: 20px;
}
.recruit-subpage .welfare ul li p:first-child {
    text-align: center;
    font-size: clamp(1.125rem, -0.5833rem + 2.6667vw, 1.25rem);
    font-weight: 700;
}
.recruit-subpage .welfare ul li p:first-child span {
    background:linear-gradient(transparent 62%, #fff100 0%);
}
.recruit-subpage .welfare ul li figure {
    padding: 20px 0;
    width: 80px;
    margin: 0 auto;
    align-content: center;
}
.recruit-subpage .welfare ul li p:last-child {
    font-size: 15px;
    line-height: 1.6;
    flex-grow: 1;
}
.recruit-subpage .message {
    padding-top: 120px;
}
.recruit-subpage .message h3 {
    margin-bottom: 65px;
}
.recruit-subpage .message .message-area {
    padding: 80px 50px 50px;
    background-color: #f7f7f7;
}
.recruit-subpage .message .message-img {
    width: 26%;
    text-align: center;
}
.recruit-subpage .message .message-img figure {
    margin-bottom: 20px;
}
.recruit-subpage .message .message-img figure img {
    border-radius: 180px 180px 0 0;
}
.recruit-subpage .message .message-img p {
    font-size: clamp(1.125rem, 0.8346rem + 0.6042vw, 1.25rem);
    font-weight: 500;
    letter-spacing: 2px;
}
.recruit-subpage .message .message-img p span {
    font-size: 14px;
    display: block;
    margin-bottom: 10px;
}
.recruit-subpage .message ul {
    width: 67%;
}
.recruit-subpage .message ul li {
    margin-bottom: 50px;
}
.recruit-subpage .message ul li:last-child {
    margin-bottom: 0;
}
.recruit-subpage .message ul li h4 {
    font-size: clamp(1.125rem, 0.8346rem + 0.6042vw, 1.25rem);
    font-weight: 700;
    line-height: 1.5;
    border-bottom: solid 1px #000;
    padding-bottom: 15px;
    margin-bottom: 10px;
}
.recruit-subpage .recruit-info {
    padding: 110px 0 85px;
}
.recruit-subpage .recruit-info h3 {
    margin-bottom: 65px;
}
.recruit-subpage .recruit-info table{
    text-align: left;
    margin: 0 auto;
    width: 100%;
    max-width: 980px;
    line-height: 2.2;
}
.recruit-subpage .recruit-info table th{
    width: 230px;
    background-color: #f8f2f1;
    padding: 20px 0 20px 45px;
    border: 1px solid #919191;
    font-weight: 500;
    vertical-align: top;
}
.recruit-subpage .recruit-info table td{
    width: 700px;
    padding: 20px 0 20px 45px;
    border: 1px solid #919191;
}
/* newgrads */
.newgrads-page .recruit-mv {
    background: url(../img/recruit/newgrads_mv.jpg) no-repeat center / cover;
}
.newgrads-page .environment .parttime_info {
    margin-top: 120px;
    padding: 50px 8%;
    background: url(../img/recruit/newgrads04.jpg) no-repeat center / cover;
}
.newgrads-page .environment .parttime_txt {
    background-color: rgba(255, 255, 255, .88);
    padding: 50px 10%;
}
.newgrads-page .environment .parttime_txt p:first-child {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 30px;
}
.newgrads-page .environment .parttime_txt p:nth-child(2) {
    width: 140px;
    margin: 0 auto 25px;
}
.newgrads-page .welfare {
    background-color: #f8f2f1;
}
/* career */
.career-page .recruit-mv {
    background: url(../img/recruit/career_mv.jpg) no-repeat center / cover;
}
.career-page .welfare {
    background-color: #f1f5f8;
}
/* entry-btn */
.entry {
    margin-bottom: 120px;
    background: #f7f7f7;
    padding: 60px 0;
}
.entry-btn {
    display: flex;
    justify-content: space-around;
    width: 100%;
    max-width: 700px;
    align-items: center;
    margin: 0 auto;
}
.entry .recruit-ttl {
    margin-bottom: 65px;
}
.entry-btn a {
    font-family: "Outfit", sans-serif;
    display: inline-block;
    width: 48%;
    max-width: 240px;
    background-color: #17A82C;
    border: 1px solid #000;
    align-content: center;
    text-align: center;
    position: relative;
    color: #fff;
    padding: 20px 0;
}
.entry-btn a:nth-child(2){
    background-color: #e735b1;
}
.entry-btn a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -28px;
    width: 46px;
    height: 1px;
    background: #000;
}
.entry-btn a:hover::after {
  animation: OutIn-Line 700ms;
}
.blog-page .sub-mv {
    background: url(../img/blog/blog_mv.jpg) no-repeat center / cover;
	margin-top: 0;
}
.blog_header{
	display: flex!important;
}
main.wrapper.blog-page {
    margin-top: -32px;
}
main#main p {
    line-height: 1.5;
}
.sub-ttl_blog {
    font-size: 42px;
    font-family: "Outfit", "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    padding-top: 70px!important;
    margin-bottom: 80px!important;
}
.footer-menu li a {
    color: #fff !important;
}
footer .copyright a{
	color: #fff!important;
	
}
@media only screen and (max-width: 1024px) {
    /* 共通 */
    .access {
        padding: 95px 0;
    }
    .access .ttl {
        margin-bottom: 65px;
    }
    .top-page .concept {
        padding: 100px 0 210px;
    }
    .top-page .concept p.concept-deco {
        margin-bottom: 60px;
    }
    .top-page .concept .concept-contents figure::before {
        top: 81%;
        left: -17%;
    }
    .top-page .concept .concept-contents figure::after {
        width: 35%;
    }
    .top-page .reservation .inner{
        padding: 50px 5%;
    }
    .top-page .reservation ul {
        width: 100%;
    }
    .top-page .reservation ul li {
        width: 48%;
    }
    .top-page .reservation ul li a{
        width: 100%;
    }
    .top-page .contents {
        padding: 100px 0 150px;
    }
    .top-page .contents .ttl {
        margin-bottom: 60px;
    }
    .top-page .recruit {
        padding: 80px 0 100px;
    }
    .top-page .recruit .ttl {
        margin-bottom: 50px;
    }
    .top-page .instagram {
        padding: 124px 0 145px;
        background: #d5e5ef;
    }
    .top-page .blog {
        padding: 80px 0;
    }
    .top-page .blog .ttl {
        margin-bottom: 50px;
    }
    .top-page .blog ul.blog-card {
        margin-bottom: 60px;
        gap: 5%;
    }
    .top-page .blog ul.blog-card li {
        padding: 20px 20px 35px;
    }
    .top-page .access .access-list {
      margin-bottom: 40px;
    }
    .concept-page .concept-imgarea ul {
        height: 430px;
        margin-bottom: 40px;
    }
    .concept-page .concept-imgarea ul li:nth-child(1) {
        width:32%;
    }
    .concept-page .concept-imgarea ul li:nth-child(2) {
        width: 21%;
        left: calc(50% - 9%);
    }
    .concept-page .concept-imgarea ul li:nth-child(3) {
        width: 22%;
    }
    .concept-page .concept-imgarea ul li:nth-child(4) {
        width: 29%;
    }
    .menu-page .recommend .recommend_area .recommend-box .recommend_txtbox {
        width: 90%;
        top: 200px;
    }
    .menu-page .recommend .recommend_area .recommend-box figure {
        width: 80%;
        max-width: 600px;
    }
    .menu-page .recommend .recommend_area .recommend-box:nth-child(1) {
        padding-bottom: 310px;
    }
    .menu-page .recommend .recommend_area .recommend-box:nth-child(2) {
        padding-bottom: 300px;
    } 
    .recruit-btn p:last-child::after {
        right: 0;
    }
    .recruit-subpage .environment {
        padding: 90px 0 120px;
    }
    .recruit-subpage .environment ul {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .recruit-subpage .environment ul li {
        display: block;
    }
    .recruit-subpage .environment ul li .environment_txt {
        width: 100%;
        margin-bottom: 50px;
    }
    .recruit-subpage .environment ul li div{
        width: 100%;
    }
        .recruit-subpage .welfare ul {
        grid-template-columns: repeat(3, 1fr);
    }
    .recruit-subpage .message .message-area {
        display: block;
    }
    .recruit-subpage .message .message-img {
        width: 100%;
        margin-bottom: 50px;
    }
    .recruit-subpage .message .message-img figure {
        width: 320px;
        margin: 0 auto 20px;
    }
    .recruit-subpage .message ul {
        width: 100%;
    }
    .recruit-subpage .recruit-info table th{
        width: 20%;
        padding: 20px;
    }
    .recruit-subpage .recruit-info table td{
        width: 80%;
        padding: 20px;
    }
    .newgrads-page .environment .parttime_info {
        padding: 50px 5%;
    }
    .newgrads-page .environment .parttime_txt {
        padding: 50px 8%;
    }
}
@media screen and (min-width: 768px) and (max-width: 992px) {
  
    .menu-page .recommend .recommend_area .recommend-box .recommend_txtbox {
        top: 80%!important;
    }
	.menu-page .recommend .recommend_area .recommend-box:nth-child(1) {
		margin-bottom: 60%!important;
		padding-bottom: 0px!important;	
    }
	.menu-page .recommend .recommend_area .recommend-box:nth-child(2) {
        margin-bottom: 60%!important;
		padding-bottom: 0px!important;
	}
	.link_mg {
        padding-bottom: 10px;
	}
}

@media only screen and (max-width: 768px) {
    /* 共通 */
    .concept-contents {
        display: block;
    }    
    .concept-contents .concept-txt {
        width: 100%;
        margin-bottom: 30px;
    }
    .concept-contents .concept-txt p {
        margin-bottom: 25px;
    }
    .concept-contents figure {
        width: min(100%, 400px);
        margin: 0 auto;
    }
    .access{
        padding: 60px 0 100px;
    }
    .access .ttl {
        margin-bottom: 55px;
    }
    .access .access-map {
        height: 250px;
        margin-bottom: 35px;
    }
    .access .access-list {
        display: block;
    }
    .access .access-list ul {
        width: 100%;
        margin: 0 auto;
    }
    .access .access-list li {
        padding: 14px 0;
    }
    .mv {
        height: 300px;
    }
    .mv figure {
        width: max(5%, 35px);
    }
    .mv figure img {
        width: 8px;
    }
    .top-page .concept {
        padding: 80px 0 180px;
    }
    .top-page .concept p.concept-deco {
        margin-bottom: 40px;
    }
    .top-page .concept .concept-contents figure::before {
        width: 40%;
        top: 85%;
        left: 3%;
    }
    .top-page .concept .concept-contents figure::after {
        width: 30%;
    }
    .top-page .reservation .inner{
        padding: 60px 10%;
    }
    .top-page .reservation .sub-ttl {
        margin-bottom: 40px;
    }
    .top-page .reservation ul {
        width: 100%;
    }
    .top-page .reservation ul li {
        width: 100%;
    }
    .top-page .reservation ul li:first-child {
        margin-bottom: 10px;
    }
    .top-page .reservation ul li a{
        height: 65px;
        font-size: 18px;
    }
    .top-page .contents {
        padding: 80px 0;
    }
    .top-page .contents .ttl {
        margin-bottom: 60px;
    }
    .top-page .contents ul {
        text-align: center;
    }
    .top-page .contents ul li {
        width: clamp(320px, 80%, 500px);
        max-width: initial;
        height: 200px;
        display: inline-block;
        margin-bottom: 30px;
    }
    .top-page .contents ul li p {
        max-width: initial;
        height: 160px;
        font-size: 22px;
    }
    .top-page .recruit {
        padding: 80px 0 380px;
    }
    .top-page .recruit .ttl {
        margin-bottom: 50px;
    }
    .top-page .recruit .recruit-contents {
        padding-bottom: 280px;
    }
    .top-page .recruit .recruit-contents .recruit-txt {
        width: 90%;
        padding: 30px 5%;
        top: 65%;
        transform: initial;
    }
    .top-page .recruit .recruit-contents .recruit-txt h3 {
        font-size: 34px;
        margin-bottom: 20px;
    }
    .top-page .recruit .recruit-contents .recruit-txt p {
        margin-bottom: 20px;
    }
    .top-page .recruit .recruit-contents .recruit-img {
        width: 90%;
        background-position: left;
    }
    .top-page .instagram {
        padding: 90px 0 100px;
    }
    .top-page .instagram .ttl {
        margin-bottom: 40px;
    }
    .top-page .instagram ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4%;
        padding-bottom: 10%;
    }
    .top-page .instagram li {
        width: clamp(10.125rem, 0.1059rem + 42.7481vw, 20.625rem);
        height: clamp(10.125rem, 0.1059rem + 42.7481vw, 20.625rem);
    }
    .top-page .blog {
        padding: 70px 0;
    }
    .top-page .blog .ttl {
        margin-bottom: 45px;
    }
    .top-page .blog ul.blog-card {
        width: 80%;
        max-width: 500px;
        margin: 0 auto;
		display: block;
    }
    .top-page .blog ul.blog-card li {
        margin-bottom: 40px;
        padding: 5% 5% 7%;
		width: 100%;
    }
	p.post_ttl {
    line-height: 1.4;
	}
    .top-page .blog ul.blog-card li p.en {
        font-size: 14px;
    }
    .concept-page .concept-imgarea ul {
        height: 370px;
        margin-bottom: 40px;
    }
    .concept-page .concept-imgarea ul li:nth-child(1) {
        width:45%;
        max-width: 275px;
        left: calc(50% - 48%);
        top: 0;
    }
    .concept-page .concept-imgarea ul li:nth-child(2) {
        width: 35%;
        max-width: 193px;
        left: calc(50% - 44%);
        top: 39%;
    }
    .concept-page .concept-imgarea ul li:nth-child(3) {
        width: 41%;
        max-width: 260px;
        right: calc(50% - 47%);
        top: 3%;
    }
    .concept-page .concept-imgarea ul li:nth-child(4) {
        width: 45%;
        max-width: 370px;
        right: calc(50% - 45%);
        top: 49%;
    }
    .staff {
      margin-bottom: 100px;
    }
    .staff-page ul {
        margin-bottom: 0;
        display: block;
    }
    .staff-page ul li {
        margin-bottom: 80px;
        width: min(80%, 450px);
        margin-left: auto;
        margin-right: auto;
    }
    .staff-page ul li:last-of-type{
      margin-bottom: 0;
    }
    .menu-page .menu {
        padding-bottom: 70px;
    }
    .menu-page .menu .menu-list {
        margin-bottom: 60px;
    }
    .menu-page .menu .menu-list .menu-ttl h3 {
        font-size: 22px;
        margin-bottom: .8rem;
    }
    .menu-page .menu .menu-list .menu-ttl h3 span {
        font-size: 16px;
        padding-left: 20px;
    }
    .menu-page .menu .menu-list .menu-ttl p {
        font-size: 14px;
        text-align: right;
    }
    .menu-page .menu .menu-list ul {
        font-size: 16px;
    }
    .menu-page .menu .menu-list ul li {
        width: 100%;
    }
    .menu-page .menu .menu-list ul li dl {
        position: relative;
    }
    .menu-page .menu .menu-list ul li dl:last-child {
        margin-bottom: 40px;
    }
    .menu-page .menu .menu-list ul li dt {
        width: 77%;
    }
    .menu-page .menu .menu-list ul li dt span {
        font-size: 14px;
        padding-left: 0;
    }
    .menu-page .menu .menu-list ul li dl dd {
        position: absolute;
        right: 0;
        top: 0;
    }
    .menu-page .recommend .recommend_area .recommend-box .recommend_txtbox {
        width: 95%;
        top: 180px;
        padding: 25px;
    }
    .menu-page .recommend .recommend_area .recommend-box .recommend_txtbox h3 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .menu-page .recommend .recommend_area .recommend-box .recommend_txtbox h3 span.en{
        font-size: 34px;
    }
    .menu-page .recommend .recommend_area .recommend-box .recommend_txtbox .recommend_subttl {
        font-size: 17px;
        line-height: 1.5;
    }
    .menu-page .recommend .recommend_area .recommend-box figure {
        width: 80%;
        min-width: 90%;
    }
    .menu-page .recommend .recommend_area .recommend-box:nth-child(1) {
        padding-bottom: 540px;
    }
    .menu-page .recommend .recommend_area .recommend-box:nth-child(2) {
        padding-bottom: 580px;
    }
    .recruit-ttl {
        font-size: 24px;
        letter-spacing: 3px;
    }
    .recruit-ttl span {
        font-size: 17px;
    }
    .recruit-page .recruit_head {
        padding-bottom: 70px;
    }
    .recruit-page .recruit_head::before {
        height: calc(100% * .75);
    }
    .recruit-page .recruit_head .recruit_headttl {
        margin-bottom: 50px;
        display: flex;
    }
    .recruit-page .recruit_head .recruit_headttl .sub-ttl {
        font-size: clamp(2.375rem, 2.1365rem + 1.0178vw, 2.625rem);
        width: clamp(8.375rem, -1.167rem + 40.7125vw, 18.375rem);
    }
    .recruit-page .recruit_head .recruit_headttl figure {
        padding-top: 90px;
    }
    .recruit-page .recruit_head .recruit_txt p:nth-child(1) {
        font-size: clamp(1.125rem, 0.7075rem + 1.7812vw, 1.5625rem);
    }
    .recruit-page .recruit_head .recruit_txt p:nth-child(2) {
        width: 100px;
        margin: 25px auto 30px;
    }
    .recruit-page .recruit_head .recruit_txt p:nth-child(3) {
        font-size: 14px;
    }
    .recruit-page .recruit-info > div {
        padding: 85px 0 100px;
    }
    .recruit-page .recruit-info .recruit-ttl {
        margin-bottom: 65px;
    }
    .recruit-page .recruit-info ul {
        width: 75%;
    }
    .recruit-page .recruit-info ul li {
        width: 100%;
        max-width: initial;
        margin-bottom: 60px;
    }
    .recruit-page .recruit-info ul li:last-child {
        margin-bottom: 0;
    }
    .recruit-btn a {
        padding: 20px 0;
    }
    .recruit-btn p:first-child {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .recruit-page .recruit-fromowner {
        padding-bottom: 100px;
    }
    .recruit-page .recruit-fromowner .recruit_message {
        width: 80%;
    }
    .recruit-page .recruit-fromowner .recruit_message figure {
        width: 80%;
        max-width: 260px;
        margin: 0 auto 30px;
    }
    .recruit-page .recruit-fromowner .recruit_message .message-txt {
        width: 100%;
    }
    .recruit-page .recruit-fromowner .recruit_message .message-txt p:first-child {
        margin-bottom: 20px;
    }
    .recruit-page .recruit-fromowner .recruit_message .message-txt p:last-child {
        text-align: right;
    }
    .recruit-subpage .recruit-mv.header_mg{
        margin-top: 85px;
    }
    .recruit-subpage .recruit-mv {
        height: 250px;
    }
    .recruit-subpage .recruit-mvttl {
        padding: 25px 4%;
        right: 2%;
    }
    .recruit-subpage .recruit-mvttl figure {
        width: 65px;
        margin-bottom: 15px;
    }
    .recruit-subpage .recruit-mvttl h2 {
        font-size: 25px;
        margin-bottom: 8px;
    }
    .recruit-subpage .recruit-mvttl div {
        max-width: 80px;
    }
    
    .recruit-subpage .environment {
        padding: 60px 0 90px;
    }
    .recruit-subpage .environment h3{
        margin-bottom: 85px;
    }
    .recruit-subpage .environment ul {
        width: 100%;
    }
    .recruit-subpage .environment ul li {
        margin-bottom: 100px;
        margin-bottom: 60px;
    }
    .recruit-subpage .environment ul li .environment_txt {
        width: 100%;
        margin-bottom: 30px;
    }
    .recruit-subpage .environment ul li .environment_txt h4{
        font-size: 18px;
        margin-bottom: 20px;
    }
    .recruit-subpage .environment ul li .environment_txt h4 span {
        font-size: 26px;
        margin-bottom: 15px;
    }
    .recruit-subpage .environment ul li div{
        width: 100%;
    }
    .recruit-subpage .welfare {
        padding: 85px 0 90px;
    }
    .recruit-subpage .welfare h3 {
        margin-bottom: 50px;
    }
    .recruit-subpage .welfare div.inner > p {
        margin-bottom: 40px;
        text-align: left;
        font-size: 16px;
        line-height: 1.8;
    }
    .recruit-subpage .welfare ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .recruit-subpage .welfare ul li {
        padding: 15px;
    }
    .recruit-subpage .welfare ul li p:first-child {
        font-size: clamp(0.9375rem, 0.7586rem + 0.7634vw, 1.125rem);
    }
    .recruit-subpage .welfare ul li figure {
        padding: 15px 0;
        width: 60px;
    }
    .recruit-subpage .welfare ul li p:last-child {
        font-size: 14px;
    }
    .recruit-subpage .message {
        padding-top: 90px;
    }
    .recruit-subpage .message h3 {
        margin-bottom: 50px;
    }
    .recruit-subpage .message .message-area {
        padding: 50px 5% 35px;
    }
    .recruit-subpage .message .message-img {
        margin-bottom: 30px;
    }
    .recruit-subpage .message .message-img figure {
        width: 70%;
        max-width: 320px;
    }
    .recruit-subpage .recruit-info {
        padding: 90px 0 70px;
    }
    .recruit-subpage .recruit-info h3 {
        margin-bottom: 40px;
    }
    .recruit-subpage .recruit-info table{
        line-height: 1.8;
    }
    .recruit-subpage .recruit-info table th{
        width: 25%;
        padding: 10px 15px;
        font-size: 13px;
    }
    .recruit-subpage .recruit-info table td{
        width: 75%;
        padding: 10px 15px;
        font-size: 14px;
    }
    /* newgrads */
    .newgrads-page .recruit-mv {
        background: url(../img/recruit/newgrads_mv.jpg) no-repeat 45% / cover;
    }
    .newgrads-page .environment .parttime_info {
        padding: 40px 5%;
        margin-top: 80px;
    }
    .newgrads-page .environment .parttime_txt {
        padding: 35px 5%;
    }
    .newgrads-page .environment .parttime_txt p:first-child {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .newgrads-page .environment .parttime_txt p:nth-child(2) {
        width: 100px;
        margin-bottom: 15px;
    }
    .entry-btn {
        flex-direction: column;
    }
    .entry-btn a {
        width: 80%;
        margin-bottom: 30px;
    }
    .entry-btn a:nth-child(2) {
        margin-bottom: 0;
    }
    .entry {
      margin-bottom: 100px;
      padding: 60px 0;
    }
	.blog_header{
	display: flex;
    justify-content: space-between;
    height: 70px;
    background: #fff;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}
}