@charset "UTF-8";

/********* font *********/
@font-face {
	font-family: "YuGothic M";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}

@font-face {
	font-family: 'MistralAV';
	src: url('../font/MISTRAL.woff') format('truetype');
}
/********* font *********/

/********* reset *********/
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	font-size: 100%;
	vertical-align:baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

article, header, footer, aside, figure, figcaption, nav, section {
    display: block;
}

body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

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

a {
	text-decoration: none;
}

.clear {
	clear: both;
}
/********* reset *********/

/********* common *********/
* {
	box-sizing: border-box;
}

body {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 16px;
    font-feature-settings: "palt";
	margin: 0 auto;
	padding: 0;
	overflow-x: hidden;
}

header {
    background: #fff;
    /*ハロウィン背景*/
    /*background: url(../images/header_bg_halloween.jpg) no-repeat center top / cover;*/
    /*クリスマス背景*/
    /*background: url(../images/header_bg_christmas.jpg) no-repeat center top / cover;*/
    /*正月背景*/
    /*background: url(../images/header_bg_newyear.jpg) no-repeat center top / cover;*/
    width: 100%;
    padding: 5px 0;
    position: relative;
    box-shadow: 0px 5px 5px -5px rgba(40, 40, 40, .14);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 11;
}

header::after {
    content: '';
    background: #fff;
    width: 80px;
    height: 40px;
    margin: auto;
    border-radius: 0 0 40px 40px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    box-shadow: 0px 5px 5px -5px rgba(40, 40, 40, .14);
}

header nav.pc_only {
    display: block;
}

header nav.sp_only {
    display: none;
}

header nav ul {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header nav ul li a {
    font-size: 12px;
    color: #131313;
    text-align: center;
    line-height: 1.2;
    display: block;
    transition: opacity .3s;
}

header nav ul li a:hover {
    opacity: .6;
}

header nav ul li:nth-child(5) {
    position: relative;
    z-index: 2;
}

header nav ul li:nth-child(5) img {
    width: 102px;
}

header nav ul li a span {
    font-family: 'Lora', serif;
    font-weight: 500;
    display: block;
}

main {
	background-color: #fff;
	color: #4b4b4b;
    position: relative;
    z-index: 1;
}

section {
	width: 100%;
	margin: 0 auto;
	padding-top: 60px;
	overflow: hidden;
}

h2 {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 16px;
	line-height: 1.1;
	text-align: center;
}

.u-layer h2 {
    font-size: 18px;
    margin-bottom: 80px;
    line-height: 0.8;
}

h2 span {
	font-family: 'Cinzel', serif;
	font-size: 20px;
    font-weight: 500;
	color: #e4d443;
	letter-spacing: 0.2em;
    display: block;
}

.u-layer h2 span {
    font-size: 26px;
    font-weight: normal;
}

h2 span strong {
    font-size: 24px;
    font-weight: 500;
}

.u-layer h2 span strong {
    font-size: 32px;
    font-weight: normal;
}

.flex {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
}

.flex-s {
    justify-content: flex-start!important;
}

.space-a {
    justify-content: space-around!important;
}

.space-b {
    justify-content: space-between!important;
}

.item-c {
    align-items: center;
}

.nbtn-box {
    justify-content: space-between;
    align-items: end;
}

.likebtn input[type="checkbox"] {
    display: none;
}

.btn-more a {
    font-family: 'Lora', serif;
    font-size: 18px;
    font-weight: 400;
    color: #4b4b4b;
    background: url(../images/btn_off.png) no-repeat top left/100% 100%;
    width: 348px;
    max-width: 100%;
    text-align: center;
    line-height: 3.222;
    letter-spacing: 0.1em;
    display: block;
    transition: color .3s, background .3s;
}

.btn-more a:hover {
    color: #fff;
    background: url(../images/btn_on.png) no-repeat top left/100% 100%;
}

.pc {
    display: inline;
}

.sp {
    display: none;
}

.breadcrumb {
    background: #fffbd2;
    display: block;
}

.breadcrumb ol {
    font-size: 12px;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    line-height: 3.333;
    display: flex;
    align-items: center;
    gap: 0 10px;
}

.breadcrumb ol li:nth-last-child(n+2)::after {
    content: '＞';
    color: #000;
    margin-left: 10px;
}

.breadcrumb ol li a {
    color: #000;
}

.breadcrumb ol li a:hover {
    text-decoration: underline;
}

.center-block {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.marquee-sp	{
    display: none;
}

input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

#page-top a {
    font-family: 'Lora', serif;
    font-size: 18px;
    color: #b5b5b5;
    width: fit-content;
    margin: 80px auto 0;
    display: block;
    transition: opacity .3s;
}

#page-top a:hover {
    opacity: .6;
}

#page-top a img {
    width: fit-content;
    margin: 0 auto 15px;
    display: block;
}

#sp-bottom-menu {
    display: none;
}

footer {
    background: #4a2f08;
    padding-top: 30px;
}

footer #footer-logo {
    text-align: center;
}

footer #footer-logo a {
    transition: opacity .3s;
}

footer #footer-logo a:hover {
    opacity: .6;
}

footer .tel {
    font-size: 24px;
    color: #fff;
    margin-top: 10px;
    text-align: center;
}

footer .tel span {
    font-size: 36px;
}

footer .time {
    font-size: 14px;
    color: #fff;
    margin-top: 5px;
    padding-bottom: 35px;
    border-bottom: #fff 1px solid;
    text-align: center;
}

footer ul {
    width: 100%;
    max-width: 1040px;
    margin: 20px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px 0;
    flex-wrap: wrap;
}

footer ul li {
    font-size: 12px;
    padding: 0 15px;
    border-right: #fff 1px solid;
    letter-spacing: 0.1em;
}

footer ul li:nth-last-child(-n+2) {
    border-right: none;
}

footer ul li:nth-child(10) {
    border-right: none;
}

footer ul li a {
    color: #fff;
}

footer ul li a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

footer ul li span {
    font-size: 20px;
    color: #fff;
    vertical-align: middle;
}

footer ul li a:first-of-type svg {
    vertical-align: sub;
}

footer ul li a:last-of-type svg {
    vertical-align: middle;
}

footer ul li a br {
    display: none;
}

footer #copy {
    font-size: 12px;
    color: #282828;
    background: #fff;
    margin-top: 25px;
    text-align: center;
    line-height: 3.333;
}

footer #copy a {
    color: #282828;
}

@media screen and (max-width: 768px) {
    header {
        padding: 0;
    }

    header::after {
        width: 50vw;
        height: 50vw;
        border-radius: 0 0 25vw 25vw;
        position: absolute;
        left: -8.75vw;
        right: auto;
        bottom: -6vw;
        z-index: -1;
        box-shadow: 0 0.625vw 0.625vw -0.625vw rgba(40, 40, 40, .14);
    }

    header nav.pc_only {
        display: none;
    }
    
    header nav.sp_only {
        background: #fff;
        /*ハロウィン背景*/
        /*background: url(../images/header_bg_halloween_sp.jpg) no-repeat center top / cover;*/
        /*クリスマス背景*/
        /*background: url(../images/header_bg_christmas_sp.jpg) no-repeat center top / cover;*/
        /*正月背景*/
        /*background: url(../images/header_bg_newyear_sp.jpg) no-repeat center top / cover;*/
        display: block;
    }

    header nav ul {
        padding: 1.25vw 5vw 1.25vw 2.5vw;
    }

    header nav.sp_only ul li:first-child img {
        width: 28.375vw;
    }

    header nav.sp_only ul li:nth-child(2) {
        font-size: 2.5vw;
        line-height: 1.5;
        letter-spacing: 0.05em;
    }

    header nav.sp_only ul li:nth-child(2) span {
        font-family: 'Lora', serif;
        font-size: 3.75vw;
        margin-right: 1.25vw;
        letter-spacing: 0;
    }

    header nav.sp_only ul li:nth-child(2) a {
        font-family: 'Lora', serif;
        font-size: 5.25vw;
        display: inline;
        letter-spacing: 0;
    }

    header nav.sp_only ul li:last-child img {
        width: 7.5vw;
    }

    header nav.sp_only .menu_inner {
        background: rgba(255, 255, 255, .9);
        width: 62.5vw;
        height: 100vh;
        padding: 5vw 0;
        opacity: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 4;
        overflow-y: auto;
        visibility: hidden;
        transition: opacity 1s ease, visibility 1s ease;
    }

    header nav.sp_only .menu_inner.open {
        opacity: 1;
        visibility: visible;
    }

    header nav.sp_only .menu_inner .btn_menu_close {
        position: absolute;
        right: 0;
        top: 0;
    }

    header nav.sp_only .menu_inner .btn_menu_close img {
        width: 15vw;
    }

    header nav.sp_only .menu_inner div:nth-child(n+2) {
        margin-top: 8.75vw;
    }

    header nav.sp_only .menu_inner div a {
        font-size: 4.5vw;
        color: #000;
        text-align: center;
        line-height: 1.2;
        display: block;
    }

    header nav.sp_only .menu_inner div:nth-child(n+2) a {
        opacity: 0;
        transform: translateX(20%);
    }

    header nav.sp_only .menu_inner div:nth-child(2) a {
        transition: transform .3s ease .15s, opacity .3s ease .15s;
    }

    header nav.sp_only .menu_inner div:nth-child(3) a {
        transition: transform .3s ease .25s, opacity .3s ease .25s;
    }

    header nav.sp_only .menu_inner div:nth-child(4) a {
        transition: transform .3s ease .35s, opacity .3s ease .35s;
    }

    header nav.sp_only .menu_inner div:nth-child(5) a {
        transition: transform .3s ease .45s, opacity .3s ease .45s;
    }

    header nav.sp_only .menu_inner div:nth-child(6) a {
        transition: transform .3s ease .55s, opacity .3s ease .55s;
    }

    header nav.sp_only .menu_inner div:nth-child(7) a {
        transition: transform .3s ease .65s, opacity .3s ease .65s;
    }

    header nav.sp_only .menu_inner div:nth-child(8) a {
        transition: transform .3s ease .75s, opacity .3s ease .75s;
    }

    header nav.sp_only .menu_inner div:nth-child(9) a {
        transition: transform .3s ease .85s, opacity .3s ease .85s;
    }

    header nav.sp_only .menu_inner.open div a {
        opacity: 1;
        transform: translateX(0%);
    }

    header nav.sp_only .menu_inner div a span {
        font-family: 'Lora', serif;
        font-size: 4.5vw;
        display: block;
    }

    .breadcrumb {
        display: none;
        margin-top: 5vw;
    }

    section {
        padding: 6vw;
    }

    h2 {
        font-size: 3vw;
    }

    h2 span {
        font-size: 5vw;
    }

    h2 span strong {
        font-size: 6vw;
    }

    .u-layer h2 {
        margin-bottom: 7.5vw;
    }

    .likebtn {
        margin-right: 0;
    }

    #therapistblog .likebtn {
		margin-right: 15px;
	}

    #page-top a {
        font-size: 4.5vw;
        margin: 5vw auto 0;
    }
    
    #page-top a img {
        width: 18.75vw;
        margin: 0 auto 3.75vw;
    }

    #sp-bottom-menu {
        display: block;
    }

    #sp-bottom-menu ul {
        background: rgba(228, 212, 67, .9);
        width: 100%;
        padding: 1.25vw 0;
        display: flex;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 101;
    }

    #sp-bottom-menu ul li {
        width: calc(100% / 3);
        border-right: #fff 0.25vw solid;
    }

    #sp-bottom-menu ul li:last-child {
        border-right: none;
    }

    #sp-bottom-menu ul li a {
        font-family: 'Lora', serif;
        font-size: 3.5vw;
        color: #fff;
        width: 100%;
        height: 100%;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.5vw 0;
        flex-wrap: wrap;
    }

    #sp-bottom-menu ul li a span {
        width: 100%;
        display: block;
    }

    #sp-bottom-menu ul li:first-child a img {
        width: 8.125vw;
    }

    #sp-bottom-menu ul li:nth-child(2) a img {
        width: 7.25vw;
    }

    #sp-bottom-menu ul li:last-child a img {
        width: 4.5vw;
    }

    footer {
        margin-bottom: 15.375vw;
        padding-top: 3.75vw;
    }

    footer #footer-logo img {
        width: 74.125vw;
    }
    
    footer .tel {
        display: none;
    }
    
    footer .time {
        display: none;
    }
    
    footer ul {
        width: 100%;
        margin: 2.5vw auto 0;
        display: flex;
        gap: 0;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    
    footer ul li {
        font-size: 4vw;
        width: 50%;
        height: 18.88vw;
        padding: 0;
        border-top: #fff 1px solid;
        border-right: #fff 1px solid;
    }
    
    footer ul li:nth-last-child(-n+2) {
        border-right: #fff 1px solid;
    }

    footer ul li:nth-child(2n) {
        border-right: none;
    }

    footer ul li:nth-child(9) {
        border-right: #fff 1px solid;
    }

    footer ul li:last-child {
        width: 100%;
        border-right: none;
        display: flex;
    }
    
    footer ul li a {
        color: #fff;
        width: 100%;
        height: 100%;
        padding-left: 7.5vw;
        line-height: 1.4;
        display: block;
        align-content: center;
    }

    footer ul li:last-child a {
        width: 50%;
        text-indent: -0.5em;
    }

    footer ul li:last-child a:first-of-type {
        border-right: #fff 1px solid;
    }

    footer ul li:last-child a:last-of-type {
        margin-left: -10%;
        text-indent: -0.25em;
    }
    
    footer ul li span {
        display: none;
    }
    
    footer ul li a:first-of-type svg {
        /*display: none;*/
        vertical-align: baseline;
    }
    
    footer ul li a:last-of-type svg {
        /*display: none;*/
        vertical-align: baseline;
    }

    footer ul li a br {
        display: inline-block;
    }
    
    footer #copy {
        font-size: 4.5vw;
        margin-top: 0;
    }
}

@media screen and (max-width: 600px) {
    Marquee	{
        padding: 5px 0;
        margin-top: 10px;
        width: 100%
    }

    .marquee-sp	{
        display: block !important;
    }
}

@media screen and (max-width: 480px) {
    .pc {
        display: none;
    }
    
    .sp {
        display: inline;
    }
    
    Marquee	{
        padding:5px 0;
        margin-top: 10px;
        width: 100%
    }
    
    .marquee-sp	{
        display: block !important;
    }
}
/********* common *********/

/********* animation *********/
.fade-in-up {
    opacity: 0;
    transform: translateY(50px);
    transition: transform .6s ease, opacity .6s ease;
}

.fade-in-up.active {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: transform .6s ease, opacity .6s ease;
}

.fade-in-left.active {
    opacity: 1;
    transform: translateX(0);
}

.fade-in-right {
    opacity: 0;
    transform: translateX(50px);
    transition: transform .6s ease, opacity .6s ease;
}

.fade-in-right.active {
    opacity: 1;
    transform: translateY(0);
}
/********* animation *********/

/********* index *********/
#top {
    padding: 63px 0 25px;
}

#top section {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
    overflow: visible;
}

#top #first-view img {
    width: 100%;
}

#top #main-slider {
    margin-top: 15px;
}

#top #main-slider img {
    width: 100%;
}

#top #thumb-slider {
    margin-top: 10px;
}

#top #thumb-slider .slick-track {
    width: 100% !important;
    transform: unset !important;
}

#top #thumb-slider .slick-slide {
    width: calc(20% - 4px) !important;
    position: relative;
    cursor: pointer;
}

#top #thumb-slider .slick-slide:nth-child(n+2) {
    margin-left: 5px;
}

#top #thumb-slider .slick-slide::after {
    content: '';
    background: rgba(0, 0, 0, .7);
    width: 100%;
    height: 100%;
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
}

#top #thumb-slider img {
    width: 100%;
}

#top #thumb-slider .slick-slide.slick-current::after {
    display: none;
}

#top #top-news-newface {
    margin: 80px auto 0;
    display: flex;
    gap: 0 10px;
}

#top #top-news {
    width: calc(42.9% - 5px);
    border: #e4d443 2px solid;
    /*border-image: linear-gradient(-18deg, #fdfdfd, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada);
    border-image-slice: 4;*/
    padding: 35px 15px 5px;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, .2);
}

#top #top-news .box {
    margin-top: 15px;
    border: #e4d443 6px solid;
    padding: 25px 15px 10px;
    position: relative;
}

#top #top-news .box::before {
    content: '';
    background: #aaa;
    width: 50px;
    height: 1px;
    position: absolute;
    left: -22px;
    top: 2px;
    transform: rotate(-45deg);
}

#top #top-news .box::after {
    content: '';
    background: #aaa;
    width: 50px;
    height: 1px;
    position: absolute;
    right: -22px;
    bottom: 2px;
    transform: rotate(-45deg);
}

#top #top-news .box .one-box {
    padding-bottom: 20px;
    border-bottom: #aaa 1px solid;
}

#top #top-news .box .one-box:nth-child(n+2) {
    margin-top: 20px;
}

#top #top-news .box .one-box:last-child {
    border-bottom: none;
}

#top #top-news .box .one-box .date {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}

#top #top-news .box .one-box h3 {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    margin-top: 10px;
    line-height: 1.6;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#top #top-news .box .one-box h3 a {
    color: #4b4b4b;
}

#top #top-news .box .one-box h3 a:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}

#top #top-news .btn-more a {
    margin: 10px auto 0;
}

#top #top-newface {
    width: calc(57.1% - 5px);
    border: #c7c8ca 2px solid;
    border-image: linear-gradient(-18deg, rgba(90, 48, 7, .45) 12%, rgba(137, 82, 29, .45) 47%, rgba(90, 48, 7, .45) 92%);
    border-image-slice: 3;
    padding: 35px 15px 5px;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, .2);
}

#top #newface-slider {
    margin-top: 15px;
    position: relative;
}

#top #newface-slider::before {
    content: '';
    background: #aaa;
    width: 50px;
    height: 1px;
    position: absolute;
    left: -18px;
    top: 7px;
    transform: rotate(-45deg);
}

#top #newface-slider::after {
    content: '';
    background: #aaa;
    width: 50px;
    height: 1px;
    position: absolute;
    right: -18px;
    bottom: 7px;
    transform: rotate(-45deg);
}

#top #newface-slider .slides {
    display: flex;
}

#top #newface-slider .slides .left {
    width: 46.15%;
}

#top #newface-slider .slides .left img {
    width: 100%;
}

#top #newface-slider .slides .right {
    width: 53.85%;
    padding: 25px 10px 10px;
    border: #4a2f08 6px solid;
}

#top #newface-slider .slides .right .date {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    padding: 0 10px 10px;
    border-bottom: #aaa 1px solid;
}

#top #newface-slider .slides .right .name {
    font-size: 24px;
    padding: 0 5px;
    margin-top: 10px;
    line-height: 1.2;
}

#top #newface-slider .slides .right .data {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    font-weight: 500;
    margin-top: 5px;
    padding: 0 5px;
}

#top #newface-slider .slides .right .text {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    font-weight: 500;
    margin-top: 15px;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
}

#top #newface-slider .slick-dots {
    display: flex;
    justify-content: center;
    gap: 0 15px;
    bottom: -45px;
}

#top #newface-slider .slick-dots > li button::before {
    font-size: 15px;
}

#top #newface-slider .slick-dots > li.slick-active button:before {
    color: #e4d443;
    opacity: 1;
}

#top #newface-slider .slick-dots > li button:hover:before,
#top #newface-slider .slick-dots > li button:focus:before {
    color: #e4d443;
}

#top #top-schedule {
    margin-top: 80px;
}

#top #top-schedule ul {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 10px;
}

#top #top-schedule ul li {
    background: #fffee3;
    width: calc(25% - 30px / 4);
}

#top #top-schedule ul li .thumb a {
    transition: opacity .3s;
    text-align: center;
}

#top #top-schedule ul li .thumb a:hover {
    opacity: .6;
}

#top #top-schedule ul li .thumb a img {
    width: 100%;
}

#top #top-schedule ul li .thumb .icon img {
    max-width: 100%;
}

#top #top-schedule ul li .image {
    position: relative;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#top #top-schedule ul li .image p {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	right: 0;
	padding-top: 60%;
	font-size: 21px;
	color: #eee;
	background: rgba(0,0,0,0.6);
	z-index: 100;	
}

#top #top-schedule ul li .image p span {
	border: 1px solid #eee;
	padding: 5px 15px;
	border-radius: 30px;
	box-sizing: border-box;
	display: inline-block
}

#top #top-schedule ul li .thumb img {
    width: 100%;
}

#top #top-schedule ul li .data {
    margin-top: 10px;
    padding: 0 18px;
    display: flex;
    justify-content: space-between;
}

#top #top-schedule ul li .data .name,
#top #top-schedule ul li .data .age {
    font-size: 14px;
    letter-spacing: 0.15em;
}

#top #top-schedule ul li .rank {
    margin-top: 5px;
    text-align: center;
}

#top #top-schedule ul li .rank img {
    width: calc(100% - 36px);
    max-width: 200px;
}

#top #top-schedule ul li .time {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background: #e4d443;
    margin-top: 10px;
    text-align: center;
    line-height: 1.429;
    letter-spacing: 0.05em;
}

#top #top-schedule .btn-more a {
    margin: 30px auto 0;
}

#top #top-blog {
    margin-top: 100px;
    border: #c7c8ca 2px solid;
    border-image: linear-gradient(-18deg, #fdfdfd, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada);
    border-image-slice: 4;
    padding: 40px 40px 30px;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, .2);
}

#top #top-blog .box {
    background: #fffee3;
    margin-top: 10px;
    padding: 20px 20px 30px;
    position: relative;
}

#top #top-blog .box::before {
    content: '';
    background: #aaa;
    width: 50px;
    height: 1px;
    position: absolute;
    left: -18px;
    top: 5px;
    transform: rotate(-45deg);
}

#top #top-blog .box::after {
    content: '';
    background: #aaa;
    width: 50px;
    height: 1px;
    position: absolute;
    right: -18px;
    bottom: 5px;
    transform: rotate(-45deg);
}

#top #top-blog .box .one-box {
    margin-top: 20px;
    padding: 0 0 10px 20px;
    border-bottom: #b5b5b5 1px solid;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#top #top-blog .box .one-box .left .data {
    display: flex;
    align-items: center;
    gap: 0 15px;
}

#top #top-blog .box .one-box .left .data .date {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}

#top #top-blog .box .one-box .left .data .name {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    background: #fff;
    padding: 0 5px;
    border: #c7c8ca 2px solid;
    border-image: linear-gradient(-18deg, #fdfdfd, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada);
    border-image-slice: 4;
    text-align: center;
    line-height: 1.875;
}

#top #top-blog .box .one-box .left h3 {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    margin-top: 10px;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#top #top-blog .box .one-box .left h3 a {
    font-weight: bold;
    color: #4b4b4b;
}

#top #top-blog .box .one-box .left h3 a:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}

#top #top-blog .box .one-box .right {
    width: 150px;
}

#top #top-blog .box .one-box .right img {
    width: 100%;
}

#top #top-blog .btn-more a {
    margin: 15px auto 0;
}

#top #top-review {
    width: 100%;
    max-width: 800px;
    margin: 100px auto 0;
}

#top #top-review .box {
    margin-top: 30px;
}

#top #top-review .box .one-box {
    padding: 10px 0;
    border-bottom: #b5b5b5 1px solid;
}

#top #top-review .box .one-box a {
    color: #4b4b4b;
    display: flex;
    align-items: center;
    gap: 0 25px;
    transition: opacity .3s;
}

#top #top-review .box .one-box a:hover {
    opacity: .6;
}

#top #top-review .box .one-box .left {
    width: 225px;
}

#top #top-review .box .one-box .left img {
    width: 100%;
}

#top #top-review .box .one-box .right {
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    width: calc(100% - 250px);
    padding-right: 60px;
    position: relative;
}

#top #top-review .box .one-box .right::after {
    content: '';
    background: url(../images/arrow.png) no-repeat;
    width: 18px;
    height: 35px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
}

#top #top-review .box .one-box .right .name {
    font-weight: bold;
}

#top #top-review .box .one-box .right .data {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0 15px;
}

#top #top-review .box .one-box .right .data .contributor {
    color: #fff;
    background: #d15786;
    width: 325px;
    padding: 0 5px;
    line-height: 1.875;
}

#top #top-review .box .one-box .right .text {
    margin-top: 10px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

#top #top-review .btn-more a {
    margin: 20px auto 0;
}

#top #top-more {
    margin-top: 80px;
}

#top #top-more ul {
    display: flex;
    gap: 0 20px;
}

#top #top-more ul li {
    width: calc(25% - 60px / 4);
}

#top #top-more ul li a {
    font-size: 18px;
    color: #e4d443;
    width: 100%;
    height: 215px;
    padding-top: 25px;
    text-align: center;
    line-height: 1.1;
    display: block;
    position: relative;
    z-index: 1;
    transition: color .3s;
}

#top #top-more ul li a::before {
    content: '';
    background: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    transition: opacity .3s;
}

#top #top-more ul li a::after {
    content: '';
    background: linear-gradient(to top, #caae2b, #ddcd1b);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -2;
}

#top #top-more ul li a span {
    font-size: 40px;
    display: block;
}

#top #top-more ul li a img {
    width: fit-content;
    margin: 15px auto 0;
    display: block;
}

#top #link {
    width: 950px;
    margin: 10px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

#top #link div:first-child {
    width: 100%;
    text-align: center;
}

#top #link div:nth-child(n+2) {
    display: block;
}

#top #link a {
    transition: opacity .3s;
}

#top #link a:hover {
    opacity: .6;
}

#top #link div img {
    width: 100%;
}

#top #link div:first-child img {
    max-width: 950px;
}

#top #link div:nth-child(n+2) img {
    max-width: 200px;
}

@media screen and (min-width: 769px) {
    #top #top-more ul li a:hover {
        color: #fff;
    }
    
    #top #top-more ul li a:hover::before {
        opacity: 0;
    }
}

@media screen and (max-width: 768px) {
    #top {
        padding: 16.25vw 0 10vw;
    }
    
    #top #main-slider {
        margin-top: 2.5vw;
    }
    
    #top #thumb-slider {
        margin-top: 1.25vw;
    }
    
    #top #thumb-slider .slick-slide {
        width: calc(20% - 0.5vw) !important;
    }
    
    #top #thumb-slider .slick-slide:nth-child(n+2) {
        margin-left: 0.625vw;
    }
    
    #top #top-news-newface {
        margin: 8.75vw auto 0;
        display: block;
    }
    
    #top #top-news {
        width: 97.5%;
        margin: 0 auto;
        padding: 2.5vw 3vw 3.75vw;
        border: #c7c8ca 0.25vw solid;
        border-image: linear-gradient(-18deg, #fdfdfd, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada);
        border-image-slice: 4;
        box-shadow: 0.625vw 0.625vw 1.25vw 0 rgba(0, 0, 0, .2);
    }
    
    #top #top-news .box {
        margin-top: 2.5vw;
        border: #e8e7e4 0.75vw solid;
        padding: 6.25vw 3.75vw 0;
        position: relative;
    }
    
    #top #top-news .box::before {
        width: 11.75vw;
        left: -4.75vw;
        top: 1.25vw;
    }
    
    #top #top-news .box::after {
        width: 11.75vw;
        right: -4.75vw;
        bottom: 1.25vw;
    }
    
    #top #top-news .box .one-box {
        padding-bottom: 1.25vw;
    }
    
    #top #top-news .box .one-box:nth-child(n+2) {
        margin-top: 3.75vw;
    }
    
    #top #top-news .box .one-box .date {
        font-size: 3vw;
    }
    
    #top #top-news .box .one-box h3 {
        font-size: 3.5vw;
        margin-top: 1.25vw;
        line-height: 1.4;
    }
    
    #top #top-news .btn-more a {
        font-size: 4.5vw;
        width: 83.75vw;
        margin: 5vw auto 0;
        line-height: 2.778;
    }
    
    #top #top-newface {
        width: 97.5%;
        margin: 6.25vw auto 0;
        padding: 2.5vw 2vw 5vw;
        border: #c7c8ca 0.25vw solid;
        border-image: linear-gradient(-18deg, #fdfdfd, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada);
        border-image-slice: 4;
        box-shadow: 0.625vw 0.625vw 1.25vw 0 rgba(0, 0, 0, .2);
    }
    
    #top #newface-slider {
        margin-top: 3.75vw;
    }
    
    #top #newface-slider::before {
        width: 11.75vw;
        left: -3.5vw;
        top: 2.25vw;
    }
    
    #top #newface-slider::after {
        width: 11.75vw;
        right: -3.5vw;
        bottom: 2.25vw;
    }

    #top #newface-slider .slides {
        gap: 0 0.75vw;
    }

    #top #newface-slider .slides .left {
        width: 41.25vw;
    }
    
    #top #newface-slider .slides .right {
        width: calc(100% - 42vw);
        padding: 3.75vw 1.25vw 0;
        border: #e8e7e4 0.75vw solid;
    }
    
    #top #newface-slider .slides .right .date {
        font-size: 3vw;
        padding: 0 1.25vw 1.25vw;
    }
    
    #top #newface-slider .slides .right .name {
        font-size: 5vw;
        padding: 0 1.25vw;
        margin-top: 10px;
        line-height: 1.2;
    }
    
    #top #newface-slider .slides .right .data {
        font-size: 3.5vw;
        margin-top: 1.25vw;
        padding: 0 1.25vw;
    }
    
    #top #newface-slider .slides .right .text {
        font-size: 3.5vw;
        margin-top: 2.5vw;
        padding: 0 1.25vw;
        line-height: 1.7;
    }
    
    #top #newface-slider .slick-dots {
        gap: 0 4.25vw;
        bottom: -6.25vw;
    }
    
    #top #newface-slider .slick-dots > li button::before {
        font-size: 3.75vw;
    }
    
    #top #top-schedule {
        margin-top: 10vw;
    }
    
    #top #top-schedule ul {
        margin-top: 5vw;
        gap: 2.5vw 1.25vw;
    }
    
    #top #top-schedule ul li {
        width: calc(50% - 0.625vw);
    }
    
    #top #top-schedule ul li .data {
        margin-top: 1.25vw;
        padding: 0 2vw;
    }
    
    #top #top-schedule ul li .data .name,
    #top #top-schedule ul li .data .age {
        font-size: 3.25vw;
    }
    
    #top #top-schedule ul li .rank {
        margin-top: 1.25vw;
    }
    
    #top #top-schedule ul li .rank img {
        width: 43.75vw;
        max-width: 100%;
    }
    
    #top #top-schedule ul li .time {
        font-size: 4.5vw;
        margin-top: 1.25vw;
    }
    
    #top #top-schedule .btn-more a {
        font-size: 4.5vw;
        width: 83.75vw;
        margin: 6.25vw auto 0;
        line-height: 2.778;
    }
    
    #top #top-blog {
        width: 97.5%;
        margin: 12.5vw auto 0;
        padding: 5vw 3.75vw 5vw;
        border: #c7c8ca 0.25vw solid;
        border-image: linear-gradient(-18deg, #fdfdfd, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada);
        border-image-slice: 4;
        box-shadow: 0.625vw 0.625vw 1.25vw 0 rgba(0, 0, 0, .2);
    }
    
    #top #top-blog .box {
        margin-top: 3.75vw;
        padding: 0.625vw 3.75vw 3.75vw;
    }
    
    #top #top-blog .box::before {
        width: 11.75vw;
        left: -4.75vw;
        top: 1.25vw;
    }
    
    #top #top-blog .box::after {
        width: 11.75vw;
        right: -4.75vw;
        bottom: 1.25vw;
    }
    
    #top #top-blog .box .one-box {
        margin-top: 2vw;
        padding: 0 0 2vw 0;
        align-items: flex-end;
    }

    #top #top-blog .box .one-box .left {
        width: 52.5vw;
    }
    
    #top #top-blog .box .one-box .left .data {
        gap: 0 1.25vw;
    }
    
    #top #top-blog .box .one-box .left .data .date {
        font-size: 3vw;
    }
    
    #top #top-blog .box .one-box .left .data .name {
        font-size: 3.5vw;
        padding: 0 2vw;
        border: #c7c8ca 0.25vw solid;
        border-image: linear-gradient(-18deg, #fdfdfd, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada);
        border-image-slice: 4;
        line-height: 1.667;
    }
    
    #top #top-blog .box .one-box .left h3 {
        font-size: 3.5vw;
        font-weight: bold;
        margin-top: 1.25vw;
        -webkit-line-clamp: 1;
    }
    
    #top #top-blog .box .one-box .right {
        width: 25vw;
    }
    
    #top #top-blog .btn-more a {
        font-size: 4.5vw;
        width: 83.75vw;
        margin: 6.25vw auto 0;
        line-height: 2.778;
    }
    
    #top #top-review {
        width: 90%;
        margin: 12.5vw auto 0;
    }
    
    #top #top-review .box {
        margin-top: 3.75vw;
    }
    
    #top #top-review .box .one-box {
        padding: 2.5vw 0;
    }
    
    #top #top-review .box .one-box a {
        align-items: flex-start;
        gap: 0 2.5vw;
    }
    
    #top #top-review .box .one-box .left {
        width: 25vw;
    }
    
    #top #top-review .box .one-box .right {
        width: calc(100% - 27.5vw);
        padding-right: 8.75vw;
    }
    
    #top #top-review .box .one-box .right::after {
        background: url(../images/arrow_sp.png) no-repeat left top/100%;
        width: 5.125vw;
        height: 11.125vw;
        right: 0;
    }
    
    #top #top-review .box .one-box .right .name {
        font-size: 3.75vw;
        font-weight: bold;
    }
    
    #top #top-review .box .one-box .right .data {
        font-size: 3vw;
        margin-top: 2vw;
        display: block;
    }
    
    #top #top-review .box .one-box .right .data .contributor {
        font-size: 3.5vw;
        color: #fff;
        background: #d15786;
        width: 100%;
        margin-top: 2vw;
        padding: 0 1.25vw;
        line-height: 1.667;
    }
    
    #top #top-review .box .one-box .right .text {
        font-size: 3.5vw;
        margin-top: 1.5vw;
        line-height: 1.6;
        -webkit-line-clamp: 3;
    }
    
    #top #top-review .btn-more a {
        font-size: 4.5vw;
        width: 83.75vw;
        margin: 6.25vw auto 0;
        line-height: 2.778;
    }
    
    #top #top-more {
        width: 90%;
        margin: 12.5vw auto 0;
    }
    
    #top #top-more ul {
        gap: 2.5vw;
        flex-wrap: wrap;
    }
    
    #top #top-more ul li {
        width: calc(50% - 1.25vw);
        border: #e4d443 1px solid;
    }
    
    #top #top-more ul li a {
        font-size: 3.5vw;
        height: 41.25vw;
        padding-top: 3.75vw;
    }
    
    #top #top-more ul li a::before,
    #top #top-more ul li a::after {
        display: none;
    }
    
    #top #top-more ul li a span {
        font-size: 6vw;
    }
    
    #top #top-more ul li a img {
        margin: 3.25vw auto 0;
    }

    #top #top-more ul li:first-child a img {
        width: 14vw;
        margin-top: 3vw;
    }

    #top #top-more ul li:nth-child(2) a img {
        width: 12.375vw;
    }

    #top #top-more ul li:nth-child(3) a img {
        width: 13.625vw;
    }

    #top #top-more ul li:last-child a img {
        width: 15.875vw;
        margin-top: 6.25vw;
    }
    
    #top #link {
        width: 96.25%;
        margin: 6.25vw auto 0;
        gap: 5vw 2.5vw;
        flex-wrap: wrap;
    }

    #top #link div:nth-child(n+2) {
        display: none;
    }

    #top #link div:nth-child(11),
    #top #link div:nth-child(26) {
        display: block;
    }

    #top #link div:first-child img {
        max-width: 770px;
    }
    
    #top #link a {
        transition: opacity .3s;
    }
    
    #top #link a:hover {
        opacity: .6;
    }
}

@media screen and (max-width: 480px) {
    #top #top-schedule ul li .image p span {
        font-size: 16px;
    }
}
/********* index *********/

/********* concept *********/
#concept {
    margin: 64px 0 25px;
}

#concept ul {
	font-size: 0;
}

#concept ul li {
	display: inline-block;
}

#concept #layer-1 {
    background: url(../images/concept_01.jpg) no-repeat #dfe3e6 center top/1600px;
	width: 100%;
    height: 420px;
	padding-left: 5%;
}

#concept #layer-1 .box {
	font-size: 18px;
	width: 100%;
    max-width: 944px;
    margin: 0 auto;
    padding-top: 30px;
	line-height: 2;
	text-align: left;
	vertical-align: middle;
	overflow: hidden;
    transition-delay: .3s;
}

#concept #layer-1 .box h3 {
	font-size: 40px;
    color: #e4d443;
    width: 50%;
    text-align: center;
    line-height: 1.5;
    letter-spacing: -0.075em;
}

#concept #layer-1 .box h3 span {
    font-size: 60px;
    line-height: 1;
    letter-spacing: 0;
    /*display: block;*/
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 8px;
}

#concept #layer-1 .box h3 strong {
    font-size: 18px;
    font-weight: normal;
    margin-top: 30px;
    letter-spacing: 0;
    display: block;
}

#concept #layer-1 .box div {
    font-size: 12px;
    color: #fff;
    width: 50%;
	/*margin-top: 10px;*/
    text-align: center;
    line-height: 1.9;
}

#concept #layer-1 .box div span {
    font-size: 30px;
    display: block;
}

#concept ul.layer-2 {
	width: 100%;
	margin: 0 auto;
	padding: 80px 0 40px;
	text-align: center;
}

#concept ul.layer-2 li {
	font-size: 12px;
	width: 50%;
	max-width: 610px;
	line-height: 2;
	vertical-align: middle;
}

#concept ul.layer-2 li:first-child {
	max-width: 500px;
}

#concept ul.layer-2 li:first-child img {
	max-width: 100%;
}

#concept ul.layer-2 li:last-child {
	border: #e8e7e4 6px solid;
	background-color: rgba(255, 255, 255, .7);
	margin-left: -45px;
	padding: 40px 50px 50px 40px;
	text-align: left;
    transition-delay: .3s;
}

#concept ul.layer-2 li h4 {
	font-size: 30px;
    color: #e4d443;
	margin-bottom: 20px;
    text-align: center;
    position: relative;
}

#concept ul.layer-2 li h4::after {
    content: '';
    background: #e7eaf1;
    width: 110px;
    height: 4px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
}

#concept ul.layer-2 li h4 span {
    font-size: 22px;
    line-height: 0.5;
    display: block;
}

#concept ul.layer-2 li div {
	margin-top: 30px;
    text-align: center;
}

#concept ul#layer-3 {
	width: 100%;
	margin: 0 auto;
	padding: 40px 0;
	text-align: center;
}

#concept ul#layer-3 li {
	font-size: 12px;
	width: 50%;
	max-width: 610px;
	line-height: 2;
	vertical-align: middle;
}

#concept ul#layer-3 li:first-child {
	border: #e8e7e4 6px solid;
	background-color: rgba(255, 255, 255, .7);
	padding: 50px 50px 30px;
	text-align: left;
	position: relative;
    z-index: 2;
    transition-delay: .3s;
}

#concept ul#layer-3 li:last-child {
	max-width: 500px;
	margin-left: -45px;
}

#concept ul#layer-3 li:last-child img {
	max-width: 100%;
}

#concept ul#layer-3 li h4 {
	font-size: 30px;
    color: #e4d443;
	margin-bottom: 20px;
    text-align: center;
    position: relative;
}

#concept ul#layer-3 li h4::after {
    content: '';
    background: #e7eaf1;
    width: 110px;
    height: 4px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
}

#concept ul#layer-3 li h4 span {
    font-size: 22px;
    line-height: 0.5;
    display: block;
}

#concept ul#layer-3 li div {
	margin-top: 30px;
    text-align: center;
}

#concept hr {
	background-color: #e8e7e4;
	width: 110px;
	height: 5px;
	margin-left: 0;
    border: none;
}

@media screen and (min-width: 481px) and (max-width: 768px) {
	#concept {
        margin-top: 20vw;
		padding-bottom: 0;
	}

    #concept section {
        padding: 6vw 0;
    }

	#concept ul li {
		display: block;
	}
	
	#concept #layer-1 {
        background: url(../images/concept_01_sp.jpg) no-repeat center top/contain;
        width: 100%;
        height: auto;
		margin: 0 auto 5vw;
		padding: 30vw 0 0;
	}

    #concept #layer-1 .box {
        background: #7f7460;
        width: 95%;
        margin: 0 auto;
        padding: 10vw 0 7.5vw;
        border: #e8e7e4 1.25vw solid;
    }
	
	#concept #layer-1 .box h3 {
        font-size: 6.25vw;
        width: 100%;
		text-align: center;
        line-height: 1.4;
        letter-spacing: 0;
        text-underline-offset: 5px;
	}

    #concept #layer-1 .box h3 span {
        font-size: 10vw;
        line-height: 1.4;
    }

    #concept #layer-1 .box h3 strong {
        font-size: 3.5vw;
        margin-top: 1.5vw;
        letter-spacing: -0.025em;
    }
	
	#concept #layer-1 .box div {
        font-size: 3vw;
        width: 85%;
		margin: 0 auto;
        letter-spacing: -0.025em;
	}

    #concept #layer-1 .box div span {
        font-size: 5vw;
        line-height: 2.8;
    }

    #concept #layer-1 .box div br.sp {
        display: inline-block;
    }
	
	#concept ul.layer-2 {
		background-size: contain;
		margin-top: 3.75vw;
		padding: 0;
	}
	
	#concept ul.layer-2 li:first-child {
		width: 100%;
        max-width: 100%;
		margin: 0 auto;
	}
	
	#concept ul.layer-2 li:last-child {
		background: rgba(255, 255, 255, .7);
        width: 95%;
        max-width: 95%;
        margin: -8.75vw auto;
        padding: 8.75vw 0 5vw;
        border: #e8e7e4 1.25vw solid;
        position: relative;
        z-index: 2;
	}
	
	#concept ul.layer-2 li h4 {
		font-size: 6.25vw;
		text-align: center;
        line-height: 2.8;
	}

    #concept ul.layer-2 li h4::after {
        width: 13.75vw;
        height: 0.5vw;
        bottom: -0.5vw;
    }
    
    #concept ul.layer-2 li h4 span {
        font-size: 3.75vw;
    }

    #concept ul.layer-2 li h4 br.sp {
        display: inline-block;
    }
	
	#concept ul.layer-2 li div {
		font-size: 3vw;
        width: 90%;
		margin: 3.75vw auto 0;
        letter-spacing: -0.05em;
	}

    #concept ul.layer-2 li div br.pc {
        display: none;
    }

    #concept ul.layer-2 li div br.sp {
        display: inline-block;
    }
	
	#concept ul#layer-3 {
		margin-top: 10vw;
		padding: 0;
        display: flex;
        flex-wrap: wrap;
	}
	
	#concept ul#layer-3 li:first-child {
		background: rgba(255, 255, 255, .7);
        width: 95%;
        max-width: 95%;
        margin: -7.5vw auto 0;
        padding: 10vw 0 7.5vw;
        border: #e8e7e4 1.25vw solid;
        position: relative;
        z-index: 2;
        order: 2;
	}
	
	#concept ul#layer-3 li:last-child {
		width: 100%;
		max-width: 100%;
        margin: 0;
        order: 1;
	}
	
	#concept ul#layer-3 li:last-child img {
		width: 100%;
	}
	
	#concept ul#layer-3 li h4 {
		font-size: 6.25vw;
        width: 95%;
        margin: 0 auto;
        line-height: 2.8;
	}

    #concept ul#layer-3 li h4 span {
        font-size: 3.75vw;
        line-height: 0.01;
    }

    #concept ul#layer-3 li h4 br.sp {
        display: inline-block;
    }

    #concept ul#layer-3 li h4 br.pc {
        display: none;
    }
	
	#concept ul#layer-3 li div {
		font-size: 3vw;
        width: 95%;
		margin: 5vw auto 0;
        letter-spacing: -0.05em;
	}

    #concept ul#layer-3 li div br.sp {
        display: inline-block;
    }

    #concept #page-top {
        margin-top: 25vw;
    }
}

@media screen and (max-width: 480px) {
	#concept {
        margin-top: 20vw;
		padding-bottom: 0;
	}

    #concept section {
        padding: 6vw 0;
    }
	
	#concept ul li {
		display: block;
	}
	
	#concept #layer-1 {
        background: url(../images/concept_01_sp.jpg) no-repeat center top/contain;
        width: 100%;
        height: auto;
		margin: 0 auto 5vw;
		padding: 30vw 0 0;
	}

    #concept #layer-1 .box {
        background: #7f7460;
        width: 95%;
        margin: 0 auto;
        padding: 10vw 0 7.5vw;
        border: #e8e7e4 1.25vw solid;
    }
	
	#concept #layer-1 .box h3 {
        font-size: 4.75vw;
        width: 100%;
		text-align: center;
        line-height: 1.4;
        letter-spacing: 0;
        text-underline-offset: 5px;
	}

    #concept #layer-1 .box h3 span {
        font-size: 10vw;
        line-height: 1.4;
    }

    #concept #layer-1 .box h3 strong {
        font-size: 3.5vw;
        margin-top: 3.75vw;
        letter-spacing: -0.025em;
    }
	
	#concept #layer-1 .box div {
        font-size: 3vw;
        width: 85%;
		margin: 3.75vw auto 0;
        letter-spacing: -0.025em;
	}

    #concept #layer-1 .box div br.sp {
        display: inline-block;
    }
	
	#concept ul.layer-2 {
		background-size: contain;
		margin-top: 3.75vw;
		padding: 0;
	}
	
	#concept ul.layer-2 li:first-child {
		width: 100%;
        max-width: 100%;
		margin: 0 auto;
	}
	
	#concept ul.layer-2 li:last-child {
		background: rgba(255, 255, 255, .7);
        width: 95%;
        max-width: 95%;
        margin: -8.75vw auto;
        padding: 8.75vw 0 7.5vw;
        border: #e8e7e4 1.25vw solid;
        position: relative;
        z-index: 2;
	}
	
	#concept ul.layer-2 li h4 {
		font-size: 4.75vw;
		text-align: center;
        line-height: 2.8;
        letter-spacing: 0;
	}

    #concept ul.layer-2 li h4::after {
        width: 13.75vw;
        height: 0.5vw;
        bottom: -0.5vw;
    }
    
    #concept ul.layer-2 li h4 span {
        font-size: 3.75vw;
    }

    #concept ul.layer-2 li h4 br.sp {
        display: inline-block;
    }
	
	#concept ul.layer-2 li div {
		font-size: 3vw;
        width: 92.5%;
		margin: 3.75vw auto 0;
        letter-spacing: -0.05em;
	}

    #concept ul.layer-2 li div br.sp {
        display: inline-block;
    }
	
	#concept ul#layer-3 {
		margin-top: 20vw;
		padding: 0;
        display: flex;
        flex-wrap: wrap;
	}
	
	#concept ul#layer-3 li:first-child {
		background: rgba(255, 255, 255, .7);
        width: 95%;
        max-width: 95%;
        margin: -10vw auto 0;
        padding: 10vw 0 7.5vw;
        border: #e8e7e4 1.25vw solid;
        position: relative;
        z-index: 2;
        order: 2;
	}
	
	#concept ul#layer-3 li:last-child {
		width: 100%;
		max-width: 100%;
        margin: 0;
        order: 1;
	}
	
	#concept ul#layer-3 li:last-child img {
		width: 100%;
	}
	
	#concept ul#layer-3 li h4 {
		font-size: 4.75vw;
        width: 95%;
        margin: 0 auto;
        line-height: 2.8;
	}

    #concept ul#layer-3 li h4 span {
        font-size: 3.75vw;
        line-height: 0.01;
    }

    #concept ul#layer-3 li h4 br.sp {
        display: inline-block;
    }

    #concept ul#layer-3 li h4 br.pc {
        display: none;
    }
	
	#concept ul#layer-3 li div {
		font-size: 3vw;
        width: 95%;
		margin: 5vw auto 0;
        letter-spacing: -0.05em;
	}

    #concept ul#layer-3 li div br.sp {
        display: inline-block;
    }

    #concept #page-top {
        margin-top: 25vw;
    }
}
/********* concept *********/

/********* system *********/
#system {
    margin-top: 64px;
    padding-bottom: 25px;
}

#system .s-tytle {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
	font-size: 16px;
	padding: 0 20px;
	line-height: 1.8;
	text-align: center;
}

#system h3 {
	font-size: 14px;
	color: #e4d443;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

#system h3 span {
	font-size: 24px;
	font-family: 'Lora', serif;
}

#system .sysban {
    text-align: center;
    margin: 40px auto;
    width: 100%;
    max-width: 944px;
}

#system .sysban img {
    width: 100%;
}

#system .menu {
	width: 944px;
	margin: 40px auto 0;
	padding: 30px 0 30px;
	border: #e8e7e4 6px solid;
}

#system .menu a {
    color: #000;
    width: 100%;
    padding: 15px 0;
    text-decoration: none;
    display: block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#system .menu a:hover {
	background-color: #e4d443;
}

#system .menu ul {
    font-size: 0;
    padding-left: 75px;
}

#system .menu ul.price li img{
    width: 200px;
}

#system .menu .tax{
    font-size: 20px;
}

#system .menu ul li {
	display: inline-block;
	vertical-align: middle;
}

#system .menu ul.price {
    margin-top: 20px;
}

#system .menu ul.price li:first-child {
	font-size: 24px;
	color: #e4d443;
	width: 25%;
	padding: 5px 0;
	border: #e4d443 1px solid;
	text-align: center;
}

#system .menu ul.price li:first-child span {
    font-size: 16px;
}

#system .menu ul.price li:nth-child(2) {
	margin-left: 50px;
}

#system .menu ul.price li:last-child {
	font-size: 30px;
	margin-left: 50px;
}

#system .menu ul.price li:last-child span {
	font-size: 16px;
}

#system .menu ul.other {
    margin-top: 40px;
}

#system .menu ul.other:nth-child(8) {
    margin-top: 20px;
}

#system .menu ul.other li:first-child,
#system .menu ul.other li:nth-child(3) {
	font-size: 24px;
	color: #e4d443;
	width: 15%;
	padding: 5px 0;
	border: #e4d443 1px solid;
	text-align: center;
}

#system .menu ul.other li:first-child span,
#system .menu ul.other li:nth-child(3) span {
	font-size: 16px;
}

#system .menu ul.other li:nth-child(2),
#system .menu ul.other li:last-child {
    font-size: 30px;
    margin: 0 40px 0 10px;
}

#system .menu ul.other li:nth-child(2) span,
#system .menu ul.other li:last-child span {
	font-size: 16px;
}

#system .menu .text {
	font-size: 12px;
	margin-top: 30px;
	line-height: 2;
}

#system .menu .text span {
    font-size: 23px;
    color: #000;
    background: #e4d443;
    width: 406px;
    margin: 80px auto 0;
    text-align: center;
    line-height: 1.566;
    letter-spacing: 0.1em;
    display: block;
}

#system .menu .text strong {
    font-size: 23px;
    color: #fff;
    background: #000;
    width: 406px;
    margin: 20px auto 0;
    text-align: center;
    line-height: 1.566;
    letter-spacing: 0.1em;
    display: block;
}


#policy {
	margin-top: 70px;
	background: #fffec8;
	padding: 30px 15px
}

#policy h3 {
    color: #4b4b4b;
}

#policy p {
    line-height: 1.8;
    margin-top: 20px;
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
}

#system .menu .text2 {
    font-size: 19px;
    padding-left: 8px;
}

#system .menu ul.credit {
	/*margin-top: 20px; */
    padding-left: 2px;
	width: 98%;
}

#system .menu ul.credit li:nth-child(2) {
	font-size: 23px;
    background-color: #e4d443;
    color: #000;
    width: 26%;
    padding: 7px 0;
    border: #e4d443 1px solid;
    text-align: center;
}

#system .menu ul.credit li:nth-child(3) {
	font-size: 14px;
	vertical-align: top;
	margin-left: 15px;
	line-height: 1.8;
	letter-spacing: -0.1em;
}

#system .menu ul.credit li:first-child span {
    font-size: 16px;
}

#system .menu ul.credit li:first-child {
	font-size: 28px;
	margin-left: 10px;
}

#system .menu ul.credit li:first-child span {
    font-size: 16px;
}

#system .menu ul.credit li:first-child {
	margin-left: 10px;
	color: #e4d443;
}

#system .menu ul.credit li:last-child {
	font-size: 19px;
    width: fit-content;
	margin: 10px auto 0;
	letter-spacing: 0em;
	/*margin-top: -28px;*/
    display: block;
}

#system .menu ul.credit li:last-child span {
	font-size: 12px;
	color: #000;
}

#system .menu .credit-link {
	width: 90%;
	max-width: 728px;
	margin: 30px auto 0;
}

#system .menu .credit-link img {
	width: 100%;
}

#system .menu ul.payp {
    padding-left: 2px;
	width: 98%;
	text-align: center;
}

#system .menu ul.payp li:first-child {
	font-size: 28px;
	margin-left: 10px;
	color: #e4d443;
}

#system .menu ul.payp li:nth-child(2) {
	font-size: 23px;
    background-color: #e4d443;
    color: #000;
    width: 20%;
    padding: 7px 0;
    border: #e4d443 1px solid;
    text-align: center;
}

#system .menu ul.payp li:nth-child(3) {
	font-size: 19px;
    width: 100%;
	margin-left: 15px;
	letter-spacing: 0em;
	margin-top: 10px;
}

#system .menu ul.payp li:nth-child(4) {
    margin-top: 20px
}

#system .menu ul.payp li:last-child {
    margin-top: 20px
}

#system .menu ul.payp li:last-child img {
	width: 100%;
	max-width: 230px;
}

#system .menu ul.after {
    padding-left: 2px;
	width: 98%;
	text-align: center;
}

#system .menu ul.after li:first-child {
	font-size: 28px;
	margin-left: 10px;
	color: #e4d443;
}

#system .menu ul.after li:nth-child(2) {
	font-size: 23px;
    background-color: #e4d443;
    color: #000;
    width: 22%;
    margin-left: 10px;
    padding: 7px 0;
    border: #e4d443 1px solid;
    text-align: center;
}

#system .menu ul.after li:nth-child(3) {
	font-size: 14px;
	margin-left: 10px;
    text-align: left;
    line-height: 1.4;
}

#system .menu ul.after li:nth-child(4) {
	font-size: 19px;
	margin-top: 10px;
}

#system .menu ul.after li:last-child {
    margin-top: 20px
}

#system .menu ul.after li:last-child img {
	width: 100%;
	max-width: 728px;
}

#system .access {
    margin-top: 70px;
}

#system .access .text {
	font-size: 12px;
	margin: 40px 0 20px;
	text-align: center;
	line-height: 1.4;
}

#system .access ul {
	font-size: 0;
	margin-bottom: 10px;
}

#system .access ul:first-of-type {
    margin-top: 40px;
}

#system .access ul li {
	width: 50%;
	vertical-align: top;
	display: inline-block;
}

#system .access ul li:first-child {
	color: #000;
	background-color: #e4d443;
	padding: 70px 20px;
}

#system .access ul li:first-child .area {
	font-family: "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN W3",HiraMinProN-W3,"ヒラギノ明朝 ProN","Hiragino Mincho ProN",serif;
	font-size: 24px;
}

#system .access ul li:first-child .desc {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
	font-size: 16px;
	margin-top: 20px;
	line-height: 1.6;
}

#system .access ul li:last-child iframe {
    height: 225px;
}

#system .transportation {
	width: 944px;
	margin: 70px auto 0;
	padding: 30px 0 35px;
	border: #e8e7e4 6px solid;

	.box {
		margin-top: 60px;
		padding: 0 80px;

		.one-box {
			margin-top: 35px;
			display: flex;
			align-items: flex-start;
			gap: 0 15px;

			p:first-child {
				font-size: 24px;
				font-style: italic;
				color: #e4d443;
				width: 120px;
				padding: 5px 0;
				border: #e4d443 1px solid;
				text-align: center;
			}

			p:last-child {
				font-size: 16px;
				font-feature-settings: "palt";
				width: calc(100% - 135px);
				line-height: 2.2;
                letter-spacing: -0.01em;
			}
		}
	}

	.text {
		font-size: 18px;
		margin-top: 50px;
		text-align: center;
	}
}

#system .attention {
    margin: 70px 0 40px;
}

#system .attention p {
	font-size: 12px;
	width: 650px;
	margin: 40px auto 0;
	line-height: 2;
}

@media screen and (min-width: 769px) and (max-width: 1050px) {
    #system .access ul li:first-child {padding-top: 6vw;}
}

@media screen and (min-width: 769px) and (max-width: 969px) {
    #system .menu ul.payp {
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.payp li:nth-child(3) img {
        max-width: 100%;
    }

    #system .menu ul.after {
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.after li:last-child img {
        max-width: 100%;
    }

    #system .menu {
        width: calc(100% - 20px);
    }

    #system .menu ul.price {
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.price li:last-child {
        width: 30%;
        text-align: left;
    }

    #system .menu ul.other {
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.other li:last-child {
        margin-right: 0;
    }

    #system .menu .text {
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.credit {
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.credit li:nth-child(3) img {
        max-width: 100%;
    }

    #system .menu ul.credit li:last-child {
        text-align: left;
    }
}

@media screen and (max-width: 944px){
    #system .sysban img {
        width: 98%;
    }
}

@media screen and (min-width: 769px) {
    #system .access ul li:first-child {
        height: 225px;
    }
}

@media screen and (max-width: 768px) {
    #system {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #system section {
        padding: 6vw 0;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #system .menu ul.payp {
        width: 100%;
        margin: 20px auto 40px;
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.payp li:first-child {
        width: 100%;
    }

    #system .menu ul.payp li:nth-child(2) {
        margin-top: 10px;
        width: 100%;
        max-width: 360px;
    }

    #system .menu ul.payp li:nth-child(4) {
        display: block;
    }

    #system .menu ul.payp li:last-child {
        display: block;
    }

    #system .menu ul.after {
        width: 100%;
        margin: 20px auto 40px;
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.after li:first-child {
        width: 100%;
    }

    #system .menu ul.after li:nth-child(2) {
        margin-top: 10px;
        width: 100%;
        max-width: 360px;
    }

    #system .menu ul.after li:nth-child(3) {
        width: 100%;
        margin-top: 10px;
        text-align: center;
    }

    #system .menu ul.after li:last-child {
        display: block;
    }

    #system .s-tytle {
        padding: 0 10px;
    }

    #system .menu {
        width: calc(100% - 20px);
    }

    #system .menu ul.price {
        width: 400px;
        margin: 20px auto 40px;
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.price li:first-child {
        width: 27%;
    }

    #system .menu ul.price li:nth-child(2) {
        display: none;
    }

    #system .menu ul.price li:last-child {
        width: 60%;
        margin-left: 0;
        text-align: right;
    }

    #system .menu ul.other {
        width: 400px;
        margin: 0 auto;
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.other:nth-child(8) {
        margin-top: 0;
    }

    #system .menu ul.other li:first-child,
    #system .menu ul.other li:nth-child(3) {
        width: 27%;
        margin: 15px 0 0 0;
    }

    #system .menu ul.other li:nth-child(2),
    #system .menu ul.other li:last-child {
        width: 60%;
        margin: 15px 0 0 0;
        text-align: right;
    }

    #system .menu .text {
        padding: 0 10px;
        text-align: center;
    }

    #system .access ul li {
        width: 100%;
        display: block;
    }

    #system .access ul li:first-child {
        padding: 40px 20px;
    }

    #system .attention p {
        width: 100%;
        padding: 0 10px;
    }

    #system .transportation {
		width: calc(100% - 20px);
	}

    #system .menu ul.credit {
        width: 100%;
        margin: 20px auto 40px;
        padding-left: 0;
        text-align: center;
    }

    #system .menu ul.credit li:first-child {
        width: 50%;
    }

    #system .menu ul.credit li:nth-child(2) {
        margin-top: 10px;
        width: 50%;
    }
}

@media screen and (max-width: 480px) {
    #system .menu ul.payp {
        width: 100%;
        margin: 20px 0 40px;
        padding-left: 0;
        text-align: left;
    }

    #system .menu ul.payp li:first-child {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
        font-size: 25px;
        margin-left: 0;
    }

    #system .menu ul.payp li:nth-child(2) {
        margin: 0 auto;
        width: 100%;
    }

    #system .menu ul.payp li:nth-child(3) {
        display: block;
        width: 100%;
        margin-left: 0;
        padding: 0 10px;
        text-align: center;
        line-height: 30px;
    }

    #system .menu ul.payp li:nth-child(4) {
        margin: 15px auto;
        display: block;
    }

    #system .menu ul.payp li:nth-child(4) img {
        width: 100%;
    }

    #system .menu ul.payp li:last-child {
        margin: 15px auto;
        max-width: 230px;
        display: block;
    }

    #system .menu ul.payp li:last-child img {
        width: 100%;
    }

    #system .menu ul.after {
        width: 100%;
        margin: 20px 0 40px;
        padding-left: 0;
        text-align: left;
    }

    #system .menu ul.after li:first-child {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
        font-size: 25px;
        margin-left: 0;
    }

    #system .menu ul.after li:nth-child(2) {
        margin: 0 auto;
        width: 100%;
    }

    #system .menu ul.after li:nth-child(3) {
        width: 100%;
        margin-top: 10px;
        text-align: center;
    }

    #system .menu ul.after li:nth-child(4) {
        display: block;
        width: 100%;
        margin-left: 0;
        padding: 0 10px;
        text-align: center;
        line-height: 30px;
    }

    #system .menu ul.after li:last-child {
        margin: 15px auto;
        max-width: 728px;
        display: block;
    }

    #system .menu ul.after li:last-child img {
        width: 100%;
    }

    #system .s-tytle {
        padding: 0 10px;
        text-align: left;
    }

    #system .menu {
        width: calc(100% - 20px);
        padding-top: 20px;
    }

    #system .menu ul.price {
        width: 80%;
        margin: 20px auto 40px;
        padding-left: 0;
        text-align: left;
    }

    #system .menu ul.price li:first-child {
        width: 40%;
    }

    #system .menu ul.price li:nth-child(2) {
        display: none;
    }

    #system .menu ul.price li:last-child {
        width: 60%;
        margin-left: 0;
        text-align: right;
    }

    /*#system .menu ul.price li:last-child span:last-child {
        display: block;
    }*/

    #system .menu ul.other {
        width: 80%;
        margin: 0 auto;
        padding-left: 0;
    }

    #system .menu ul.other:nth-child(8) {
        margin-top: 0;
    }

    #system .menu ul.other li:first-child,
    #system .menu ul.other li:nth-child(3) {
        width: 40%;
    }

    #system .menu ul.other li:nth-child(2),
    #system .menu ul.other li:last-child {
        width: 60%;
        margin: 0;
        text-align: right;
    }

    /*#system .menu ul.other li:nth-child(2) span:last-child,
    #system .menu ul.other li:last-child span:last-child {
        display: block;
    }*/

    #system .menu ul.other li:nth-child(3),
    #system .menu ul.other li:last-child,
    #system .menu ul.other:nth-child(8) li:first-child {
        margin-top: 15px;
    }

    #system .menu .text {
        padding: 0 10px;
        text-align: justify;
    }

    #system .menu .text span {
        font-size: 4.25vw;
        width: 90%;
        margin: 40px auto 0;
        /*padding-right: 0;*/
    }

    #system .menu .text strong {
        font-size: 4.25vw;
        width: 90%;
        margin: 15px auto 0;
    }

    #system .access .text {
        padding: 0 10px;
        text-align: left;
    }

    #system .access ul li {
        width: 100%;
        display: block;
    }

    #system .access ul li:first-child {
        padding: 12vw 10px 10vw;
    }

    #system .transportation {
		width: calc(100% - 20px);

        .box {
			margin-top: 30px;
			padding: 0 30px;
	
			.one-box {
				margin-top: 30px;
				justify-content: center;
				gap: 10px 0;
				flex-wrap: wrap;
	
				p:last-child {
                    font-size: 14px;
					width: 100%;
					text-align: center;
                    line-height: 1.8;
				}
			}
		}

		.text {
			margin-top: 40px;
		}
	}

    #system .attention p {
        width: 100%;
        padding: 0 10px;
    }

    #system .menu ul.credit {
        width: 100%;
        margin: 20px 0 40px;
        padding-left: 0;
        text-align: left;
    }

    #system .menu ul.credit li:first-child {
        width: 100%;
        text-align: center;
        margin: 0 0 10px;
        font-size: 25px;
    }

    #system .menu ul.credit li:nth-child(2) {
        margin: 0 auto;
        width: 100%;
    }

    #system .menu ul.credit li:nth-child(3) {
        text-align: center;
        font-size: 12px;
        width: 100%;
        margin-left: 0;
        padding: 0 10px;
    }

    #system .menu ul.credit li:last-child {
        margin: 20px 0px 0px 0px;
        padding: 0px 9px;
        display: block;
        width: 100%;
        text-align: center;
    }

    #system .menu ul.credit + div img {
        width: 100%;
    }

    #system .sysban img {
        width: 96%;
    }
}

@media screen and (max-width: 360px) {
    #system .menu ul.payp {
        width: 100%;
        margin: 20px auto;
    }

    #system .menu ul.payp li:first-child {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
        font-size: 25px;
        margin-left: 0;
    }

    #system .menu ul.payp li:nth-child(2) {
        margin: 0 9px;
        width: 100%;
        max-width: 315px;
    }

    #system .menu ul.payp li:nth-child(3) {
        display: block;
        width: 300px;
        text-align: center;
    }
}
/********* system *********/

/********* therapist *********/
#therapist {
    margin-top: 64px;
    padding-bottom: 20px;
}

#therapist section > ul {
	font-size: 0;
	width: 100%;
	max-width: 1025px;
	margin: 0 auto;
}

#therapist section > ul li {
	font-size: 12px;
	color: #e4d443;
	width: calc(25% - 0.804%);
	margin: 0.4%;
	padding: 3px;
	border: #e4d443 1px solid;
	display: inline-block;
	text-align: center;
}

#therapist section > ul li .image {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
	position: relative;
}

#therapist section > ul li .image:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

#therapist section > ul li .image img {
    max-width: 100%;
}

.icon {
    position: relative;
}

.icon-in {
    position: absolute;
    bottom: 0;
    left: 58%;
}

.icon-l {
    position: relative;
}

.icon-l-in {
    position: absolute;
    bottom: 0;
    right: 50%;
}

#therapist section > ul li .image p {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	right: 0;
	padding-top: 60%;
	font-size: 21px;
	color: #eee;
	background: rgba(0,0,0,0.6);
	z-index: 100;	
}

#therapist section > ul li .image p span {
	border: 1px solid #eee;
	padding: 5px 15px;
	border-radius: 30px;
	box-sizing: border-box;
	display: inline-block
}

#therapist section > ul li .name {
	font-size: 16px;
    color: #e4d443;
	float: left;
	padding: 8px 0 5px 5%;
}

#therapist section > ul li .data {
    color: #e4d443;
	float: right;
	padding: 10px 4% 10px 0;
}

#therapist section > ul li .time {
	font-size: 16px;
	width: 100%;
	height: 21px;
	padding-bottom: 5px;
	text-align: center;
	clear: both;
}

#therapist section > ul li .btn-profile {
    clear: both;
}

#therapist section > ul li .btn-profile a {
	color: #000;
	background-color: #e4d443;
	width: 100%;
	padding: 10px 0;
	text-decoration: none;
	display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#therapist section > ul li .btn-profile a:hover {
    background-color: #fffbd2;
}

#therapist .rank-box {
    width: 100%;
    height: 58px;
}

#therapist .rank-box img {
    max-width: 240px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    #therapist {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #therapist section {
        padding: 6vw 0;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #therapist section > ul li {
        width: calc(33% - 0.465%);
    }
}

@media screen and (max-width: 480px) {
    #therapist section > ul li {
        width: calc(50% - 0.8%);
    }

    #therapist section > ul li .image p span {
        font-size: 16px
    }
}
/********* therapist *********/

/********* profile *********/
#profile {
    padding: 63px 0 25px;
}

#profile ul {
    font-size: 0;
}

#profile section > ul#inner {
	max-width: 850px;
	margin: 0 auto;
}

#profile ul#inner {
	max-width: 850px;
	margin: 0 auto;
}

#profile ul#inner li .slick-dots > li.slick-active button:before {
    color: #e4d443;
}

#profile section > ul li {
	font-size: 14px;
	width: 45%;
	display: inline-block;
	vertical-align: top;
}

#profile section > ul > li:first-of-type {
	max-width: 360px;
}

#profile section > ul > li:last-child {
    margin-left: 4.5%;
}

#profile section > ul li:last-child {
    font-size: 14px;
    width: 50%;
    display: inline-block;
    vertical-align: top;
    margin-left: 4.5%;
}

#profile section > ul#inner a {
    text-decoration: none;
}

#profile ul#inner a {
    text-decoration: none;
}

#profile .flex {
    justify-content: space-between;
}

#profile .btn-blog {
	font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin-top: 15px;
	text-align: center;
    line-height: 2.778;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#profile .btn-blog:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#profile .btn-blog2 {
    font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin: 15px auto;
	text-align: center;
    line-height: 2.778;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#profile .btn-blog2:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}	

#profile .icon {
	color: #fff;
	background-color: #8d7231;
	width: 100px;
	padding: 7px 0;
	text-align: center;
}

#profile .rank-box {
    max-width: calc(100% - 120px);
}

#profile .rank-box img {
    max-width: 240px;
    width: 100%;
}

#profile .prof {
	margin-top: 14px;
	padding-bottom: 15px;
	border-bottom: #000 2px solid;
	overflow: hidden;
}

#profile .prof::after {
	content: '';
	clear: both;
}

#profile .name {
	font-size: 24px;
	color: #4b4b4b;
	letter-spacing: 0.6em;
	float: left;
}

#profile .data {
	margin-left: 30px;
	padding-top: 10px;
	float: left;
}

#profile .s-title {
	font-size: 18px;
    color: #e4d443;
	margin: 30px 0 0 -10px;
}

#profile .text1 {
	margin-top: 20px;
	line-height: 1.6;
}

#profile .qa {
	color: #e4d443;
	margin-top: 30px;
}

#profile .review {
	color: #e4d443;
	margin-top: 30px;
	letter-spacing: -1px;
	display: inline-block;
    width: 100px;
}

#profile .text2 {
	margin-top: 10px;
	line-height: 1.4em;
	letter-spacing: -1px;
}

#profile .text3 {
	margin-top: 10px;
	line-height: 1.4em;
	letter-spacing: -1px;
	display: inline-block;
    width: 71%;
}

#profile .text3:last-of-type {
    width: 100%;
}

#profile ul.option {
    margin-top: 15px;
}

#profile ul.option li {
    color: #e4d443;
    background: #fff;
	padding: 7px 0;
	border: #e4d443 2px solid;
	text-align: center;
	margin-top: 5px;
}

#profile ul.option li:nth-child(even) {
	margin-left: 3px;
}

#profile ul.option li:nth-child(odd) {
	margin-right: 3px;
}

#profile ul.option li:last-child {
    font-size: 14px;
    width: 45%;
    display: inline-block;
    vertical-align: top;
    margin-left: 3px;
}

#profile ul.schedule {
    margin-top: 15px;
}

#profile ul.schedule li {
	padding: 7px 0;
	border: #e4d443 1px solid;
	text-align: center;
}

#profile ul.schedule li:nth-child(odd) {
	color: #000;
	background-color: #e4d443;
}

#profile ul.schedule li:nth-child(even) {
    color: #000;
}

#profile ul.schedule li:nth-child(n+3) {
    margin-top: 5px;
    width: 45%;
}

#profile ul.schedule li:last-child {
    margin-left: 0;
}

#profile .r-data {
	float: right;
	font-size: 14px;
	line-height: 1.5em;
}

#profile .rev-pc {
    display: block;
    padding: 0;
}

#profile .rev-sp {
    display: none;
}

#profile .rev-under {
	max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

#profile .rev-under h3 {
    margin-bottom: 20px;
    color: #e4d443;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .1em;
    text-align: center;
}

#profile .rev-under h3 span {
    font-family: "Lora", serif;
    font-size: 24px;
}

#profile .rev-under .s-title {
    font-size: 18px;
    margin: 10px auto;
}

#profile .rev-under .r-data {
    color: #000;
    float: none;
	text-align: left;
    font-size: 14px;
    line-height: 1.5em;
}

#profile .rev-under .text1 {
	margin-top: 20px;
	line-height: 1.6;
}

#profile .rev-under .qa {
	color: #e4d443;
	margin-top: 30px;
}

#profile .rev-under .text2 {
	margin-top: 10px;
	line-height: 1.4em;
	letter-spacing: -1px;
}

#profile .rev-under .text3 {
	margin-top: 10px;
	line-height: 1.4em;
	letter-spacing: -1px;
	display: inline-block;
    width: 71%;
}

#profile .rev-under .text3:last-of-type {
    width: 75%;
}

#profile .rev-under .rev-pc {
    display: block;
    padding: 15px;
    border: 1px solid #8d7231;
}

#profile .rev-under .review {
    color: #e4d443;
    margin-top: 0;
    letter-spacing: -1px;
    display: inline-block;
    width: 20%;
    vertical-align: top;
    line-height: 2.8;
}

#profile .rev-under .star-rating {
	position: relative;
	height: 1em;
	font-size: 18px;
	margin-top: 10px;
	line-height: 1.6;
	display: inline-block;
    width: 71%;
}
		
#profile .rev-under .count {
    position: absolute;
    top: 2px;
    left: 135px;
}

#profile .rev-under .star-rating::after {
	content: "";
	clear: both;	
}

#profile .rev-under .star-rating-front {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: #e4d443;
}
		
#profile .rev-under .star-rating-back {
    color: #ccc;
    text-align: left;
}			
		
.star05 {
    width: 9px;
}
.star1 {
    width: 17px;
}
.star15 {
    width: 27px;
}
.star2 {
    width: 35px;
}
.star25 {
    width: 45px;
}
.star3 {
    width: 54px;
}
.star35 {
    width: 63px;
}
.star4 {
    width: 71px;
}
.star45 {
    width: 81px;
}
.star5 {
    width: 90px;
}

.slider {
    margin: 0 auto;
    width: 100%;
}

.slider img {
	height: auto;
	width: 100%;
}

.slick-prev:before,
.slick-next:before {
    color: #000;
}

#profile .star-rating {
	position: relative;
	/*width: 5em;*/
	height: 1em;
	font-size: 18px;
	margin-top: 10px;
	line-height: 1.6;
	display: inline-block;
    width: 71%;
}	

#profile .count {
    position: absolute;
    top: 2px;
    left: 135px;
}

#profile .star-rating::after {
	content: "";
	clear: both;	
}
		
#profile .star-rating-front {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: #e4d443;
}
		
#profile .star-rating-back {
    color: #ccc;
    text-align: left;
}

.photobbs-list h3 {
    margin-bottom: 20px;
    color: #e4d443;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .1em;
    text-align: center;
}

.photobbs-list h3 span {
    font-family: "Lora", serif;
    font-size: 24px;
}

.photobbs-list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
}
  
.photobbs-list .item-body {
    font-size: 14px;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-direction: column;
    flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
}

.photobbs-list .time {
    font-size: 80%;
}

.photobbs-list .title {
    margin-top: 0.5em;
    font-weight: bold;
}

.photobbs-list .blist {
    margin-top: auto;
    color: #8d7234;
}

.photobbs-list a {
    color: #696355;
}

.photobbs-list img {
    width: 100%;
}

.center .btn-blog {
    margin-right: auto;
    margin-left: auto;
}

@media screen and (max-width: 768px) {
    #profile {
        padding: 20vw 10px 0;
    }

    #profile section {
        padding: 6vw 0;
    }

    #profile section > ul > li:first-of-type {
        max-width: 768px;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px){
    #profile .btn-blog {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #profile .btn-blog2 {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #profile .text3 {
        width: 75%;
    }

    #profile .text3:last-of-type {
        width: 75%;
    }

    #profile ul#inner ul.option li {
        width: 48%;
        display: inline-block;
    }

    #profile ul#inner ul.option li:last-child {
        margin: 5px 0 0 3px;
    }

    #profile ul#inner li {
        width: 100%;
        text-align: center;
        display: inline-block;
    }

    #profile ul#inner li:last-child {
        margin-top: 30px;
        margin-left: 0;
    }

    #profile ul#inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #profile ul#inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
    }

    #profile .s-title,
    #profile .qa,
    #profile .review,
    #profile .text1,
    #profile .text2,
    #profile .text3 {
        text-align: left;
    }

    #profile .rev-under .text3 {
        width: 68%;
    }

    #profile .rev-under .text3:last-of-type {
        width: 100%;
    }

    #profile .rev-under .btn-blog2 {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #profile .rev-under .review {
        width: 30%;
    }

    #profile .rev-under .star-rating {
        width: 65%;
    }

    #profile .star-rating {
        width: 75%;
    }
}

@media (min-width: 601px) {
    .photobbs-list {
        max-width: 1025px;
        margin-left: auto;
        margin-right: auto;
    }

    .photobbs-list ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .photobbs-list li {
        width: 24% !important;
        margin-right: 1%;
    }

    .photobbs-list li:last-child {
        width: 24% !important;
        margin-right: 1%;
        margin-left: 0!important;
    } 

    .photobbs-list .image {
        width: 80px;
        margin-right: 8px;
    }
}

@media (max-width: 600px) {
    .photobbs-list li {
        display: block !important;
        width: 100% !important;
        margin-left: 0!important;
    }

    .photobbs-list .item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .photobbs-list .image {
        width: 80px;
        margin-right: 8px;
    }
}

@media screen and (max-width: 480px) {
    #profile .btn-blog {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #profile .btn-blog2 {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #profile .review {
        width: 100px;
    }

    #profile .text3:last-of-type {
        width: 65%;
        vertical-align: middle;
    }

    #profile ul#inner ul.option li {
        width: 48%;
        display: inline-block;
    }

    #profile ul#inner ul.option li:last-child {
        margin: 5px 0 0 3px;
        padding: 7px 0;
    }

    #profile .r-data {
        padding-right: 0px;
    }

    #profile ul#inner li {
        width: 100%;
        text-align: center;
        display: inline-block;
    }

    #profile ul#inner li:last-child {
        margin-top: 30px;
        margin-left: 0;
        padding: 0 10px;
    }

    #profile ul#inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #profile ul#inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
        padding: 7px 0;
    }

    #profile .s-title,
    #profile .qa,
    #profile .review,
    #profile .text1,
    #profile .text2,
    #profile .text3 {
        text-align: left;
    }

    #profile .text3 {
        width: 65%;
    }

    #profile ul#inner .image img {
        max-width: 100%;
    }

    #profile .rev-under .text3 {
        width: 58%;
    }

    #profile .rev-under .text3:last-of-type {
        vertical-align: middle;
    }

    #profile .rev-under .btn-blog2 {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #profile .rev-under .review {
        width: 120px;
    }

    #profile .rev-under .star-rating {
        width: 58%;
    }

    #profile .star-rating {
        width: 65%;
    }
}

@media screen and (max-width: 414px) {
    #profile .name {
        font-size: 18px;
    }
}
/********* profile *********/

/********* reviewlist *********/
#reviewlist {
    margin-top: 64px;
	padding: 0 10px 25px;
	font-family: 'Lora', serif;		
}

#reviewlist ul {
    font-size: 0;
}

#reviewlist ul.inner {
    max-width: 1000px;
    margin: 30px auto;
    background-color: #fff;
    border: #e8e7e4 6px solid;
	padding: 15px;
}

#reviewlist ul.inner a {
    text-decoration: none;
}

#reviewlist ul li {
	font-size: 14px;
	display: inline-block;
	vertical-align: middle;
}

#reviewlist .r-area {
    width: 65%;
    padding-left: 15px;
    vertical-align: top;
    padding-top: 15px;
}

#reviewlist .r-area .r-box {
    width: 595px;
}

#reviewlist .l-area {
    width: 260px;
}

#reviewlist ul li .image {
    margin: 10px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#reviewlist .star-rating {
    position: relative;
    height: 1em;
    font-size: 18px;
    margin-bottom: 20px;
    line-height: 1.6;
    display: inline-block;
    width: 305px;
	padding-bottom: 25px;
}

#reviewlist .count {
    position: absolute;
    top: 2px;
    left: 135px;
}

#reviewlist .star-rating::after {
	content: "";
	clear: both;	
}

#reviewlist .star-rating-front {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: #e4d443;
}

#reviewlist .star-rating-back {
    color: #ccc;
}

#reviewlist .btn-blog {
	font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin-top: 15px;
    text-align: center;
    line-height: 2.778;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#reviewlist .btn-blog:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#reviewlist .btn-box {
    width: 300px;
    margin: 0 auto;
}

#reviewlist .btn-blistbox {
    width: 250px;
}

#reviewlist .btn-blist {
    color: #8d7231;
    background-color: #fff;
    width: 400px;
    margin-top: 15px;
    padding: 15px 15px;
    border: #bab188 3px solid;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    font-size: 18px;
    text-align: center;
}

#reviewlist .btn-blist:hover {
	color: #fff;
	background-color: #8d7231;
}

#reviewlist .btn-box a {
    text-decoration: none;
}

#reviewlist .btn-bnext {
    padding-top: 10px;
}

#reviewlist .btn-bnext a {
    color: #8d7231;
}

#reviewlist .btn-bnext a:hover{
    text-decoration: underline;
}

#reviewlist .btn-next ul li {
	font-size: 14px;
	width: 50%;
	display: inline-block;
}

#reviewlist .btn-next {
    width: 250px;
	text-align: center;
    margin: 0 auto;
	padding: 15px 0 0 0px;
}

#reviewlist .btn-next a {
	font-size: 14px;
	width: 50%;
	display: inline-block;
	color: #e4d443;
}

#reviewlist .btn-back ul li {
	font-size: 14px;
	width: 50%;
	display: inline-block;
}

#reviewlist .btn-back {
    width: 250px;
	text-align: center;
    margin: 0 auto;
	padding: 15px 0 0 0px;
}

#reviewlist .btn-back a {
	font-size: 14px;
	width: 50%;
	display: inline-block;
	color: #8d7231;
}

#reviewlist .data {
    padding: 10px 0 0px 0;
}

#reviewlist .r-title {
    font-size: 18px;
    color: #e4d443;
	display: inline-block;
    width: 150px;
}

#reviewlist .text1 {
    line-height: 1.2;
    text-align: left;
    font-size: 18px;
    letter-spacing: 0;
    margin-top: 5px;
    padding-bottom: 25px;
	display: inline-block;
	width: 305px;
}

#reviewlist .btn-more {
    font-family: 'Lora', serif;
    font-size: 18px;
    margin: 15px auto;
}

#reviewlist .btn-more a {
    font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin-top: 15px;
    text-align: center;
    line-height: 2.778;
    display: block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}	

#reviewlist .btn-more a:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#reviewlist .text2 {
    line-height: 1.3;
    text-align: left;
    font-size: 18px;
    letter-spacing: 0;
    margin-top: 10px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    height: auto;
    max-height: 95px;
}

@media screen and (min-width: 940px)and (max-width: 950px){
    #reviewlist .r-area {
        width: 60%;
    }	
}

@media screen and (min-width: 801px)and (max-width: 939px){
    #reviewlist .r-area {
        width: 58%;
    }
}

@media screen and (max-width: 920px) {
    #reviewlist .r-area .r-box {
        width: 100%;
    }
}

@media screen and (max-width: 800px) {
    #reviewlist .r-area {
        width: 100%;
        padding-left: 0;
    }

    #reviewlist .r-area .r-box {
        width: 100%;
        margin-top: 30px;
        text-align: left;
    }

    #reviewlist .l-area {
        width: 100%;
    }

    #reviewlist .star-rating {
        width: 58vw;
    }

    #reviewlist .btn-blistbox {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    #reviewlist .data {
        float: none;
        text-align: right;
    }

    #reviewlist .text1 {
        width: 58vw;
    }
}

@media screen and (max-width: 768px) {
    #reviewlist {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #reviewlist section {
        padding: 6vw 0;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
	#reviewlist .r-area {
		width: 80%;
		padding-left: 15px;
	}

    #reviewlist .star-rating {
        width: 55vw;
    }

	#reviewlist .btn-blog {
		width: 100%;
		max-width: 360px;
		margin: 15px auto 0;
	}

	#reviewlist .btn-blistbox {
		width: 350px;
		margin: 0 auto;
	}

	#reviewlist .btn-blist {
		width: 100%;
		max-width: 350px;
		margin: 15px auto 0;
	}

	#reviewlist .text1 {
		width: 55vw;
	}

	#reviewlist .text1,
	#reviewlist .text2 {
		text-align: left;
	}

	#reviewlist ul.inner li {
		width: 100%;
		display: block;
	}
}

@media screen and (max-width: 480px) {
    #reviewlist .star-rating {
        width: 161px;
    }

	#reviewlist .btn-blog {
		width: 100%;
		max-width: 350px;
		margin: 15px auto 0;
	}

	#reviewlist .btn-blistbox {
		margin: 0 auto;
	}

	#reviewlist .btn-blist {
		width: 100%;
		max-width: 370px;
		margin: 15px auto 0;
	}

	#reviewlist .r-title {
		width: 130px;
	}

	#reviewlist .text1 {
		width: 161px;
	}

	#reviewlist ul.inner li {
		width: 100%;
		display: block;
		text-align: center;
	}

	#reviewlist ul.inner .image img {
		max-width: 100%;
	}

	#reviewlist .r-title,
	#reviewlist .qa,
	#reviewlist .text1,
	#reviewlist .text2 {
		text-align: left;
	}

	#reviewlist .r-title {
		font-size: 16px;
	}

	#reviewlist .text1 {
		font-size: 16px;
	}

	#reviewlist .text2 {
		font-size: 16px;
	}
}
/********* reviewlist *********/

/********* review_detail *********/
#review-detail {
    font-family: 'Lora', serif;		
    margin-top: 64px;
	padding-bottom: 25px;
}

#review-detail ul {
    font-size: 0;
}

#review-detail ul li {
	font-size: 14px;
	width: 45%;
	display: inline-block;
	vertical-align: top;
	padding: 0 10px 0 10px;
}

#review-detail ul li .image {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
	padding: 0px;
}

#review-detail ul li .image img {
	max-width: 90%;
}

#review-detail ul#inner {
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    border: #e8e7e4 6px solid;
    padding: 15px;
}

#review-detail ul#inner a {
    text-decoration: none;
}

#review-detail .btn-blog {
	font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin-top: 15px;
    text-align: center;
    line-height: 2.778;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#review-detail .btn-blog:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#review-detail .btn-back {
	font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin-top: 15px;
    text-align: center;
    line-height: 2.778;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#review-detail .btn-back:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#review-detail .btn-box {
    width: 300px;
    margin: 0 auto;
}

#review-detail .btn-box a {
    text-decoration: none;
}

#review-detail .btn-next ul li {
	font-size: 14px;
	display: inline-block;
}

#review-detail .btn-next {
    width: 250px;
	text-align: center;
    margin: 0 auto;
	padding: 15px 0 0 0px;
}

#review-detail .btn-next a {
	font-size: 14px;
	width: 50%;
	display: inline-block;
	color: #e4d443;
}

#review-detail .icon {
	color: #fff;
	background-color: #8d7231;
	width: 100px;
	padding: 7px 0;
	text-align: center;
}

#review-detail .prof {
	margin-top: 30px;
	padding-bottom: 15px;
	overflow: hidden;
}

#review-detail .prof::after {
	content: '';
	clear: both;
}

#review-detail .b-title {
	font-size: 28px;
	color: #8d7231;
	float: left;
	text-align: left;
}

#review-detail .data {
    margin-bottom: 15px;
}

#review-detail .b-name {
	font-size: 28px;
	margin: 14px 0 0 0px;
	text-align: left;
}

#review-detail .text1 {
	margin-top: 20px;
	line-height: 1.6;
	text-align: left;
}

#review-detail .qa {
	color: #8d7231;
	margin-top: 30px;
}

#review-detail .text2 {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.5em;
}

#review-detail ul.schedule {
    margin-top: 15px;
}

#review-detail ul.schedule li {
	padding: 7px 0;
	border: #8d7231 1px solid;
	text-align: center;
}

#review-detail ul.schedule li:nth-child(odd) {
	color: #fff;
	background-color: #8d7231;
}

#review-detail ul.schedule li:nth-child(even) {
    color: #8d7231;
}

#review-detail ul.schedule li:nth-child(n+3) {
    margin-top: 5px;
}

#review-detail .r-area {
    width: 49%;
    padding-left: 15px;
    vertical-align: top;
    padding-top: 15px;
}

#review-detail .r-area .r-box {
    width: 100%;
}

#review-detail .r-title {
    font-size: 18px;
    color: #e4d443;
	display: inline-block;
    width: 150px;
}

#review-detail .text1 {
    line-height: 1.2;
    text-align: left;
    font-size: 18px;
    letter-spacing: 0;
    margin-top: 5px;
    padding-bottom: 25px;
	display: inline-block;
	width: 305px;
}

#review-detail .count {
    position: absolute;
    top: 2px;
    left: 135px;
}

#review-detail .star-rating {
    position: relative;
    height: 1em;
    font-size: 18px;
    margin-bottom: 20px;
    line-height: 1.6;
    display: inline-block;
    width: 305px;
	padding-bottom: 25px;
}

#review-detail .star-rating::after {
    content: "";
    clear: both;	
}

#review-detail .star-rating-front {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #e4d443;
}

#review-detail .star-rating-back {
    color: #ccc;
}

@media screen and (max-width: 800px) {
    #review-detail .data {
        float: none;
        text-align: right;
    }

	#review-detail .text1 {
		width: 58vw;
	}

    #review-detail .star-rating {
        width: 58vw;
    }
}

@media screen and (max-width: 768px) {
    #review-detail {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #review-detail section {
        padding: 6vw 0;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #review-detail ul#inner li {
        width: 100%;
        display: block;
        padding: 0 5px 0 5px;
    }

    #review-detail .btn-blog {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #review-detail .btn-back {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #review-detail ul#inner li:last-child {
        margin-top: 30px;
        padding: 0;
    }

    #review-detail ul#inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #review-detail ul#inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
    }

    #review-detail .s-title,
    #review-detail .qa,
    #review-detail .text1,
    #review-detail .text2 {
        text-align: left;
    }

	#review-detail .r-area .r-box {
		width: 100%;
	}

	#review-detail .r-area .r-title {
		text-align: left;
		width: 35%;
	}

	#review-detail .r-area .r-title:last-of-type {
		width: 83vw;
	}

	#review-detail .text1 {
		width: 51vw;
	}

	#review-detail .star-rating {
		width: 51vw;
	}
}

@media screen and (max-width: 480px) {
    #review-detail ul#inner li {
        width: 100%;
        display: block;
    }

    #review-detail ul#inner .image img {
        max-width: 90%;
    }

    #review-detail .btn-blog {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #review-detail .btn-back {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #review-detail ul#inner li:last-child {
        margin-top: 30px;
        padding: 0;
    }

    #review-detail ul#inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #review-detail ul#inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
        padding: 7px 0;
    }

    #review-detail .s-title,
    #review-detail .qa,
    #review-detail .text1,
    #review-detail .text2 {
        text-align: left;
    }

	#review-detail .r-area .r-box {
		width: 100%;
	}

	#review-detail .r-area .r-title  {
		text-align: left;
		font-size: 16px;
		width: 150px;
	}

	#review-detail .r-area .r-title:last-of-type {
		width: 357px;
	}

	#review-detail .text1 {
		width: 50%;
		font-size: 16px;
	}

	#review-detail .star-rating {
		width: 50%;
	}
}

@media screen and (max-width: 360px) {
	#review-detail .r-area .r-title:last-of-type  {
		width: 98%;
	}
}
/********* review_detail *********/

/********* schedule *********/
#schedule {
    margin-top: 64px;
    padding-bottom: 25px;
}

#schedule ul {
	font-size: 0;
	width: 100%;
	max-width: 1025px;
	margin: 0 auto;
}

#schedule ul#date li {
	font-size: 14px;
	width: calc(12.5% - 35px / 8);
    margin-right: 5px;
	text-align: center;
	vertical-align: top;
	display: inline-block;
	background-color: #8d7231;
}

#schedule ul#date li:last-child {
    margin-right: 0;
}

#schedule ul#date li a {
	margin: 0 auto;
	color: #e4d443;
	background-color: #fff;
	width: 100%;
	height: 45px;
	padding-top: 15px;
    border: #e4d443 1px solid;
	text-decoration: none;
	display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#schedule ul#date li a:hover {
    color: #000;
	background-color: #e4d443;
}

#schedule ul#date li br {
    display: none;
}

#schedule ul#date li.target a {
    color: #000;
	background-color: #e4d443;
	width: 100%;
}

#schedule ul#date li:nth-child(n+2) {
    border-left: #fff 1px solid;
}

#schedule #today {
	font-size: 18px;
	color: #313131;
	margin: 50px 0;
	text-align: center;
}

#schedule ul#list li {
	font-size: 12px;
	color: #e4d443;
	width: calc(25% - 0.804%);
	margin: 0.4%;
	padding: 3px;
	border: #e4d443 1px solid;
	display: inline-block;
	text-align: center;
}

#schedule ul#list li .image {
    position: relative;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#schedule ul#list li .image:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

#schedule ul#list li .image p {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	right: 0;
	padding-top: 60%;
	font-size: 21px;
	color: #eee;
	background: rgba(0,0,0,0.6);
	z-index: 100;	
}

#schedule ul#list li .image p span {
	border: 1px solid #eee;
	padding: 5px 15px;
	border-radius: 30px;
	box-sizing: border-box;
	display: inline-block
}

#schedule ul#list li .image img {
    max-width: 100%;
}

#schedule ul#list li .name {
	font-size: 16px;
    color: #e4d443;
	float: left;
	padding: 8px 0 0 5%;
}

#schedule ul#list li .data {
    color: #e4d443;
	float: right;
	padding: 10px 4% 10px 0;
}

#schedule ul#list li .time {
	font-size: 16px;
    color: #e4d443;
	width: 100%;
	padding-bottom: 5px;
	text-align: center;
	clear: both;
}

#schedule ul#list li .btn-profile {
    clear: both;
}

#schedule ul#list li .btn-profile a {
	color: #000;
	background-color: #e4d443;
	width: 100%;
	padding: 10px 0;
	text-decoration: none;
	display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#schedule ul#list li .btn-profile a:hover {
    background-color: #fffbd2;
}

@media screen and (max-width: 768px) {
    #schedule {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #schedule section {
        padding: 6vw 0;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #schedule ul#date li br {
        display: block;
    }

    #schedule ul#list {
        margin: 5vw 0;
    }

    #schedule ul#list li {
        width: calc(33% - 0.465%);
    }
}

@media screen and (max-width: 480px) {
    #schedule ul#date li {
        font-size: 13px;
    }

    #schedule ul#date li:nth-child(n+2) a {
        padding-top: 11px;
    }

    #schedule ul#date li a {
        padding-left: 0;
    }

    #schedule ul#date li br {
        display: block;
    }

    #schedule ul#list li .image p span {
        font-size: 16px
    }

    #schedule #today {
        margin: 5vw 0;
    }

    #schedule ul#list li {
        width: calc(50% - 0.8%);
    }
}
/********* schedule *********/

/********* howto *********/
#howto {
    margin-top: 64px;
    padding-bottom: 40px;
}

#howto .box {
	width: 1600px;
	margin: 50px 0 0 -800px;
	padding-top: 230px;
    text-align: center;
	position: relative;
	left: 50%;
}

#howto .step1 {
    background: url(../images/how_01.jpg) no-repeat top center;
}

#howto .step2 {
    background: url(../images/how_02.jpg) no-repeat top center;
}

#howto .step3 {
    background: url(../images/how_03.jpg) no-repeat top center;
}

#howto .step4 {
    background: url(../images/how_04.jpg) no-repeat top center;
}

#howto .box h3 {
	font-family: 'Lora', serif;
	font-size: 30px;
	font-style: italic;
	color: #000;
	background: rgba(228, 212, 67, .9);
	width: 169px;
	height: 170px;
	margin: 0 auto;
	padding-top: 41px;
    border-radius: 100%;
}

#howto .box h3 span {
    font-size: 64px;
}

#howto .s-title {
	font-size: 24px;
	margin-top: 50px;
	padding: 0 10px;
	line-height: 1.8;
}

#howto hr {
	background-color: #e7eaf1;
	width: 65px;
	height: 6px;
	margin: 25px auto 30px;
    border: none;
}

#howto .text {
	width: 50%;
	max-width: 950px;
	margin: 0 auto;
	padding: 0 10px;
	line-height: 1.6;
}

#howto .text a {
	color: #696354;
	text-decoration: none;
	cursor: text;
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #howto {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #howto section {
        padding: 6vw 0;
    }

    #howto .box {
        background-size: contain;
        width: 200%;
        margin: 5vw 0 0 -150%;
        padding-top: 28vw;
        left: 100%;
    }

    #howto .box h3 {
        font-size: 4vw;
        background-size: contain;
        width: 22.136vw;
        height: 22.136vw;
        padding-top: 5.5vw;
    }

    #howto .box h3 span {
        font-size: 8vw;
    }

    #howto .s-title {
        margin-top: 5vw;
    }

    #howto .text {
        width: 50%;
        margin: 0 auto;
    }

    #howto .text a {
        cursor: pointer;
    }
}

@media screen and (max-width: 480px) {
    #howto {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #howto section {
        padding: 6vw 0;
    }

    #howto .box {
        background-size: contain;
        width: 200%;
        margin: 5vw 0 0 -150%;
        padding-top: 28vw;
        left: 100%;
    }

    #howto .box h3 {
        font-size: 20px;
        background-size: contain;
        width: 105px;
        height: 105px;
        padding-top: 25px;
    }

    #howto .box h3 span {
        font-size: 40px;
    }

    #howto .s-title {
        margin-top: 5vw;
    }

    #howto .text {
        width: 50%;
        margin: 0 auto;
        text-align: justify;
    }

    #howto .text a {
        cursor: pointer;
    }
}
/********* howto *********/

/********* bloglist *********/
#bloglist {
    margin-top: 64px;
	padding: 0 10px 25px;
	font-family: 'Lora', serif;		
}

#bloglist ul {
	font-size: 0;
}

#bloglist ul li {
	font-size: 14px;
	display: inline-block;
	vertical-align: middle;
}

.r-area{
	width:77%;	
    padding-left: 50px;
}

.l-area{
	width:23%;
}

#bloglist ul li .image {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    width: 100%;
}

#bloglist ul li .image img {
	max-width: 100%;
	margin-top: 30px;
	max-height: 240px;
}

#bloglist ul.inner {
    max-width: 1000px;
    margin: 20px auto;
    background-color: #fff;
    border: #e8e7e4 6px solid;
    padding: 13px 20px 40px 20px;
	position: relative;
}

#bloglist ul.inner a {
    text-decoration: none;
}

#bloglist .btn-blog {
	color: #8d7231;
	background-color: #fff;
	width: 300px;
	margin-top: 15px;
	padding: 15px 0;
	border: #bab188 3px solid;
	text-align: center;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#bloglist .btn-blog:hover {
	color: #fff;
	background-color: #8d7231;
}

#bloglist .btn-box {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

#bloglist .btn-blistbox {
    width: 100%;
    max-width: 250px;
}

#bloglist .btn-blist {
    font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin-top: 15px;
    text-align: center;
    line-height: 2.778;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#bloglist .btn-blist:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#bloglist .btn-box a {
    text-decoration: none;
}

#bloglist .btn-bnext {
    padding-top: 10px;
}

#bloglist .btn-bnext a {
    color: #4b4b4b;
}

#bloglist .btn-bnext a:hover {
    text-decoration: underline;
}

#bloglist .btn-next ul li {
	font-size: 14px;
	width: 50%;
	display: inline-block;
}

#bloglist .btn-next {
    width: 250px;
	text-align: center;
    margin: 0 auto;
	padding: 15px 0 0 0px;
}

#bloglist .btn-next a {
	font-size: 14px;
	width: 50%;
	display: inline-block;
	color: #d25887;
}

#bloglist .btn-back ul li {
	font-size: 14px;
	width: 50%;
	display: inline-block;
}

#bloglist .btn-back {
    width: 250px;
	text-align: center;
    margin: 0 auto;
	padding: 15px 0 0 0px;
}

#bloglist .btn-back a {
	font-size: 14px;
	width: 50%;
	display: inline-block;
	color: #8d7231;
}

#bloglist .icon {
	color: #fff;
	background-color: #8d7231;
	width: 100px;
	padding: 7px 0;
	text-align: center;
}

#bloglist .prof {
	margin-top: 30px;
	padding-bottom: 15px;
	overflow: hidden;
}

#bloglist .prof::after {
	content: '';
	clear: both;
}

#bloglist .b-title {
	font-size: 28px;
	color: #e4d443;
	float: left;
	text-align: left;
}

#bloglist .data {
	padding-top: 10px;
	float: right;
}

#bloglist .b-name {
	font-size: 28px;
	margin: 14px 0 0 0px;
	text-align: left;
}

#bloglist .text1 {
	margin-top: 20px;
	line-height: 2;
	text-align: left;
}

#bloglist .qa {
	color: #8d7231;
	margin-top: 30px;
}

#bloglist ul.schedule {
    margin-top: 15px;
}

#bloglist ul.schedule li {
	padding: 7px 0;
	border: #8d7231 1px solid;
	text-align: center;
}

#bloglist ul.schedule li:nth-child(odd) {
	color: #fff;
	background-color: #8d7231;
}

#bloglist ul.schedule li:nth-child(even) {
    color: #8d7231;
}

#bloglist ul.schedule li:nth-child(n+3) {
    margin-top: 5px;
}

.ibtn-box {
    justify-content: space-between;
    align-items: end;
}

.inpre {
    position: absolute;
    bottom: 20px;
    right: 34px;
}

.inpre .inpbox {
    font-size: 18px;
    padding-top: 5px;

}

.inpre .inpbox img {
    width: 25px;
	margin-right: 6px;
}

@media screen and (max-width: 768px) {
    #bloglist {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #bloglist section {
        padding: 6vw 0;
    }

    #bloglist ul li .image {
        height: 100%;
        width: 100%;
    }

    #bloglist ul li .image img {
        width: 100%;
        height: 100%;
        max-height: 100%;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #bloglist .btn-blog {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #bloglist .btn-blistbox {
        width: 100%;
        max-width: 250px;
        margin: 0 0;
    }

    #bloglist .btn-blist {
        width: 100%;
        max-width: 250px;
        margin: 15px 0 0;
    }

    .r-area {
        width: 80%;
        padding-left: 15px;
    }	

    #bloglist ul.inner li {
        width: 100%;
        display: block;
        text-align: center;
    }

    #bloglist ul.inner li:last-child {
        margin-top: 30px;
    }

    #bloglist ul.inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #bloglist ul.inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
    }

    #bloglist .s-title,
    #bloglist .qa,
    #bloglist .text1,
    #bloglist .text2 {
        text-align: left;
    }

    #bloglist .inpre {
        position: absolute;
        bottom: 15px;
        right: 15px;
    }
}

@media screen and (max-width: 480px) {
    #bloglist .btn-blog {
        width: 100%;
        max-width: 350px;
        margin: 15px auto 0;
    }

    #bloglist .btn-blistbox {
        margin: 0 ; 
    }

    #bloglist .btn-blist {
        width: 100%;
        max-width: 250px;
        margin: 15px 0 0;
    }

    #bloglist ul.inner li {
        width: 100%;
        display: block;
        text-align: center;
    }

    #bloglist ul.inner li:last-child {
        margin-top: 30px;
        padding: 0 10px;
    }

    #bloglist ul.inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #bloglist ul.inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
        padding: 7px 0;
    }

    #bloglist .s-title,
    #bloglist .qa,
    #bloglist .text1,
    #bloglist .text2 {
        text-align: left;
    }

    #bloglist ul.inner .image img {
        max-width: 100%;
    }

    .inpre {
        position: absolute;
        bottom: 10px;
        right: 10px;
    }

    #bloglist .inpre {
        position: absolute;
        bottom: 10px;
        right: 10px;
    }
}
/********* bloglist *********/

/********* therapistblog *********/
#therapistblog {
    margin-top: 64px;
	padding: 0 10px 25px;
	font-family: 'Lora', serif;		
}

#therapistblog ul {
	font-size: 0;
}

#therapistblog ul li {
	font-size: 14px;
	width: 45%;
	display: inline-block;
	vertical-align: top;
	padding: 0 10px 0 10px;
}

#therapistblog ul li .image {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
	padding: 15px 0 0 0px;
}

#therapistblog ul li .image img {
	max-width: 90%;
	margin-top: 30px;	
}

#therapistblog ul#inner {
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    border: 2px solid #fdfdfd;
    border-image: linear-gradient(to top, #fdfdfd 0%, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada 100%);
    border-image-slice: 4;
    padding: 35px 0px 40px 0px;
	position: relative;
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, .2);
}

#therapistblog ul#inner a {
	text-decoration: none;
}

#therapistblog .btn-blog {
    font-size: 18px;
    color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
    width: 340px;
    margin: 15px auto 0;
    text-align: center;
    line-height: 2.778;
    display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#therapistblog .btn-blog:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#therapistblog .btn-back {
	font-size: 18px;
    color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
    width: 340px;
    margin: 15px auto 0;
    text-align: center;
    line-height: 2.778;
    display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#therapistblog .btn-back:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#therapistblog .btn-box {
    width: 340px;
    margin: 0 auto;
}

#therapistblog .btn-box a {
    text-decoration: none;
}

#therapistblog .btn-next {
    width: 250px;
	text-align: center;
    margin: 0 auto;
	padding-top: 15px;
}

#therapistblog .btn-next ul li {
	font-size: 14px;
	display: inline-block;
}

#therapistblog .btn-next a {
	font-size: 14px;
	width: 50%;
	display: inline-block;
	color: #d25887;
}

#therapistblog .icon {
	color: #fff;
	background-color: #d25887;
	width: 100px;
	padding: 7px 0;
	text-align: center;
}

#therapistblog .prof {
	margin-top: 30px;
	padding-bottom: 15px;
	overflow: hidden;
}

#therapistblog .prof::after {
	content: '';
	clear: both;
}

#therapistblog .b-title {
	font-size: 28px;
	color: #e4d443;
	float: left;
	text-align: left;
}

#therapistblog .data {
    float: right;
}

#therapistblog .b-name {
	font-size: 28px;
	margin: 14px 0 0 0px;
	text-align: left;
}

#therapistblog .text1 {
	margin-top: 20px;
	line-height: 1.6;
	text-align: left;
}

#therapistblog .qa {
	color: #8d7231;
	margin-top: 30px;
}

#therapistblog .text2 {
    margin-top: 10px;
}

#therapistblog ul.schedule {
    margin-top: 15px;
}

#therapistblog ul.schedule li {
	padding: 7px 0;
	border: #8d7231 1px solid;
	text-align: center;
}

#therapistblog ul.schedule li:nth-child(odd) {
	color: #fff;
	background-color: #8d7231;
}

#therapistblog ul.schedule li:nth-child(even) {
    color: #8d7231;
}

#therapistblog ul.schedule li:nth-child(n+3) {
    margin-top: 5px;
}

#therapistblog .nbtn-box {
    justify-content:flex-end;
    align-items: end;
	margin-top: 10px;
}

#therapistblog .ibtn-box {
    justify-content:flex-end;
    align-items: end;
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
    #therapistblog {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #therapistblog section {
        padding: 6vw 0;
    }

	#therapistblog .likebtn {
		margin-right: 15px;
	}
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #therapistblog .btn-blog {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #therapistblog .btn-back {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #therapistblog ul#inner li {
        width: 100%;
        display: block;
        text-align: center;
        padding: 0 5px 0 5px;
    }

    #therapistblog ul#inner li:last-child {
        margin-top: 30px;
    }

    #therapistblog ul#inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #therapistblog ul#inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
    }

    #therapistblog .s-title,
    #therapistblog .qa,
    #therapistblog .text1,
    #therapistblog .text2 {
        text-align: left;
    }
}

@media screen and (max-width: 480px) {
    #therapistblog .btn-blog {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #therapistblog .btn-back {
        width: 100%;
        max-width: 360px;
        margin: 15px auto 0;
    }

    #therapistblog ul#inner li {
        width: 100%;
        display: block;
        text-align: center;
    }

    #therapistblog ul#inner li:last-child {
        margin-top: 30px;
        padding: 0 10px;
    }

    #therapistblog ul#inner li ul.schedule li {
        width: 50%;
        display: inline-block;
    }

    #therapistblog ul#inner li ul.schedule li:last-child {
        margin: 5px 0 0 0;
        padding: 7px 0;
    }

    #therapistblog .s-title,
    #therapistblog .qa,
    #therapistblog .text1,
    #therapistblog .text2 {
        text-align: left;
    }

    #therapistblog ul#inner .image img {
        max-width: 90%;
    }
}
/********* therapistblog *********/

/********* post_review *********/
#questionnaire {
    margin-top: 64px;
    padding-bottom: 25px;
}

#questionnaire .attention {
    text-align: center;
    margin: 0 0 45px 0px;
    font-size: 16px;
    color: #ff0000;
}

#questionnaire .check {
    text-align: center;
    margin: 0 0 45px 0px;
    font-size: 20px;
}

#questionnaire .check-txt {
    margin-bottom: 45px;
}

#questionnaire .check-txt p {
    font-size: 16px;
    color: #aaa;
    background: #fff;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: #aaa 1px dashed;
    line-height: 1.5em;
}

#questionnaire .check-txt p span {
    font-size: 18px;;
    font-weight: bold;
    color: #000;
    padding-left: 10px;
    display: block;
}

#questionnaire .note {
    text-align: center;
    margin: 0 0 45px 0px;
    font-size: 20px;
}

#questionnaire .q-txtarea {
    padding: 0 0 15px 0px;
}

#questionnaire input[type="text"] {
	width: 84%;
    height: 50px;
	font-size: 18px;
}

#questionnaire select.day-select {
    width: 10%;
    height: 50px;
    font-size: 20px;
	background: #fff;
}

#questionnaire select.girl-select {
    width: 84%;
    height: 50px;
    font-size: 20px;
	background: #fff;
}

#questionnaire .q-text{
	font-size: 20px;
    margin: 20px 5px;
}

#questionnaire .q-title{
	font-size: 20px;
	margin: 20px 5px;
}

#questionnaire form ul {
    border-bottom: 1px dotted #000;
    height: auto;
    margin: 0 0 10px;
}

#questionnaire form ul li {
    color: #000;
    display: inline-block;
    position: relative;
    height: 100px;
}

#questionnaire input[type="submit"],
#questionnaire input[type="button"] {
	font-family: "Yu Mincho", "YuMincho", serif;
    font-size: 18px;
	color: #4b4b4b;
	margin: 20px auto;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
    width: 340px;
    text-align: center;
    line-height: 2.667;
    text-decoration: none;
    display: block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#questionnaire input[type="submit"]:hover,
#questionnaire input[type="button"]:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

#questionnaire textarea {
	width: 100%;
    height: 150px;
	font-size: 16px;
}

#questionnaire form ul li input[type="radio"] {
	position: absolute;
	visibility: hidden;
	top: 36px;
}

#questionnaire form ul li label {
    display: block;
    position: relative;
    font-weight: 300;
    font-size: 1.2em;
    padding: 25px 25px 25px 60px;
    margin: 10px auto;
    height: 30px;
    z-index: 9;
    cursor: pointer;
    -webkit-transition: all 0.25s linear;
}

#questionnaire form ul li:hover label {
    color: #8d7231;
}

#questionnaire form ul li .check {
    display: block;
    position: absolute;
    border: 1px solid #e4d443;
    border-radius: 100%;
    height: 32px;
    width: 32px;
    top: 27px;
    left: 20px;
    z-index: 5;
    transition: border .25s linear;
    -webkit-transition: border .25s linear;
}

#questionnaire form ul li:hover .check {
    border: 1px solid #e4d443;
}

#questionnaire form ul li .check::before {
	display: block;
    position: absolute;
    content: '';
    border-radius: 100%;
    height: 18px;
    width: 18px;
    top: 6px;
    left: 6px;
    margin: auto;
    transition: background 0.25s linear;
    -webkit-transition: background 0.25s linear;
}

#questionnaire input[type="radio"]:checked ~ .check {
    border: 1px solid #e4d443;
}

#questionnaire input[type=radio]:checked ~ .check::before{
    background: #e4d443;
}

#questionnaire input[type=radio]:checked ~ label{
    color: #e4d443;
}

.alert {
    box-sizing: border-box;
    background-color: #e4d443;
    width: 100%;
    position: relative; 
    top: 0;
    left: 0;
    z-index: 300;
    padding: 20px 40px;
    color: #333;
}

.alert h2 {
    font-size: 22px;
    color: #232323;
    margin-top: 0;
}

.alert p {
    line-height: 1.6em;
    font-size:18px;
}

.alert a {
    color: #232323;
    font-weight: bold;
}

#questionnaire .s-title {
    font-family: 'Lora', serif;
    font-size: 18px;
    color: #8d7231;
    margin-top: 20px;
    text-align: center;
    letter-spacing: 0.1em;
}

#questionnaire .layer {
    color: #000;
    margin-top: 70px;
    padding: 30px 0 40px;
}

#questionnaire .layer .inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 10px;
}

#questionnaire .layer h3 {
    color: #fff;
}

#questionnaire .layer .s-title {
    color: #fff;
}

#questionnaire .layer hr {
    background-color: #fff;
}

#questionnaire .layer .text {
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	font-size: 24px;
	margin-top: 25px;
	letter-spacing: 0.2em;
}

#questionnaire .btn-questionnaire {
	font-size: 18px;
	color: #454545;
	padding: 50px 0;
	text-align: center;
}

#questionnaire .btn-questionnaire p {
    margin-bottom: 30px;
}

#questionnaire .btn-questionnaire ul {
    font-size: 0;
}

#questionnaire .btn-questionnaire ul li {
	font-size: 14px;
	display: inline-block;
}

#questionnaire .btn-questionnaire ul li:last-child {
    margin-left: 20px;
}

#questionnaire .btn-questionnaire ul li span {
	font-family: 'Lora', serif;
	font-size: 18px;
}

#questionnaire .btn-questionnaire ul li a {
	color: #8d7231;
	background-color: #fff;
	width: 340px;
	padding: 13px 0;
	border: #bab188 3px solid;
	text-align: center;
	text-decoration: none;
	display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#questionnaire .btn-questionnaire ul li a:hover {
	color: #fff;
	background-color: #8d7231;
}

#questionnaire br.sp {
    display: none;
}

#questionnaire .btn-box {
    display: flex;
    justify-content: center;
    gap: 0 5px;
    flex-wrap: wrap;
}

#questionnaire .btn-box input {
    margin: 0;
}

.req {
    color:red;
}

#questionnaire .text-01 {
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
}

#questionnaire .text-02 {
    font-weight: 500;
    margin-top: 20px;
    text-align: center;
    line-height: 1.5;
}

#questionnaire .btn a {
    font-size: 18px;
	color: #4b4b4b;
	margin: 40px auto 80px;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
    width: 340px;
    text-align: center;
    line-height: 2.778;
    display: block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#questionnaire .btn a:hover {
    color: #fff;
    background: url(../images/btn_on.png) no-repeat;
}

@media screen and (max-width: 768px) {
    #questionnaire {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #questionnaire section {
        padding: 6vw 0;
    }

    #questionnaire .btn a {
        margin: 5vw auto 10vw;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #questionnaire select.day-select {
        margin: 5px 0px;
        width: 25%;
        height: 40px;
        font-size: 18px;
    }

    #questionnaire form ul li {
        width: 49%;
    }

    #questionnaire .layer {
        margin-top: 8vw;
    }

    #questionnaire .layer .inner {
        width: 100%;
    }

    #questionnaire .btn-questionnaire {
        padding: 6vw 0;
    }

    #questionnaire .btn-questionnaire p {
        margin-bottom: 4vw;
    }

    #questionnaire .btn-questionnaire ul {
        padding: 0 10px;
    }

    #questionnaire .btn-questionnaire ul li {
        width: calc(50% - 10px);
        max-width: 320px;
    }

    #questionnaire .btn-questionnaire ul li span {
        font-size: 15px;
    }

    #questionnaire .btn-questionnaire ul li a {
        font-size: 11px;
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    #questionnaire .attention {
        font-size: 14px;
        line-height: 2;
    }

    #questionnaire .check {
        font-size: 16px;
        top: 12px!important;
    }

    #questionnaire .note {
        font-size: 16px;
    }

    #questionnaire input[type="text"] {
        width: 90%;
        height: 40px;
        font-size: 13px;
    }

    #questionnaire select.day-select {
        margin: 5px 0px;
        width: 15%;
        height: 35px;
        font-size: 13px;
    }

    #questionnaire .q-text {
        font-size: 13px;
        margin: 0px 3px;
    }

    #questionnaire .q-title {
        font-size: 16px;
        margin: 10px 3px;
    }

    #questionnaire form ul li {
        width: 100%;
        height: auto;
    }

    #questionnaire input[type="button"] {
        font-size: 16px;
        width: 90%;
        margin: 0 auto;
    }

    #questionnaire input[type="submit"] {
        font-size: 16px;
        width: 90%;
        margin: 20px auto 0;
    }

    #questionnaire textarea {
        font-size: 13px;
    }

    #questionnaire form ul li label {
        padding: 7px 25px 23px 55px;
        font-size: 0.9em;
    }

    #questionnaire form ul li .check {
        border: 3px solid #AAAAAA;
        height: 25px;
        width: 25px;
        top: 27px;
        left: 20px;
    }

    #questionnaire form ul li .check::before {
        height: 15px;
        width: 15px;
        top: 2px;
        left: 2px;
    }	

    #questionnaire input[type="radio"]:checked ~ .check {
        border: 3px solid #8d7231;
    }

    #questionnaire .layer {
      margin-top: 8vw;
      padding: 30px 10px 40px;
    }

    #questionnaire .layer .inner {
        width: 100%;
    }

    #questionnaire .btn-questionnaire {
        padding: 6vw 0;
    }

    #questionnaire .btn-questionnaire p {
        margin-bottom: 4vw;
    }

    #questionnaire .btn-questionnaire ul {
        padding: 0 10px;
    }

    #questionnaire .btn-questionnaire ul li {
        width: 100%;
        max-width: 320px;
    }

    #questionnaire .btn-questionnaire ul li span {
        font-size: 15px;
    }

    #questionnaire .btn-questionnaire ul li a {
        width: 100%;
        margin-top: 0;
    }

    #questionnaire br.sp {
        display: block
    }
}
/********* post_review *********/

/********* newslist *********/
#newslist {
    margin-top: 64px;
    padding-bottom: 25px;
}

#newslist #inner {
	font-family:"游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	width: 100%;
	max-width: 950px;
	margin: 0 auto;
}

#newslist section #inner > ul {
    font-size: 0;
    margin: 0 15px;
}

#newslist section #inner > ul:first-of-type {
    padding-bottom: 20px;
}

#newslist section #inner > ul:nth-of-type(n+2) {
	padding: 20px 0;
	border-top: #999 1px dotted;
}

#newslist section #inner > ul:last-of-type {
    margin-bottom: 20px;
}

#newslist section #inner > ul li {
	font-size: 14px;
	vertical-align: middle;
	line-height: 1.6;
	display: inline-block;
}

#newslist section #inner > ul li:first-child {
	width: 9%;
	padding-left: 10px;
}

#newslist section #inner > ul li:nth-child(2) {
	width: 67%;
	margin-left: 5%;
}

#newslist section #inner > ul li:last-child {
	width: 14%;
	margin-left: 5%;
}

#newslist section #inner > ul li a {
    text-decoration: none;
}

#newslist section #inner > ul li.title a {
    color: #4b4b4b;
}

#newslist section #inner > ul li.title a:hover {
    text-decoration: underline;
}

#newslist section #inner > ul li.more a {
    color: #e4d443;
}

#newslist section #inner > ul li.more a:hover {
    text-decoration: underline;
}

#newslist .btn-top a {
    font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat left top/100% 100%;
	width: 340px;
	margin: 0 auto 30px;
	text-align: center;
    line-height: 2.778;
	text-decoration: none;
	display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

#newslist .btn-top a:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #newslist {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #newslist section {
        padding: 6vw 0;
    }

    #newslist section #inner > ul li:first-child {
        width: 15%;
    }

    #newslist section #inner > ul li:nth-child(2) {
        width: 80%;
        margin-left: 5%;
    }

    #newslist .btn-top a {
        width: 100%;
        max-width: 320px;
    }

    #newslist section #inner > ul li.more {
        display: none;
    }
}

@media screen and (max-width: 480px) {
    #newslist {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #newslist section {
        padding: 6vw 0;
    }

    #newslist section #inner > ul {
        margin: 0 10px;
    }

    #newslist section #inner > ul li:first-child {
        width: 23%;
    }

    #newslist section #inner > ul li:nth-child(2) {
        width: 72%;
        margin-left: 5%;
    }

    #newslist .btn-top a {
        width: 100%;
        max-width: 320px;
    }

    #newslist section #inner > ul li.more {
        display: none;
    }
}	
/********* newslist *********/

/********* news *********/
#news {
    margin-top: 64px;
    padding-bottom: 25px;
}

#news #inner {
	font-family:"游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 30px;
	padding: 60px 80px;
    border: 2px solid #fdfdfd;
    border-image: linear-gradient(to top, #fdfdfd 0%, #e7e8e8 26%, #c7c8ca 56%, #f1f1f1 78%, #d8dada 100%);
    border-image-slice: 4;
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, .2);
}

#news .title {
	font-size: 28px;
	color: #4b4b4b;
	line-height: 1.6;
}

#news .date {
    margin: 20px 0;
    padding-bottom: 10px;
    border-bottom: #aaa 1px solid;
}

#news .text {
    line-height: 1.6;
}

#news .text img {
    width: 100%;
    max-width: 950px;
}

#news section > ul {
	font-size: 0;
	margin-bottom: 30px;
	text-align: center;
}

#news section > ul li {
	font-size: 14px;
	display: inline-block;
}

#news section > ul li:last-child {
    margin-left: 20px;
}

#news section > ul li a {
    font-size: 18px;
	color: #4b4b4b;
	background: url(../images/btn_off.png) no-repeat top left/100% 100%;
	width: 340px;
	text-align: center;
    line-height: 2.778;
	text-decoration: none;
	display: block;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}	

#news section > ul li a:hover {
	color: #fff;
	background: url(../images/btn_on.png) no-repeat;
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    #news {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #news section {
        padding: 6vw 10px;
    }

    #news #inner {
        padding: 20px 10px;
    }

    #news section > ul {
        padding: 0 10px;
    }

    #news section > ul li {
        width: calc(50% - 10px);
        max-width: 320px;
    }

    #news section > ul li a {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    #news {
        margin-top: 20vw;
        padding-bottom: 0;
    }

    #news section {
        padding: 6vw 10px;
    }

    #news #inner {
        padding: 20px 10px;
    }

    #news section > ul {
        padding: 0 10px;
    }

    #news section > ul li {
        width: 100%;
        max-width: 320px;
    }

    #news section > ul li:last-child {
        margin: 10px 0 0;
    }

    #news section > ul li a {
        width: 100%;
        margin-top: 0;
    }
}
/********* news *********/

/********* index *********/
/*#enter .wrap .fade-animation-box {
	width: 100%;
	height: calc(100vh + 2260px);
	position: fixed;
	left: 0;
	top: 0;
	z-index: 0;
}

#enter .wrap .fade-animation-box div {
	background-position: center top;
	background-size: cover;
	background-attachment: fixed;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	animation: imageAnimation 17.5s infinite;
}

#enter .wrap .fade-animation-box div:first-child {
	background-image: url(../images/bg_enter_01.jpg);
	animation-delay: 3s;
}

#enter .wrap .fade-animation-box div:nth-child(2) {
	background-image: url(../images/bg_enter_02.jpg);
	animation-delay: 8.83s;
}

#enter .wrap .fade-animation-box div:nth-child(3) {
	background-image: url(../images/bg_enter_03.jpg);
	animation-delay: 14.66s;
}

#enter .wrap .animation-box {
    width: 100%;
    height: calc(100vh + 2500px);
    display: flex;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}*/

#enter .wrap {
    background: url(../images/bg_enter.jpg) no-repeat center top/cover;
    width: 100%;
    height: 54.545vw;
    max-height: 1080px;
    min-height: 100vh;
    padding-top: 40px;
}

#enter .wrap h1 {
    width: 530px;
    margin: 0 auto;
}

#enter .wrap h1 img {
    width: 100%;
}

#enter .wrap ul {
    width: 100%;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 0 100px;
}

#enter .wrap ul li a {
    font-family: 'Lora', serif;
    font-size: 20px;
    color: #fff;
    width: 300px;
    text-align: center;
    letter-spacing: 0.5em;
    transition: opacity .3s;
}

#enter .wrap ul li:first-child a {
    background: #e4d443;
    line-height: 4;
    display: block;
}

#enter .wrap ul li:last-child a {
    background: rgba(95, 89, 82, .8);
    height: 80px;
    line-height: 1.5;
    display: flex;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
}

#enter .wrap ul li a:hover {
    opacity: .6;
}

#enter .wrap ul li a span {
    font-size: 14px;
    width: 100%;
    letter-spacing: 0;
    display: block;
}

#enter .wrap .link-banner {
    width: 100%;
    /*max-width: 600px;*/
    margin-top: 300px;
}

#enter .wrap .white-box {
    background: #fff;
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    /*#enter .wrap .fade-animation-box {
        height: 100vh;
        overflow-y: auto;
    }

    #enter .wrap .fade-animation-box div {
        background-attachment: unset;
    }

	#enter .wrap .fade-animation-box div:first-child {
		background-image: url(../images/bg_enter_01_sp.jpg);
	}
	
	#enter .wrap .fade-animation-box div:nth-child(2) {
		background-image: url(../images/bg_enter_02_sp.jpg);
	}
	
	#enter .wrap .fade-animation-box div:nth-child(3) {
		background-image: url(../images/bg_enter_03_sp.jpg);
	}

    #enter .wrap .animation-box {
        height: calc(165vh + 2600px);
    }

    #enter .wrap svg {
        height: 71vw;
    }*/

    #enter .wrap {
        background: url(../images/bg_enter_sp.jpg) no-repeat center top/contain;
        width: 100%;
        height: 175vw;
        padding-top: 20vw;
    }

    #enter .wrap h1 {
        width: 75vw;
    }
    
    #enter .wrap ul {
        margin-top: 2.5vw;
        display: block;
    }
    
    #enter .wrap ul li a {
        font-size: 3.75vw;
        width: 57.5vw;
        margin: 0 auto;
    }

    #enter .wrap ul li:last-child a {
        height: 15.104vw;
        margin-top: 6.25vw;
    }

    #enter .wrap ul li a span {
        font-size: 2.5vw;
    }

    #enter .wrap .link-banner {
        margin-top: 50vw;
    }
}

@-webkit-keyframes animate-svg-fill-1 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-1 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-1 {
    -webkit-animation: animate-svg-fill-1 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0s both;
    animation: animate-svg-fill-1 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0s both;
}

@-webkit-keyframes animate-svg-fill-2 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-2 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-2 {
    -webkit-animation: animate-svg-fill-2 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.065s both;
    animation: animate-svg-fill-2 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.065s both;
}

@-webkit-keyframes animate-svg-fill-3 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-3 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-3 {
    -webkit-animation: animate-svg-fill-3 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.13s both;
    animation: animate-svg-fill-3 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.13s both;
}

@-webkit-keyframes animate-svg-fill-4 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-4 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-4 {
    -webkit-animation: animate-svg-fill-4 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.195s both;
    animation: animate-svg-fill-4 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.195s both;
}

@-webkit-keyframes animate-svg-fill-5 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-5 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-5 {
    -webkit-animation: animate-svg-fill-5 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.26s both;
    animation: animate-svg-fill-5 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.26s both;
}

@-webkit-keyframes animate-svg-fill-6 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-6 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-6 {
    -webkit-animation: animate-svg-fill-6 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.325s both;
    animation: animate-svg-fill-6 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.325s both;
}

@-webkit-keyframes animate-svg-fill-7 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-7 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-7 {
    -webkit-animation: animate-svg-fill-7 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.39s both;
    animation: animate-svg-fill-7 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.39s both;
}

@-webkit-keyframes animate-svg-fill-8 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-8 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-8 {
    -webkit-animation: animate-svg-fill-8 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.455s both;
    animation: animate-svg-fill-8 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.455s both;
}

@-webkit-keyframes animate-svg-fill-9 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-9 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-9 {
    -webkit-animation: animate-svg-fill-9 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.52s both;
    animation: animate-svg-fill-9 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.52s both;
}

@-webkit-keyframes animate-svg-fill-10 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-10 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-10 {
    -webkit-animation: animate-svg-fill-10 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.585s both;
    animation: animate-svg-fill-10 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.585s both;
}

@-webkit-keyframes animate-svg-fill-11 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-11 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-11 {
    -webkit-animation: animate-svg-fill-11 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.65s both;
    animation: animate-svg-fill-11 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.65s both;
}

@-webkit-keyframes animate-svg-fill-12 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-12 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-12 {
    -webkit-animation: animate-svg-fill-12 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7150000000000001s both;
    animation: animate-svg-fill-12 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7150000000000001s both;
}

@-webkit-keyframes animate-svg-fill-13 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-13 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-13 {
    -webkit-animation: animate-svg-fill-13 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.78s both;
    animation: animate-svg-fill-13 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.78s both;
}

@-webkit-keyframes animate-svg-fill-14 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-14 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-14 {
    -webkit-animation: animate-svg-fill-14 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.845s both;
    animation: animate-svg-fill-14 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.845s both;
}

@-webkit-keyframes animate-svg-fill-15 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-15 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-15 {
    -webkit-animation: animate-svg-fill-15 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.91s both;
    animation: animate-svg-fill-15 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.91s both;
}

@-webkit-keyframes animate-svg-fill-16 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-16 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-16 {
    -webkit-animation: animate-svg-fill-16 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.9750000000000001s both;
    animation: animate-svg-fill-16 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.9750000000000001s both;
}

@-webkit-keyframes animate-svg-fill-17 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-17 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-17 {
    -webkit-animation: animate-svg-fill-17 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.04s both;
    animation: animate-svg-fill-17 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.04s both;
}

@-webkit-keyframes animate-svg-fill-18 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-18 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-18 {
    -webkit-animation: animate-svg-fill-18 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.105s both;
    animation: animate-svg-fill-18 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.105s both;
}

@-webkit-keyframes animate-svg-fill-19 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-19 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-19 {
    -webkit-animation: animate-svg-fill-19 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.17s both;
    animation: animate-svg-fill-19 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.17s both;
}

@-webkit-keyframes animate-svg-fill-20 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-20 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-20 {
    -webkit-animation: animate-svg-fill-20 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.235s both;
    animation: animate-svg-fill-20 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.235s both;
}

@-webkit-keyframes animate-svg-fill-21 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-21 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-21 {
    -webkit-animation: animate-svg-fill-21 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.3s both;
    animation: animate-svg-fill-21 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.3s both;
}

@-webkit-keyframes animate-svg-fill-22 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-22 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-22 {
    -webkit-animation: animate-svg-fill-22 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.365s both;
    animation: animate-svg-fill-22 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.365s both;
}

@-webkit-keyframes animate-svg-fill-23 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-23 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-23 {
    -webkit-animation: animate-svg-fill-23 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.4300000000000002s both;
    animation: animate-svg-fill-23 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.4300000000000002s both;
}

@-webkit-keyframes animate-svg-fill-24 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-24 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-24 {
    -webkit-animation: animate-svg-fill-24 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.495s both;
    animation: animate-svg-fill-24 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.495s both;
}

@-webkit-keyframes animate-svg-fill-25 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-25 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-25 {
    -webkit-animation: animate-svg-fill-25 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.56s both;
    animation: animate-svg-fill-25 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.56s both;
}

@-webkit-keyframes animate-svg-fill-26 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-26 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-26 {
    -webkit-animation: animate-svg-fill-26 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.625s both;
    animation: animate-svg-fill-26 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.625s both;
}

@-webkit-keyframes animate-svg-fill-27 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-27 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-27 {
    -webkit-animation: animate-svg-fill-27 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.69s both;
    animation: animate-svg-fill-27 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.69s both;
}

@-webkit-keyframes animate-svg-fill-28 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-28 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-28 {
    -webkit-animation: animate-svg-fill-28 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.7550000000000001s both;
    animation: animate-svg-fill-28 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.7550000000000001s both;
}

@-webkit-keyframes animate-svg-fill-29 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-29 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-29 {
    -webkit-animation: animate-svg-fill-29 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.82s both;
    animation: animate-svg-fill-29 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.82s both;
}

@-webkit-keyframes animate-svg-fill-30 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-30 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-30 {
    -webkit-animation: animate-svg-fill-30 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.885s both;
    animation: animate-svg-fill-30 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.885s both;
}

@-webkit-keyframes animate-svg-fill-31 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-31 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-31 {
    -webkit-animation: animate-svg-fill-31 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.9500000000000002s both;
    animation: animate-svg-fill-31 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.9500000000000002s both;
}

@-webkit-keyframes animate-svg-fill-32 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-32 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-32 {
    -webkit-animation: animate-svg-fill-32 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.015s both;
    animation: animate-svg-fill-32 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.015s both;
}

@-webkit-keyframes animate-svg-fill-33 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-33 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-33 {
    -webkit-animation: animate-svg-fill-33 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.08s both;
    animation: animate-svg-fill-33 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.08s both;
}

@-webkit-keyframes animate-svg-fill-34 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-34 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-34 {
    -webkit-animation: animate-svg-fill-34 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.145s both;
    animation: animate-svg-fill-34 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.145s both;
}

@-webkit-keyframes animate-svg-fill-35 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-35 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-35 {
    -webkit-animation: animate-svg-fill-35 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.21s both;
    animation: animate-svg-fill-35 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.21s both;
}

@-webkit-keyframes animate-svg-fill-36 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-36 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-36 {
    -webkit-animation: animate-svg-fill-36 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.275s both;
    animation: animate-svg-fill-36 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.275s both;
}

@-webkit-keyframes animate-svg-fill-37 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-37 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-37 {
    -webkit-animation: animate-svg-fill-37 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.34s both;
    animation: animate-svg-fill-37 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.34s both;
}

@-webkit-keyframes animate-svg-fill-38 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-38 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-38 {
    -webkit-animation: animate-svg-fill-38 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.4050000000000002s both;
    animation: animate-svg-fill-38 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.4050000000000002s both;
}

@-webkit-keyframes animate-svg-fill-39 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-39 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-39 {
    -webkit-animation: animate-svg-fill-39 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.47s both;
    animation: animate-svg-fill-39 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.47s both;
}

@-webkit-keyframes animate-svg-fill-40 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-40 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-40 {
    -webkit-animation: animate-svg-fill-40 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.535s both;
    animation: animate-svg-fill-40 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.535s both;
}

@-webkit-keyframes animate-svg-fill-41 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-41 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-41 {
    -webkit-animation: animate-svg-fill-41 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.6s both;
    animation: animate-svg-fill-41 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.6s both;
}

@-webkit-keyframes animate-svg-fill-42 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-42 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-42 {
    -webkit-animation: animate-svg-fill-42 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.665s both;
    animation: animate-svg-fill-42 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.665s both;
}

@-webkit-keyframes animate-svg-fill-43 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

@keyframes animate-svg-fill-43 {
    0% {
            fill: transparent;
    }
    100% {
            fill: rgb(4, 0, 0);
    }
}

.svg-elem-43 {
    -webkit-animation: animate-svg-fill-43 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.73s both;
    animation: animate-svg-fill-43 1.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.73s both;
}
/********* index *********/

/********* recruit *********/
#recruit {
    padding-bottom: 40px;
}

#recruit section {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    overflow: visible;
}

#recruit .first-view img {
    width: 100%;
}

#recruit .box-02 {
    font-size: 16px;
    background: url(../images/bg_recruit_01.jpg) no-repeat top center;
    height: 320px;
    margin: 0 auto;
    padding-top: 160px;
    text-align: center;
    line-height: 1.5;
}

#recruit .box-02 br.sp {
    display: none;
}

#recruit h3 {
    font-size: 16px;
    color: #887f28;
    width: fit-content;
    text-align: right;
    position: relative;
    z-index: 1;
}

#recruit h3::before {
    content: '';
    background: url(../images/bg_recruit_subtitle.png) no-repeat left top/cover;
    width: 325px;
    height: 87px;
    position: absolute;
    left: -35px;
    top: -15px;
    z-index: -1;
}

#recruit h3 span {
    font-family: 'Prata', serif;
    font-size: 40px;
    background: linear-gradient(to top, #000, #e4d443);
    margin-bottom: 5px;
    text-align: left;
    line-height: 1.4;
    display: block;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

#recruit .box-03 {
    /*background: url(../images/bg_recruit_02.jpg) no-repeat center top;*/
    height: 652px;
    padding: 100px 0 0 60px;
}

#recruit .box-03 h4 {
    font-size: 30px;
    color: #887f28;
    margin-top: 40px;
    line-height: 1.2;
}

#recruit .box-03 p {
    font-size: 16px;
    color: #481529;
    margin-top: 20px;
    padding-left: 5px;
    line-height: 1.5;
    letter-spacing: 0.075em;
}

#recruit .industry {
    margin: 80px 0 40px;
}

#recruit .industry h3 {
    text-align: left;
}

#recruit .industry div {
    width: 100%;
    max-width: 910px;
    margin: 60px auto 0;
}

#recruit .industry div img {
    width: 100%;
}

#recruit .box-04 {
    background: url(../images/bg_recruit_03.jpg) no-repeat left top;
    height: 436px;
    padding-top: 80px;
}

#recruit .box-04 h3 {
    margin: 0 60px 0 auto;
}

#recruit .box-04 ul {
    width: 50%;
    margin: 30px 0 0 auto;
}

#recruit .box-04 ul li {
    font-size: 30px;
    color: #887f28;
    width: 390px;
    padding: 10px 0;
    border-bottom: #887f28 1px dashed;
    text-align: center;
}

#recruit .box-04 ul li span {
    font-size: 48px;
    margin-left: 20px;
}

#recruit .box-04 ul li:first-child span {
    margin-left: 35px;
}

#recruit .box-04 p {
    font-size: 24px;
    color: #481529;
    width: 50%;
    margin: 20px 0 0 auto;
    text-align: center;
    line-height: 1.3;
}

#recruit .box-05 {
    padding: 80px 0 0 60px;
}

#recruit .box-05 h3 {
    text-align: left;
}

#recruit .box-05 .inner {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

#recruit .box-05 .inner .left {
    background: url(../images/bg_recruit_04.png) no-repeat;
    width: 481px;
    height: 575px;
    padding: 35px 25px;
}

#recruit .box-05 .inner .right {
    padding: 35px 0;
}

#recruit .box-05 .inner h4 {
    font-size: 16px;
    background: url(../images/bg_recruit_subtitle_02.png) no-repeat;
    width: 360px;
    margin: 0 auto;
    text-align: center;
    line-height: 4;
}

#recruit .box-05 .inner .left {
    order: 2;
}

#recruit .box-05 .inner .left p {
    color: #887f28;
}

#recruit .box-05 .inner .text-01 {
    font-size: 24px;
    margin-top: 10px;
    text-align: center;
}

#recruit .box-05 .inner .text-02 {
    font-size: 20px;
    margin-top: 10px;
    letter-spacing: -0.025em;
}

#recruit .box-05 .inner .text-02 span {
    font-size: 18px;
    width: 140px;
    margin-right: 10px;
    border: #481529 1px solid;
    text-align: center;
    line-height: 1.944;
    display: inline-block;
}

#recruit .box-05 .inner .right .text-02:first-of-type {
    margin-top: 42px;
}

#recruit .box-05 .inner .left .text-02:nth-of-type(4) span,
#recruit .box-05 .inner .left .text-02:nth-of-type(8) span {
    margin-right: 5px;
}

#recruit .box-05 .inner .right .text-02:nth-of-type(3) span,
#recruit .box-05 .inner .right .text-02:nth-of-type(7) span {
    margin-right: 5px;
}

#recruit .box-05 .inner .left .text-02 span {
    border: #887f28 1px solid;
}

#recruit .box-05 .inner .text-02 strong {
    font-size: 36px;
    font-weight: normal;
    margin-left: 5px;
    vertical-align: baseline;
}

#recruit .box-05 .inner .text-03 {
    font-size: 50px;
    text-align: center;
    line-height: 0.6;
}

#recruit .box-05 .inner .text-04 {
    font-size: 60px;
    margin-top: 20px;
    padding-top: 5px;
    border-top: #887f28 1px dashed;
    text-align: center;
}

#recruit .box-05 .inner .right {
    order: 1;
}

#recruit .box-05 .inner .right .text-04 {
    font-size: 50px;
    padding-top: 10px;
}

#recruit .box-05 .inner .text-04 span {
    font-size: 20px;
    vertical-align: middle;
}

#recruit .box-05 .inner .text-04 strong {
    vertical-align: middle;
}

#recruit .box-06 {
    background: url(../images/bg_recruit_05.jpg) no-repeat center top;
    height: 650px;
    margin-top: 80px;
    padding-top: 60px;
}

#recruit .box-06 h3 {
    margin: 0 60px 0 auto;
}

#recruit .box-06 ul {
    width: 650px;
    margin: 40px auto 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#recruit .box-06 ul li {
    font-size: 24px;
    background: url(../images/bg_recruit_06.png) no-repeat left top/cover;
    width: 216px;
    height: 216px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff;
}

#recruit .box-07 {
   padding-top: 80px; 
}

#recruit .box-07 h3 {
    margin: 0 0 30px 80px;
}

#recruit .box-07 .images {
    width: 960px;
    margin: 0 auto;
}

#recruit .box-07 .images img {
    width: 100%;
}

#recruit .box-08 {
    background: url(../images/bg_recruit_07.jpg) no-repeat center top;
    height: 650px;
    margin-top: 60px;
    padding-top: 80px;
}

#recruit .box-08 h3 {
    margin: 0 60px 0 auto;
}

#recruit .box-08 ul {
    width: 678px;
    margin: 20px auto 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#recruit .box-08 ul li {
    font-size: 18px;
    color: #fff;
    width: 226px;
    height: 226px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
}

#recruit .box-08 ul li:first-child {
    background: url(../images/bg_recruit_08_01.png) no-repeat left top/cover;
    padding-top: 60px;
}

#recruit .box-08 ul li:nth-child(2) {
    background: url(../images/bg_recruit_08_02.png) no-repeat left top/cover;
    padding-top: 60px;
}

#recruit .box-08 ul li:nth-child(3) {
    background: url(../images/bg_recruit_08_03.png) no-repeat left top/cover;
    padding-top: 60px;
}

#recruit .box-08 ul li:nth-child(4) {
    background: url(../images/bg_recruit_08_04.png) no-repeat left top/cover;
    padding-top: 50px;
}

#recruit .box-08 ul li:last-child {
    background: url(../images/bg_recruit_08_05.png) no-repeat left top/cover;
    padding-top: 60px;
}

#recruit .box-09 {
    padding-top: 60px;
}

#recruit .box-09 h3 {
    margin-left: 80px;
}

#recruit .box-09 ul {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
}

#recruit .box-09 ul li {
    width: 225px;
}

#recruit .box-09 ul li h4 {
    font-family: 'EB Garamond', serif;
    font-size: 30px;
    font-weight: bold;
    color: #887f28;
    width: 205px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

#recruit .box-09 ul li h4::before {
    content: '';
    background: url(../images/bg_recruit_subtitle_03_left.png) no-repeat;
    width: 23px;
    height: 43px;
    position: absolute;
    left: 5px;
    top: calc(50% - 21px);
}

#recruit .box-09 ul li h4::after {
    content: '';
    background: url(../images/bg_recruit_subtitle_03_right.png) no-repeat;
    width: 23px;
    height: 43px;
    position: absolute;
    right: 5px;
    top: calc(50% - 21px);
}

#recruit .box-09 ul li .images {
    width: 205px;
    margin: 20px auto 0;
}

#recruit .box-09 ul li .images img {
    width: 100%;
}

#recruit .box-09 ul li h5 {
    font-size: 20px;
    color: #fff;
    background: linear-gradient(to top, #887f28, #b1a749);
    width: 205px;
    margin: 10px auto 0;
    border-radius: 20px;
    text-align: center;
    line-height: 2;
}

#recruit .box-09 ul li p {
    font-size: 16px;
    margin-top: 20px;
    text-align: center;
    line-height: 1.4;
    letter-spacing: -0.025em;
}

#recruit .box-10 {
    background: #f2f2f2;
    width: 100vw;
    margin: 80px 0 0 -50vw;
    padding: 60px 0;
    position: relative;
    left: 50%;
}

#recruit .box-10 h3 {
    margin: 0 auto 80px;
}

#recruit .box-10 .one-box {
    background: #fff;
    width: 800px;
    margin: 10px auto 0;
    padding: 10px 10px 15px 20px;
    border-radius: 20px;
    box-shadow: 4px 4px 6px 0 rgba(4, 0, 0, .2);
}

#recruit .box-10 .one-box .question {
    display: flex;
    justify-content: space-between;
}

#recruit .box-10 .one-box .question p {
    font-size: 18px;
}

#recruit .box-10 .one-box .question p span {
    font-family: "fot-matisse-pron", sans-serif;
    font-size: 30px;
    font-weight: 500;
    font-style: normal;
    color: #887f28;
    margin-right: 10px;
    vertical-align: text-bottom;
}

#recruit .box-10 .one-box .question .button {
    background: #887f28;
    width: 30px;
    height: 30px;
    border-radius: 100%;
    position: relative;
    cursor: pointer;
    transition: background .5s ease;
}

#recruit .box-10 .one-box.open .question .button {
    background: #bcb88e;
}

#recruit .box-10 .one-box .question .button span {
    background: #fff;
    width: 15px;
    height: 1px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
}

#recruit .box-10 .one-box .question .button span:last-child {
    transform: rotate(90deg);
    transition: transform .5s ease;
}

#recruit .box-10 .one-box.open .question .button span:last-child {
    transform: rotate(0deg);
}

#recruit .box-10 .one-box .answer {
    margin: 35px 0 0 45px;
    display: none;
}

#recruit .box-10 .one-box .answer h4 {
    font-size: 16px;
    color: #887f28;
    line-height: 1.6;
}

#recruit .box-10 .one-box .answer p {
    font-size: 16px;
    line-height: 1.6;
}

#recruit .box-ranking {
    width: 1600px;
    margin-left: -800px;
    left: 50%;
    position: relative;

	img {
		width: 100%;
	}

    @media (768px < width <= 1200px) {
        width: 133.333vw; 
        margin-left: -66.667vw;
    }

    @media (width <= 768px) {
        width: 100%;
        margin-left: 0;
        left: 0;
    }
}

#recruit + footer {
    padding-bottom:100px;
}

#recruit .recruit-line {
    background: rgba(0, 0, 0, .8);
    width: 100%;
    padding: 15px 0;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 101;
    text-align: center;
}

#recruit .recruit-line img {
	max-width: 450px;
	width: 90%;
	vertical-align: top;
}

@media screen and (min-width: 769px) and (max-width: 980px) {
    #recruit .box-05 .inner {
        width: 481px;
        margin: 40px auto 0;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 768px) {
    #recruit {
        margin-top: 20vw;
        padding-bottom: 5vw;
    }

    #recruit section {
        padding: 0;
    }

    #recruit .box-02 {
        font-size: 3vw;
        background: url(../images/bg_recruit_01_sp.jpg) no-repeat left top/cover;
        height: 75vw;
        padding-top: 27.5vw;
        line-height: 1.8;
    }

    #recruit .box-02 br.sp {
        display: inline-block;
    }

    #recruit h3 {
        font-size: 3vw;
    }
    
    #recruit h3::before {
        width: 40.625vw;
        height: 10.875vw;
        left: -4.375vw;
        top: -1.25vw;
    }
    
    #recruit h3 span {
        font-size: 5vw;
        margin-bottom: 0.625vw;
        text-align: center;
    }
    
    #recruit .box-03 {
        /*background: url(../images/bg_recruit_02_sp.jpg) no-repeat left top/contain;*/
        width: 100%;
        height: 120vw;
        padding: 10vw 0 0 5vw;
    }
    
    #recruit .box-03 h4 {
        font-size: 5vw;
        margin-top: 5vw;
    }
    
    #recruit .box-03 p {
        font-size: 3vw;
        margin-top: 2.5vw;
        padding-left: 0.625vw;
        line-height: 1.7;
    }

    #recruit .industry {
        margin: 10vw 0 5vw;
    }

    #recruit .industry h3 {
        margin-left: 7.5vw;
    }

    #recruit .industry div {
        width: 91vw;
        margin: 5vw auto 0;
    }

    #recruit .box-04 {
        background: url(../images/bg_recruit_03_sp.jpg) no-repeat left top/cover;
        height: 56.771vw;
        padding-top: 8.75vw;
    }
    
    #recruit .box-04 h3 {
        margin: 0 8.75vw 0 auto;
    }
    
    #recruit .box-04 ul {
        width: 57.5vw;
        margin: 2.5vw auto 0;
    }
    
    #recruit .box-04 ul li {
        font-size: 4.5vw;
        width: 100%;
        padding: 0.625vw 0;
    }
    
    #recruit .box-04 ul li span {
        font-size: 7.5vw;
        margin-left: 2.5vw;
    }

    #recruit .box-04 ul li:first-child span {
        margin-left: 4.375vw;
    }
    
    #recruit .box-04 p {
        font-size: 3vw;
        width: 100%;
        margin: 2.5vw 0 0 0;
        line-height: 1.7;
    }

    #recruit .box-05 {
        padding: 10vw 0 0 0;
    }

    #recruit .box-05 h3 {
        margin-left: 7.5vw;
    }
    
    #recruit .box-05 .inner {
        margin-top: 2.5vw;
        justify-content: center;
        flex-wrap: wrap;
    }
    
    #recruit .box-05 .inner .left {
        background: url(../images/bg_recruit_04_sp.png) no-repeat left top/cover;
        width: 78.875vw;
        height: 85.625vw;
        padding: 10vw 3.75vw;
    }
    
    #recruit .box-05 .inner .right {
        padding: 8.75vw 3.75vw;
    }
    
    #recruit .box-05 .inner h4 {
        font-size: 3vw;
        background: url(../images/bg_recruit_subtitle_02_sp.png) no-repeat left top/cover;
        width: 61.5vw;
        line-height: 3.667;
    }
    
    #recruit .box-05 .inner .text-01 {
        font-size: 3.75vw;
        margin-top: 2.5vw;
    }
    
    #recruit .box-05 .inner .text-02 {
        font-size: 3vw;
        margin-top: 1.25vw;
    }
    
    #recruit .box-05 .inner .text-02 span {
        font-size: 3vw;
        width: 22.5vw;
        margin-right: 2.5vw;
        line-height: 1.667;
    }

    #recruit .box-05 .inner .left .text-02:nth-of-type(n+3) {
        margin-top: 0;
    }
    
    #recruit .box-05 .inner .right .text-02:first-of-type {
        margin-top: 2.5vw;
    }
    
    #recruit .box-05 .inner .left .text-02:nth-of-type(4) span,
    #recruit .box-05 .inner .left .text-02:nth-of-type(8) span {
        margin-right: 1.25vw;
    }
    
    #recruit .box-05 .inner .right .text-02:nth-of-type(3) span,
    #recruit .box-05 .inner .right .text-02:nth-of-type(7) span {
        margin-right: 1.25vw;
    }
    
    #recruit .box-05 .inner .text-02 strong {
        font-size: 6vw;
        margin-left: 1.25vw;
    }
    
    #recruit .box-05 .inner .text-03 {
        font-size: 6vw;
        line-height: 0.5;
    }
    
    #recruit .box-05 .inner .text-04 {
        font-size: 7.5vw;
        margin-top: 2vw;
        padding-top: 1.25vw;
    }
    
    #recruit .box-05 .inner .right .text-04 {
        font-size: 6.25vw;
        padding-top: 1.25vw;
    }
    
    #recruit .box-05 .inner .text-04 span {
        font-size: 2.5vw;
    }

    #recruit .box-06 {
        background: url(../images/bg_recruit_05_sp.jpg) no-repeat left top/cover;
        height: 81.25vw;
        margin-top: 5vw;
        padding-top: 6.25vw;
    }
    
    #recruit .box-06 h3 {
        margin: 0 7.5vw 0 auto;
    }
    
    #recruit .box-06 ul {
        width: 81.25vw;
        margin: 3.75vw auto 0;
    }
    
    #recruit .box-06 ul li {
        font-size: 3vw;
        width: 27vw;
        height: 27vw;
        line-height: 1.8;
    }

    #recruit .box-07 {
        padding-top: 10vw; 
    }
    
    #recruit .box-07 h3 {
        margin: 0 0 3.75vw 7.5vw;
    }
    
    #recruit .box-07 .images {
        width: 95.75vw;
    }

    #recruit .box-08 {
        background: url(../images/bg_recruit_07_sp.jpg) no-repeat left top/cover;
        height: 81.25vw;
        margin-top: 7.5vw;
        padding-top: 10vw;
    }
    
    #recruit .box-08 h3 {
        margin: 0 7.5vw 0 auto;
    }
    
    #recruit .box-08 ul {
        width: 84.75vw;
        margin: 1.25vw auto 0;
    }
    
    #recruit .box-08 ul li {
        font-size: 3vw;
        width: 28.25vw;
        height: 28.25vw;
        line-height: 1.5;
    }
    
    #recruit .box-08 ul li:first-child {
        background: url(../images/bg_recruit_08_01_sp.png) no-repeat left top/cover;
        padding-top: 7.5vw;
    }
    
    #recruit .box-08 ul li:nth-child(2) {
        background: url(../images/bg_recruit_08_02_sp.png) no-repeat left top/cover;
        padding-top: 7.5vw;
    }
    
    #recruit .box-08 ul li:nth-child(3) {
        background: url(../images/bg_recruit_08_03_sp.png) no-repeat left top/cover;
        padding-top: 7.5vw;
    }
    
    #recruit .box-08 ul li:nth-child(4) {
        background: url(../images/bg_recruit_08_04_sp.png) no-repeat left top/cover;
        padding-top: 6.25vw;
    }
    
    #recruit .box-08 ul li:last-child {
        background: url(../images/bg_recruit_08_05_sp.png) no-repeat left top/cover;
        padding-top: 7.5vw;
    }

    #recruit .box-09 {
        padding-top: 5vw;
    }
    
    #recruit .box-09 h3 {
        margin-left: 7.5vw;
    }
    
    #recruit .box-09 ul {
        margin-top: 5vw;
        justify-content: center;
        gap: 5vw 0;
        flex-wrap: wrap;
    }
    
    #recruit .box-09 ul li {
        width: 47.5%;
    }
    
    #recruit .box-09 ul li h4 {
        font-size: 6.25vw;
        width: 42.75vw;
    }
    
    #recruit .box-09 ul li h4::before {
        content: '';
        background: url(../images/bg_recruit_subtitle_03_left_sp.png) no-repeat left top/cover;
        width: 4.625vw;
        height: 9vw;
        left: 0.625vw;
        top: calc(50% - 4.5vw);
    }
    
    #recruit .box-09 ul li h4::after {
        content: '';
        background: url(../images/bg_recruit_subtitle_03_right_sp.png) no-repeat left top/cover;
        width: 4.625vw;
        height: 9vw;
        position: absolute;
        right: 0.625vw;
        top: calc(50% - 4.5vw);
    }
    
    #recruit .box-09 ul li .images {
        width: 42.75vw;
        margin: 3.75vw auto 0;
    }
    
    #recruit .box-09 ul li h5 {
        font-size: 4.25vw;
        width: 42.75vw;
        margin: 2.5vw auto 0;
        border-radius: 2.5vw;
        line-height: 1.971;
    }
    
    #recruit .box-09 ul li p {
        font-size: 3vw;
        margin-top: 2.5vw;
        line-height: 1.8;
    }

    #recruit .box-10 {
        margin: 5vw 0 0 0;
        padding: 7.5vw 0;
        left: 0;
    }
    
    #recruit .box-10 h3 {
        margin: 0 auto 2.5vw;
    }
    
    #recruit .box-10 .one-box {
        width: 93.75vw;
        margin: 2.5vw auto 0;
        padding: 2.5vw;
        border-radius: 5vw;
        box-shadow: 0.5vw 0.5vw 0.75vw 0 rgba(4, 0, 0, .2);
    }
    
    #recruit .box-10 .one-box .question p {
        font-size: 3.75vw;
    }
    
    #recruit .box-10 .one-box .question p span {
        font-size: 6.25vw;
        margin-right: 1.25vw;
    }
    
    #recruit .box-10 .one-box .question .button {
        width: 7.5vw;
        height: 7.5vw;
    }
    
    #recruit .box-10 .one-box .question .button span {
        width: 3.75vw;
    }
    
    #recruit .box-10 .one-box .answer {
        margin: 3.75vw 0 0 3.75vw;
    }
    
    #recruit .box-10 .one-box .answer h4 {
        font-size: 3vw;
    }
    
    #recruit .box-10 .one-box .answer p {
        font-size: 3vw;
    }

    #recruit + footer {
        padding-bottom: unset;
    }

    #recruit #sp-bottom-menu {
        display: none;
    }

    #recruit .recruit-line {
        padding: 1.25vw 0;
    }
}
/********* recruit *********/

/* ヘッダー上部ポップアップバナー */
#head-banner, #head-banner2 {
    bottom: 0;
    display: block;
    left: 0;
    opacity: 1;
    position: fixed;
    width: 100%;
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0.7);
    color: #282828;
    z-index: 10;
    padding: 20px 0;
    text-align: center;
}

@media screen and (max-width: 768px){
	#head-banner, #head-banner2 {
		bottom: 15vw;
	}
}

#head-banner .inner,
#head-banner2 .inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 10px;
}

#head-banner .clbtn,
#head-banner2 .clbtn {
	display: inline-block;
	width: 25px;
	height: 25px;
	position: relative;
	cursor: pointer;
}
	
#head-banner .clbtn span::before, .clbtn span::after,
#head-banner2 .clbtn span::before, .clbtn span::after {
    display: block;
    content: "";
    position: absolute;
    top: 53%;
    left: 8%;
    width: 84%;
    height: 6%;
    /* margin: -8% 0 0 -42%; */
    background: #a1a1a1;
}
	
#head-banner .clbtn span::before {transform: rotate(-45deg);}
#head-banner2 .clbtn span::before {transform: rotate(-45deg);}
#head-banner .clbtn span::after {transform: rotate(45deg);}	
#head-banner2 .clbtn span::after {transform: rotate(45deg);}	

#head-banner a,
#head-banner2 a {
	text-decoration: none;
	color: #282828;
	width: calc(100% / 3);
}

#head-banner a:hover img,
#head-banner2 a:hover img {
    opacity: 0.7 !important;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
}

#head-banner img,
#head-banner img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
    border: none;
}

#head-banner a.close,
#head-banner2 a.mclose {
	position: absolute;
	top: 10px;
	right: 10px;
	cursor:pointer;
}

@media screen and (max-width: 768px){
	#head-banner a.close, #head-banner2 a.mclose {
		right: -10vw;
	}
}

*:first-child+html #head-banner a.close,
*:first-child+html #head-banner2 a.mclose {
	position: absolute; top: -3px;
	right: 7px
}

#head-banner a.close img,
#head-banner2 a.mclose img {
	border-bottom:medium none;
	border-left:medium none;
	border-top: medium none;
	border-right: medium none;   
}

#head-banner img.hr-icon,
#head-banner2 img.hr-icon {
    width: 30px;
    vertical-align: middle;
    margin-right: 5px;
}
/* /ヘッダー上部ポップアップバナー */

/********* hotellist *********/
#hotellist {
    margin: 64px 0 25px;

	h3 {
		font-size: 18px;
		color: #000;
		background: #e4d443;
		width: 944px;
		margin: 0 auto;
		text-align: center;
		line-height: 2.333;
	}

	.box {
		width: 944px;
		margin: 30px auto 0;

		h4 {
			font-size: 16px;
            font-weight: bold;
			width: 100%;
            color: #e4d443;
			border: #e4d443 1px solid;
			text-align: center;
			line-height: 2.25;
		}

		ul {
			width: 100%;
			margin-top: 20px;
			display: flex;
			gap: 10px;
			flex-wrap: wrap;

			li {
				width: calc(100% / 3 - 20px / 3);

				a {
					font-size: 16px;
					color: #000;
					background: #e8e7e4;
					width: 100%;
					text-align: center;
					line-height: 2.25;
					display: block;
				}

				a:hover {
					color: #fff;
					background: #e4d443;
				}
			}
		}
	}
}

@media screen and (max-width: 800px) {
	#hotellist {
        margin-top: 20vw;
		padding: 6vw 0;

        section {
            padding: 0;
        }

		h3 {
			font-size: 4.5vw;
			width: 100%;
			line-height: 2.222;
		}

		.box {
			width: 95vw;
			margin: 3.75vw auto 0;

			h4 {
				font-size: 4vw;
				line-height: 1.875;
			}

			ul {
				margin-top: 3.75vw;
				gap: 2.5vw 1.375vw;

				li {
					width: calc(100% / 3 - 2.75vw / 3);

					a {
						font-size: 4vw;
						line-height: 2.5;
					}
				}
			}
		}
	}
}
/********* hotellist *********/

/********* hotellist_area *********/
#hotellist-area {
	margin: 64px 0 25px;

	h3 {
		font-size: 18px;
		color: #000;
		background: #e4d443;
		width: 944px;
		margin: 0 auto;
		text-align: center;
		line-height: 2.333;
	}

	.box {
		width: 944px;
		margin: 30px auto 0;

		h4 {
			font-size: 16px;
            font-weight: bold;
            color: #e4d443;
			width: 100%;
			border: #e4d443 1px solid;
			text-align: center;
			line-height: 2.25;
		}

		.one-box {
			a {
				font-size: 16px;
				color: #000;
				background: #e8e7e4;
				width: 100%;
				padding: 0 60px 0 70px;
				line-height: 2.813;
				display: flex;
				justify-content: space-between;
			}

			a:hover {
				color: #fff;
				background: #e4d443;
			}
		}

		.one-box:first-of-type {
			a {
				margin-top: 30px;
			}
		}

		.one-box:nth-of-type(2n) {
			a {
				background: #fff;
			}

			a:hover {
				color: #fff;
				background: #e4d443;
			}
		}
	}
}

@media screen and (max-width: 800px) {
	#hotellist-area {
		margin-top: 20vw;
		padding: 6vw 0;

        section {
            padding: 0;
        }

		h3 {
			font-size: 4.5vw;
			width: 100%;
			line-height: 2.222;
		}

		.box {
			width: 95vw;
			margin: 3.75vw auto 0;

			h4 {
				font-size: 4vw;
				line-height: 1.875;
			}

			.one-box {
				a {
					font-size: 4vw;
					padding: 1.75vw 5vw 1.75vw 3.75vw;
					line-height: 1.6;
					align-items: center;

					span:first-child {
						width: 85%;
					}
				}
			}
	
			.one-box:first-of-type {
				a {
					margin-top: 3.75vw;
				}
			}
		}
	}
}
/********* hotellist_area *********/

/********* hotellist_shop *********/
#hotellist-shop {
	margin: 64px 0 25px;

	.box {
		width: 944px;
		margin: 30px auto 0;

		h3 {
			font-size: 16px;
            font-weight: bold;
			width: 100%;
            color: #e4d443;
			border: #e4d443 1px solid;
			text-align: center;
			line-height: 2.25;
		}

		h4 {
			font-size: 18px;
			color: #000;
			background: #e4d443;
			width: 100%;
			margin-top: 40px;
			padding: 0 40px;
			line-height: 2.333;
		}

		dl {
			font-size: 16px;
			background: #f3f3f3;
			width: 100%;
			margin-top: 15px;
			padding: 5px 20px;
			line-height: 1.6;
			display: flex;
			flex-wrap: wrap;

			dt {
				width: 150px;
				padding: 12px 0;
				text-align: center;
			}

			dt:nth-of-type(n+2) {
				border-top: #e4d443 1px solid;
			}

			dd {
				width: calc(100% - 150px);
				padding: 12px 0;
				word-break: break-word;

				a {
					color: #e4d443;
				}
			}

			dd:nth-of-type(n+2) {
				border-top: #e4d443 1px solid;
			}
		}
	}
}

@media screen and (max-width: 800px) {
	#hotellist-shop {
        margin-top: 20vw;
		padding: 6vw 0;

        section {
            padding: 0;
        }

		.box {
			width: 95vw;
			margin: 3.75vw auto 0;

			h3 {
				font-size: 4vw;
				line-height: 1.875;
			}

			h4 {
				font-size: 4.5vw;
				margin-top: 5vw;
				padding: 0;
				text-align: center;
				line-height: 2.222;
			}
	
			dl {
				font-size: 3.5vw;
				margin-top: 2.5vw;
				padding: 1.25vw 2.5vw;
	
				dt {
					width: 30vw;
					padding: 2vw 0;
				}
	
				dd {
					width: calc(100% - 30vw);
					padding: 2vw 0;
				}
			}
		}
	}
}
/********* hotellist_area *********/

/********* トップページ ファーストビュー *********/
#first-view {
    position: relative;

    .image-container {
        width: 100%;
        height: 552px;
        position: relative;
        z-index: 1;
        overflow: hidden;
    }
    
    .image-container img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        animation: imageAnimation 17.5s infinite;
    }

    .image-container img.active {
        opacity: 1;
        animation: none;
    }
    
    .pc-image {
        display: block;
    }
    
    .mobile-image {
        display: none;
    }
    
    .image-container img:nth-child(1),
    .image-container img:nth-child(4) {
        animation-delay: 0s;
    }
    
    .image-container img:nth-child(2),
    .image-container img:nth-child(5) {
        animation-delay: 5.83s;
    }
    
    .image-container img:nth-child(3),
    .image-container img:nth-child(6) {
        animation-delay: 11.66s;
    }

    .text-container {
        width: 100%;
        height: 100%;
        text-align: center;
        align-content: center;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;

        img {
            width: 572px !important;
        }
    }
}

@keyframes imageAnimation {
    0% {
        opacity: 0;
    }
    10% {
         opacity: 1;
    }
    36% {
         opacity: 1;
    }
    46% {
         opacity: 0;
    }
    100% {
         opacity: 0;
    }
}

@media (768px < width <= 980px) {
    #first-view {
        .image-container {
            height: 56.327vw;
        }

        .text-container {
            img {
                width: 58.367vw !important;
            }
        }
    }
}

@media (max-width: 768px) {
    #first-view {
        .image-container {
            height: 175vw;
        }

        .text-container {
            img {
                width: 92.25vw !important;
            }
        }

        .pc-image {
            display: none;
        }

        .mobile-image {
            display: block;
        }
    }
}
/********* トップページ ファーストビュー *********/

/********* エンター 外国語ページリンク *********/
#enter .foreign-language {
	font-family: 'Lora', serif;
	font-size: 16px;
	width: 100%;
	max-width: 970px;
	margin: 100px auto 0;
	display: flex;
	justify-content: space-between;
	gap: 0 40px;

	div {
		width: calc(25% - 30px);

		a {
			color: #cf688e;
			background: rgba(255, 255, 255, .8);
			width: 100%;
			border: #cf688e 2px solid;
			text-align: center;
			line-height: 4.75;
			letter-spacing: 0.2em;
			display: block;
			transition: opacity 0.3s ease;
		}

		a:hover {
			opacity: .5;
		}
	}

	@media (width <= 768px) {
		font-size: 3.646vw;
		width: 74.479vw;
		margin-top: 10vw;
		gap: 3.906vw;
		flex-wrap: wrap;

		div {
			width: calc(50% - 1.953vw);
	
			a {
				border: #cf688e 0.26vw solid;
				line-height: 3.571;
			}
		}
	}
}
/********* エンター 外国語ページリンク *********/