@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

html {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    margin: 0;
    padding: 0;
}
* {
    box-sizing: border-box;
    text-decoration: none;
    margin: 0;
    padding: 0;
}
body {
    width: 100%;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    transition: all 1ms ease 0s;
    background-color: #FEFEFE;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
}
*, :before, ::after {
    background-repeat: no-repeat;
    box-sizing: inherit;
}
div {
    margin: 0px;
    padding: 0px;
}
ul {
    list-style-type: none;
}
ol {
    list-style-type: decimal;
    margin-left: 30px;
}
a {
    text-decoration: none;
    color: inherit;
}
img {
    width: 100%;
    vertical-align: top;
}

/* SCROLL */
[data-aos] {
    opacity: 0;
    transition-property: opacity, transform;
}

[data-aos].aos-animate {
    opacity: 1;
    transform: none;
}

::selection {
    background-color: #0e4330;
    color: #fefefe;
}

/* LAYOUT */
.section, .w-900, .w-1110, .w-1120, .w-1200, .w-1260, .w-1300, .w-1520 {
    width: 100%;
    margin: 0 auto;
}

.section {
    max-width: 1920px;
}
.w-900 {
    max-width: 900px;
}
.w-1110 {
    max-width: 1110px;
}
.w-1200 {
    max-width: 1200px;
}
.w-1120 {
    max-width: 1120px;
}
.w-1260 {
    max-width: 1260px;
}
.w-1300 {
    max-width: 1300px;
}
.w-1520 {
    max-width: 1520px;
}

/* DISPLAY */
.display {
    display: flex;
    align-items: center;
}
.df {
    display: flex;
}
.ai-e {
    align-items: end;
}
.ai-s {
    align-items: start;
}
.m-0a {
    margin: 0 auto;
}
.jc-c {
    justify-content: center;
}
.jc-sa {
    justify-content: space-around;
}
.jc-sb {
    justify-content: space-between;
}
.jc-e {
    justify-content: end;
}
.jc-s {
    justify-content: start;
}
.fd-col {
    flex-direction: column;
}
.ta-c {
    text-align: center;
}
.ta-s {
    text-align: start;
}
.ta-e {
    text-align: end;
}
.reverse {
    flex-direction: row-reverse;
}
.relative {
    position: relative;
}
.absolute {
    position: absolute;
}

/* FONTS */
.mont {
    font-family: "Montserrat", sans-serif;
}

.green {
    color: #2DAF80;
}
.light {
    color: #FEFEFE;
}
.l-green {
    color: #C0E7D9;
}
.gray {
    color: #626262;
}

.f-16, .f-16m, .f-16b {
    /* font-size: clamp(12px, 0.83vw, 16px); */
    font-size: 16px;
}
.f-24, .f-24m, .f-24b {
    font-size: clamp(18px, 1.25vw, 24px);
}
.f-32b {
    font-size: clamp(24px, 1.67vw, 32px);
}
.f-42b {
    font-size: clamp(32px, 2vw, 42px);
}
.f-64sb {
    font-size: clamp(42px, 3.5vw, 64px);
}

.f-16, .f-24 {
    font-weight: 400;
}
.f-16m, .f-24m {
    font-weight: 500;
}
.f-64sb {
    font-weight: 600;
}
.f-16b, .f-24b, .f-32b, .f-42b {
    font-weight: 700;
}

.lh-80-10 {
    line-height: 80px;
}
.lh-50-10 {
    line-height: 50px;
}
.lh-60-10 {
    line-height: 60px;
}
.lh-30-10 {
    line-height: 30px;
}

.ls-10, .lh-80-10, .lh-50-10, .lh-60-10, .lh-30-10 {
    letter-spacing: 0.1em;
}   

/* GAPS */
.g-5 {
    gap: 5px;
}
.g-10 {
    gap: 10px;
}
.g-15 {
    gap: 15px;
}
.g-20 {
    gap: 20px;
}
.g-30 {
    gap: 30px;
}
.g-50 {
    gap: 50px;
}
.g-60 {
    gap: 60px;
}
.g-100 {
    gap: 100px;
}

/* --------------------------------------------------- PAGE PROPERTIES --------------------------------------------------- */

/* HEADER */
header {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 9999999;
}
.header__content {
    padding: 40px;
    background-color: #FEFEFE;
    position: relative;
    z-index: 1000;
}

.h-logo a {
    width: fit-content;
    position: relative;
    z-index: 10000;
}
.h-logo-img {
    max-width: 70px;
    max-height: 69px;
}

.h-links .main {
    height: 69px;
    border-right: 1px solid #2DAF80;
    padding-right: 30px;
}
.h-links .main a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid #2DAF80;
}
.link-access img {
    max-width: 15px;
    max-height: 18px;
}
.link-phone img {
    max-width: 18px;
    max-height: 18px;
}
.link-contact img {
    max-width: 18px;
    max-height: 14px;
}
.link-contact, .link-access, .link-phone {
    transition: background-color 0.3s ease;
}
.link-contact, .link-access:hover, .link-phone:hover {
    background-color: #2DAF80;
}
.link-contact:hover {
    background-color: #FEFEFE;
}
.link-access:hover img {
    content: url(../assets/common/icons/loc-w.svg)
}
.link-phone:hover img {
    content: url(../assets/common/icons/phone-w.svg)
}
.link-contact:hover img {
    content: url(../assets/common/icons/mail-g.svg)
}

.h-links .socials a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 0.5px solid #C0E7D9;
    transition: background-color 0.3s ease;
}
.h-links .socials a img {
    max-width: 15px;
    height: auto;
}
.h-links .socials a:hover {
    background-color: #DDDDDD;
}

/* NAV */
.menu__content {
    display: none;
    padding-top: 150px;
    position: fixed;
    top: 0;
    right: 0; 
    width: 750px;
    max-height: 85vh; 
    background-color: #FEFEFE;
    border-left: 1px solid #2DAF80;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    overflow-y: auto;
    padding-right: 10px; 
    scrollbar-width: thin; 
    scrollbar-color: #2DAF80 #f5f5f5;
    z-index: 999; 
}
.menu__content nav {
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
    /* max-height: 50vh;  */
}
.menu__content.active {
    display: flex;
}

.menu__content::-webkit-scrollbar {
    width: 8px;
}
.menu__content::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 10px;
}
.menu__content::-webkit-scrollbar-thumb {
    background-color: #2DAF80;
    border-radius: 10px;
    border: 2px solid #f5f5f5;
}

.nav__layout {
    width: 100%;
    padding-bottom: 60px;
    border-bottom: 1px solid #2DAF80;
}
.nav__layout li a p {
    transition: font-weight 0.3s ease;
}
.nav__layout li a:hover p {
    font-weight: 600;
}

.menu__content nav .h-links {
    padding: 20px 0 50px 0;
}

/*BURGER MENU*/
.burger-menu {
    width: 30px;
    height: 26px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    position: relative;
    z-index: 9999; 
}
.burger-menu div {
    width: 100%;
    height: 3px;
    border-radius: 50px;
    background-color: #5A707F;
    transition: transform 0.3s ease-in, opacity 0.3s ease, background-color 0.3s ease;
}

.burger-menu.active div {
    background-color: #5A707F;
}
.burger-menu.active div:nth-child(1) {
    transform-origin: 0% 95%;
    transform: rotate(45deg);
}
.burger-menu.active div:nth-child(2) {
    opacity: 0;
}
.burger-menu.active div:nth-child(3) {
    transform-origin: 0% -95%;
    transform: rotate(-45deg);
}

/*OPACITY FILTERS*/
.logo-link, span a, .sec-footer__content .links a, .news-link, .blog-link,
.dictionary__terms .term .title, .checkbox-label a {
    transition: filter 0.3s ease, opacity 0.3s ease;
}
.logo-link:hover, span a:hover, .sec-footer__content .links a:hover, 
.news-link:hover, .blog-link:hover, .dictionary__terms .term .title:hover,
.checkbox-label a:hover {
    filter: brightness(1);
    opacity: 0.7;
}

/* --------------------------------------------------- MV PROPERTIES --------------------------------------------------- */

.mv-top__content, .mv-top__content img,
.mv-sp__content, .mv-sp__content img {
    width: 100%;
    height: 100%;
}
.mv-sp__content img, .mv-top__content img {
    object-fit: cover;
}
.mv-top__title .layout, .mv-sp__title {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #ddd;
    z-index: 1; 
}

/* TOP */
.mv-top {
    height: 700px;
}
.mv-top__title .layout {
    display: none;
    padding: 30px;
    max-width: 540px;
    width: 70%;
}

/* SP */
.mv-sp {
    height: 600px;
}
.mv-sp__title {
    padding: 35px 25px;
    min-width: 498px;
    width: fit-content;
}

/* 404 */
.mv-404__content {
    background-image: url(../assets/404/mv.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
}

/* --------------------------------------------------- SECTION PROPERTIES --------------------------------------------------- */

/* PAGE WRAPPER */
.page-wrapper {
    padding: 100px 0;
}

/* BUTTONS */
.btn-phone, .btn-contact, .btn-contact-s, .btn-list, .btn-more,
.btn-save, .btn-edit, .btn-submit, .btn-index {
    border-radius: 50px;
    transition: background-color 0.3s ease;
}
.btn-save, .btn-edit, .btn-submit, .btn-index {
    border: none;
}
.btn-phone, .btn-contact, .btn-contact-s, .btn-more.l {
    border: 1px solid #FEFEFE;
}
.btn-more {
    border: 1px solid #2DAF80;
}

.btn-list, .btn-save, .btn-submit {
    background-color: #2DAF80;
}

.btn-phone, .btn-contact {
    width: 500px;
    height: 80px;
}
.btn-contact-s, .btn-list, .btn-more {
    width: 300px;
    height: 60px;
}
.btn-save, .btn-edit, .btn-submit, .btn-index {
    width: 550px;
    height: 75px;
}

.btn-phone img, .btn-contact img, .btn-contact-s img, .btn-list img {
    height: auto;
}
.btn-prev img, .btn-next img {
    max-width: 30px;
}
.btn-phone img {
    max-width: clamp(20px, 1.67vw, 32px);
}
.btn-contact img, .btn-contact-s img {
    max-width: clamp(22px, 1.67vw, 35px);
}
.btn-list img {
    max-width: 10px;
}

.btn-more:hover, .btn-edit:hover, .btn-index:hover {
    background-color: #2DAF80;
    color: #FEFEFE;
}
.btn-phone:hover, .btn-contact:hover, .btn-contact-s:hover, .btn-list:hover, 
.btn-more.l:hover, .btn-save:hover, .btn-submit:hover {
    color: #2DAF80;
}
.btn-phone:hover, .btn-contact:hover, .btn-contact-s:hover, .btn-more.l:hover {
    background-color: #FEFEFE;
}
.btn-phone:hover, .btn-contact:hover, .btn-contact-s:hover {
    border: 1px solid #2DAF80;
}
.btn-list:hover, .btn-save:hover, .btn-edit, .btn-submit:hover, .btn-index {
    background-color: #C0E7D9;
}
.btn-prev:hover p, .btn-next:hover p {
    font-weight: 800;
}
.btn-phone:hover img {
    content: url(../assets/common/icons/phone-g.svg);
}
.btn-contact:hover img, .btn-contact-s:hover img {
    content: url(../assets/common/icons/mail-g.svg);
}
.btn-list:hover img {
    content: url(../assets/common/icons/list-g.svg);
}

.btn-save:after, .btn-edit:before, .btn-submit:after, .btn-index:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: relative;
    /* font-size: clamp(12px, 0.83vw, 16px); */
    font-size: 16px;
}
.btn-save:after, .btn-submit:after {
    content: '\f054';
}
.btn-edit:before, .btn-index:before {
    content: '\f053';
}
.btn-save:after {
    left: 104px;
}
.btn-edit:before, .btn-index:before {
    right: 104px;
}
.btn-submit:after {
    left: 148px;
}

/* SEC ACCESS */
.sec-anr {
    padding-bottom: 100px;
}

.sec-access {
    background-color: #EEFEF8;
}
.sec-access__content {
    padding: 100px 0;
}
.sec-access__content .map {
    width: 100%;
    height: 400px;
}
.sec-access__content .map iframe {
    width: 100%;
    height: 100%;
}
.sec-access__content .info img {
    max-width: 550px;
    max-height: 410px;
}
.sec-access__content .info table {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    border-collapse: separate; 
    border-spacing: 0; 
}
.sec-access__content .info table tr {
    padding-bottom: 30px;
}
.sec-access__content .info table tr.last {
    padding-bottom: 0;
}
.sec-access__content .info table tr th {
    width: 100px;
}

/* SEC BLOG */
.sec-blog__content {
    flex-wrap: wrap;
}
.sec-blog__layout {
    max-width: 1110px;
    width: 100%;
    padding: 0 50px 0 60px;
    border-left: 1px solid #2DAF80;
}

/* SEC CONTACT */
.sec-contact__content {
    background-color: #2DAF80;
    width: fit-content;
    padding: 30px 200px;
    border-radius: 500px;
}
.sec-contact__content .text {
    padding: 60px 100px 60px 0;
    border-right: 1px solid #FEFEFE;
}
.sec-contact__content .btn {
    padding-left: 100px;
}

/* SEC FOOTER */
.sec-footer {
    border-top: 1px solid #2DAF80;
    padding: 60px 0 30px 0;
}
.f-logo img {
    max-width: 120px;
    height: auto;
}
.sec-footer__content .links .line {
    height: 30px;
    width: 1px;
    background-color: #2DAF80;
    margin: 0 30px;
}

/* SEC TITLE */
.sec-title .dots li {
    width: 15px;
    height: 15px;
    border-radius: 50%;
}

.dot-lg {
    background-color: #C0E7D9;
}
.dot-w {
    background-color: #FEFEFE;
}

/* PAGINATION */
.pagination {
    /* margin: 20px auto; */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.page-numbers {
    display: inline-block;
    margin: 0 1vw;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    padding: 0;
    cursor: pointer;
    color: #2DAF80;
    transition: background-color 0.3s, border 0.3s ease;
    font-size: clamp(14px, 0.83vw, 16px);
    font-family: "Montserrat", sans-serif;
}

.page-numbers:not(.arrow):hover, 
.page-numbers:not(.arrow).current {
    background-color: #2DAF80;
    color: #FEFEFE;
}

/* --------------------------------------------------- INDEX PROPERTIES --------------------------------------------------- */

/* SEC BLOG */
.index-blog, .index-sec01 {
    background-color: #EEFEF8;
}
.index-blog__layout {
    padding: 20px 60px;
    flex-wrap: wrap;
}
.index-blog__layout .head {
    width: fit-content;
    padding: 5px 30px 5px 0;
    border-right: 1px solid#2DAF80;
}

/* SEC01 */
.index-sec01__layout {
    padding: 60px 0;
}
.index-sec01__layout .desc {
    max-width: 620px;
}
.index-sec01__layout .img img, .index-sec02__layout .desc img {
    max-width: 800px;
    max-height: 600px;
}

/* SEC02 */
.indexs-sec02 {
    background-image: url(../assets/top/sec02-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.index-sec02__content {
    padding: 100px 0;
}
.index-sec02__layout .desc table {
    max-width: 620px;
    width: 100%;
    border-collapse: separate; 
    border-spacing: 0; 
}
.index-sec02__layout .desc table tr {
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid #FEFEFE;
}
.index-sec02__layout .desc table tr.last {
    margin-bottom: 0;
}
.index-sec02__layout .desc table tr th {
    width: 460px;
}

/* SEC03 */
.index-sec03__layout .posts .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
}
.index-sec03__layout .posts .list .item {
    max-width: 400px;
}
.index-sec03__layout .posts .list .item a img {
    width: 100%;
    height: 100%;
    max-height: 300px;
    object-fit: cover;
}

/* --------------------------------------------------- CONCEPT PROPERTIES --------------------------------------------------- */

.concept__layout .sub img {
    max-width: 600px;
    max-height: 400px;
}
.concept__layout .sub .desc {
    max-width: 860px;
}

/* --------------------------------------------------- STAFF PROPERTIES --------------------------------------------------- */

.staff__layout .profile {
    background-image: url(../assets/staff/sec02-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.staff__layout .profile .profile__content {
    padding: 100px 0;
}
.staff__layout .profile .profile__content .info .img img {
    max-width: 550px;
    height: auto;
}
.staff__layout .profile .profile__content .info .desc ul {
    list-style: disc;
    margin-left: 30px;
}

/* --------------------------------------------------- MENU PROPERTIES --------------------------------------------------- */

.menu-page__layout .price {
    background-image: url(../assets/menu/sec02-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.menu-page__layout .price table {
    max-width: 1120px;
    width: 100%;
    padding: 100px 0;
    border-collapse: separate; 
    border-spacing: 0; 
    margin: 0 auto;
}
.menu-page__layout .price table tr {
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid #FEFEFE;
}
.menu-page__layout .price table tr.last {
    margin-bottom: 0;
}
.menu-page__layout .price table tr th {
    /* width: 960px; */
    max-width: 960px;
}

/* --------------------------------------------------- TREATMENT PROPERTIES --------------------------------------------------- */

.treatment__list .item img {
    max-width: 600px;
    max-height: 400px;
}
.treatment__list .item .desc {
    max-width: 860px;
}
.treatment__list .item .desc ul {
    list-style: disc;
    margin-left: 30px;
}

/* --------------------------------------------------- DICTIONARY PROPERTIES --------------------------------------------------- */

.dictionary__terms .title {
    padding: 10px;
    cursor: pointer;
}
.dictionary__terms .meaning {
    display: none;
    padding: 20px 10px;
    background-color: #2DAF80;
}

/* --------------------------------------------------- SENTAI PROPERTIES --------------------------------------------------- */

/* LIST */
.seitai__layout .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
    width: 100%;
}

.seitai__layout .list .item {
    max-width: 600px;
    max-height: 450px;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    position: relative;
}
.seitai__layout .list .item a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.seitai__layout .list .item a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.seitai__layout .list .item:hover a img {
    transform: scale(1.1);
}
.seitai__layout .list .item a .head {
    width: -webkit-fill-available;
    padding: 50px 30px;
    max-height: 160px;
    background: rgba(45, 175, 128, 0.80);
    bottom: 0;
    left: 0;
    z-index: 2;
}
.seitai__layout .list .item a .content {
    width: -webkit-fill-available;
    height: 100%;
    padding: 50px 30px;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(30, 38, 43, 0.40);
    z-index: 1;
    opacity: 0;
    transition: top 0.5s ease, opacity 0.5s ease;
}
.seitai__layout .list .item:hover a .content {
    top: 0;
    opacity: 1;
}
.seitai__layout .list .item a .content .text {
    max-height: 240px;
    height: 100%;
}

/* DETAIL */
.seitai-info .intro .btn {
    background-color: #2DAF80;
    padding: 30px;
}
.seitai-info .main h6.head {
    padding: 0 30px;
    border-radius: 100px;
    background-color: #2DAF80;
}
.seitai-info .main .treatments li {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 2px solid #2DAF80;
}
.seitai-info .sub {
    padding: 50px 0;
    background-color: #C0E7D9;
}
.icon-check {
    max-width: 134px;
    max-height: 134px;
}

.seitai-points .list .item {
    overflow: hidden;
}
.seitai-points .list .item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.seitai-points .list .content {
    z-index: 1;
    min-height: 100%; 
    padding: 100px 0;
}
.seitai-points .list .item .content .desc {
    max-width: 970px;
    padding: 50px 30px;
    border: 1px solid #000;
    background-color: #FEFEFE;
    width: 90%;
}
.seitai-points .list .item .content .desc .head .point {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #2DAF80;
}

/* --------------------------------------------------- POST PROPERTIES --------------------------------------------------- */

/* LIST */
.post__content .list .item a img {
    max-width: 250px;
    max-height: 150px;
    object-fit: cover;
}

/* DETAIL */
.post-info__layout .head img {
    width: 100%;
    height: auto;
}

/* --------------------------------------------------- CONTACT PROPERTIES --------------------------------------------------- */

/* INDICATOR */
.contact__layout .indicator ul {
  position: relative;
  width: 100%;
  align-items: center;
}
.contact__layout .indicator ul li {
  position: relative;
  /* flex: 1; */
}
.contact__layout .indicator ul li .number {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #FEFEFE;
    border: 3px solid #2DAF80;
    color: #2DAF80;
}
.contact__layout .indicator ul li.active .number {
    background-color: #2DAF80;
    color: #FEFEFE;
}
.contact__layout .indicator ul li:not(:first-child)::before {
    content: '';
    position: absolute;
    top: 40%;
    /* left: -50%;
    width: 100%; */
    left: -300%;
    width: 400%;
    height: 3px;
    background-color: #2DAF80;
    z-index: -1;
}

/* FORM */
.contact__layout .form form {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.contact__layout .form.contact-form {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.form__important, .checkbox-label a {
    color: #820606;
}
input[type="text"], input[type="email"], .textarea {
    padding: 30px;
    /* font-size: clamp(12px, 0.83vw, 16px); */
    font-size: 16px;
    font-family: "Noto Sans JP", sans-serif;
    border: 1px solid #2DAF80;
}
input::placeholder, textarea::placeholder {
    color: #C0E7D9;
}
.textarea {
    width: 100%;
    height: 200px;
    resize: none;
    overflow: auto;
    flex-wrap: wrap !important;
}
.checkbox-container {
    flex-wrap: wrap;
    gap: 20px;
    flex-wrap: wrap;
}
.checkbox-label a {
    gap: 5px;
    text-decoration: underline;
}
.form__btn2 {
    flex-wrap: wrap;
}

/* CHECK */
.contact-check form .form__information {
    max-width: 1030px;
    width: 100%;
    margin: 0 auto;
    flex-direction: row;
    padding: 30px 0;
    border-bottom: 1px solid #AFC4D1;
}
.contact-check form .form__information.first {
    padding-top: 0;
}
.contact-check form .form__information .form__head {
    width: 200px;
}
.contact-check form .form__information .df.fd-col.g-5 {
    max-width: 800px;
    width: 100%;
}
.contact-check form .form__information .df.fd-col p.text {
    max-width: 720px;
    overflow-wrap: break-word;
    white-space: normal;
    width: 50vw;
}
.contact-check form .form__information input[type="text"],
.contact-check form .form__information input[type="email"],
.contact-check form .form__information .textarea {
    padding: 0;
}

/* --------------------------------------------------- RESPONSIVE PROPERTIES --------------------------------------------------- */

/* LARGE SCREEN */
@media screen and (max-width: 1600px) {

    /* LAYOUT */
    .w-1520, .w-1200, .w-1260, .w-1110,
    .sec-contact,
    .profile__content,
    .menu-page__layout .price table {
        width: 90%;
    }
    .sec-contact, .profile__content {
        margin: 0 auto;
    }

    /* ========== SECTION ========== */
    /* BUTTONS */
    .btn-phone, .btn-contact {
        max-width: 500px;
        width: 38vw;
    }

    /* SEC CONTACT */
    .sec-contact__content {
        padding: 30px 8vw;
        border-radius: 50vw;
    }
    .sec-contact__content .text {
        padding: 60px 5vw 60px 0;
    }
    .sec-contact__content .btn {
        padding-left: 5vw;
    }

    /* ========== INDEX ========== */
    .index-sec01__layout .img img,
    .index-sec02__layout .desc img,
    .concept__layout .sub img,
    .treatment__list .item img {
        width: 42vw;
    }
    .index-sec01__layout .desc {
        width: 40vw;
    }
    .concept__layout .sub .desc {
        width: 42vw;
    }
    .index-sec02__layout .desc table tr th {
        max-width: 460px;
        width: 32vw;
    }

    /* ========== SETAI ========== */
    .icon-check {
        left: 18vw;
    }
    .setai-points .list .item .content .desc {
        width: 70%;
        margin: 0 auto;
    }
}

/* MEDIUM SCREEN */
@media screen and (max-width: 1100px) {

    /* HEADER */
    .header__layout .main,
    .header__layout .socials {
        display: none;
    }
    .header__layout .h-links.nav .main,
    .header__layout .h-links.nav .socials {
        display: flex;
    }
    .h-links.nav {
        flex-direction: column;
    }
    .h-links.nav .main,
    .h-links.nav .socials {
        flex-wrap: wrap;
        justify-content: center;
    }
    .h-links.nav .main {
        height: auto;
        border-right: none;
        padding-right: 0;
    }

    /* GAPS */
    .g-100 {
        gap: 60px;
    }

    /* ========== SECTION ========== */
    .sec-access__content .info {
        flex-direction: column-reverse;
    }
    .sec-blog__layout {
        border-left: none;
        border-top: 1px solid #2DAF80;
        padding: 60px 60px 0 60px;
    }

    /* ========== SETAI ========== */
    .setai__layout .list {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
    }
    .setai-info .sub .text {
        width: fit-content;
        margin-right: 30px;
    }

    /* ========== CONTACT ========== */
    .contact-check form .form__information .form__head {
        width: 40vw;
    }
    .contact-check form .form__information input[type="text"],
    .contact-check form .form__information input[type="email"],
    .contact-check form .form__information .textarea {
        max-width: 55vw;
    }
}

/* TABLET SCREEN */
@media screen and (max-width: 820px) {

    /* HEADER */
    .header__content {
        padding: 4vw;
    }
    .h-logo-img {
        width: 9vw;
    }
    .menu__content {
        width: 100%;
        padding-right: 0;
    }
    .menu__content nav {
        width: 90%;
    }

    /* FONT */
    .f-16 {
        font-size: 14px;
    }
    .lh-60-10 {
        line-height: 30px;
    }

    /* GAPS */
    .g-60 {
        gap: 30px;
    }

    /* ========== MV ========== */
    .mv-top__content img {
        content: url(../assets/top/mv-r.jpg);
    }
    .mv-top__title .layout {
        display: flex;
    }

    /* ========== SECTION ========== */
    .page-wrapper {
        padding: 60px 0;
    }
    .btn-phone, .btn-contact {
        width: 55vw;
    }
    .btn-save, .btn-edit, .btn-submit, .btn-index {
        max-width: 550px;
        width: 60vw;
    }
    .btn-save:after {
        left: 10vw;
    }
    .btn-edit:before, .btn-index:before {
        right: 10vw;
    }
    .btn-submit:after {
        left: 16vw;
    }

    .sec-access__content {
        padding: 60px 0;
    }
    .sec-blog__layout {
        padding: 60px 0 0 0;
    }

    .sec-contact,
    .sec-contact__content {
        width: 100%;
    }
    .sec-contact__content {
        padding: 50px 30px;
        border-radius: 0;
        flex-direction: column;
        gap: 30px;
    }
    .sec-contact__content .text {
        width: 100%;
        padding: 0 0 30px 0;
        border-right: none;
        border-bottom: 1px solid #FEFEFE;
        text-align: center;
        align-items: center;
    }
    .sec-contact__content .text .sec-title {
        align-items: center;
    }

    .sec-footer {
        border-top: none;
        padding: 0 0 30px 0;
    }
    .sec-footer__content {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 30px;
    }
    .sec-footer__content .desc {
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .sec-footer__content .desc .h-links .socials {
        justify-content: center;
        flex-wrap: wrap;
    }

    .index-sec01__layout {
        flex-direction: column-reverse;
    }
    .index-sec01__layout .desc,
    .concept__layout .sub .desc {
        width: 100%;
        text-align: center;
    }
    .treatment__list .item .desc {
        width: 100%;
    }
    .treatment__list .item .desc .head {
        text-align: center;
    }
    .index-sec01__layout .img img,
    .index-sec02__layout .desc img,
    .concept__layout .sub img,
    .treatment__list .item img {
        width: 80%;
        display: flex;
        margin: 0 auto;
    }
    .index-sec01__btn,
    .treatment__list .item .desc .head {
        display: flex;
        justify-content: center;
    }
    .index-sec02__layout .desc {
        flex-direction: column;
        gap: 30px;
    }
    .index-sec03__layout .posts .list {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
    }
    .index-sec03__layout .posts .list .item {
        width: 80%;
        margin: 0 auto;
    }

    .concept__layout .sub {
        flex-direction: column-reverse;
    }

    .profile__content .info {
        flex-direction: column;
    }
    .staff__layout .profile .profile__content .info .img img {
        width: 60%;
    }

    .treatment__list .item {
        flex-direction: column;
    }

    .setai__layout .list .item {
        width: 80%;
        margin: 0 auto;
    }
    .setai__layout .list .item a .head {
        padding: 30px;
    }
    .setai-info .intro .btn {
        width: 50%;
        align-items: center;
    }
    .setai-info .main .treatments {
        flex-wrap: wrap;
    }
    .setai-info .main .treatments li {
        width: 150px;
        height: 150px;
    }
    .setai-points .list .item .content .desc .head {
        flex-direction: column;
    }

    .contact__layout .indicator ul {
        justify-content: center;
    }
    .contact__layout .indicator ul li:not(:first-child)::before,
    .contact__layout .indicator ul li {
        display: none;
    }
    .contact__layout .indicator ul li.active {
        display: flex;
    }
    .contact__layout .form form {
        gap: 30px;
    }
    .form__btn1, .form__btn2 {
        padding-top: 30px;
    }
    .form__btn2 {
        gap: 30px;
    }
    .contact-check form .form__information {
        flex-direction: column;
        gap: 15px;
    }
    .contact-check form .form__information .form__head {
        width: 100%;
    }
    .contact-check form .form__information input[type="text"],
    .contact-check form .form__information input[type="email"],
    .contact-check form .form__information .textarea,
    .checkbox-container {
        margin-left: 30px;
        max-width: 100%;
    }

    .post__content .list .item a .desc {
        width: 100%;
    }

    .contact__layout {
        gap: 40px;
    }
    .form__information {
        gap: 20px;
    }
    input[type="text"], input[type="email"], .textarea {
        padding: 10px;
    }
    .contact-check form .form__information .df.fd-col.g-5 {
        margin-left: 40px;
    }
    .contact-check form .form__information .df.fd-col.g-5,
    .contact-check form .form__information .df.fd-col p.text {
        width: -webkit-fill-available;
    }

    /* MOBILE-SPECIFIC */
    .h-logo .logo-link h2 {
        font-size: 20px;
    }
    .h-logo-img {
        width: 14vw;
    }
    .nav__layout {
        align-items: center;
    }
    .nav__layout li a {
        text-align: center;
    }
    .mv-sp__title {
        min-width: 75%;
    }
    .lh-80-10 {
        line-height: 50px;
    }
    .lh-50-10 {
        line-height: 30px;
    }
    .lh-30-10 {
        line-height: 24px;
    }
    .btn-list, .btn-more {
        max-width: 300px;
        width: 55vw;
    }
    .btn-contact-s {
        max-width: 300px;
        width: 70vw;
    }
    .btn-phone, .btn-contact {
        width: 87vw;
    }
    .btn-save, .btn-edit, .btn-submit, .btn-index {
        width: 80vw;
    }
    .sec-blog__content .sec-title {
        align-items: center;
        justify-content: center;
        width: 100%;
    }
    .sec-access__content .info table tr {
        flex-direction: column;
        gap: 10px;
    }
    .sec-access__content .info table tr th {
        width: 100%;
        background: #FEFEFE;
        border: 1px solid #2DAF80;
        padding: 10px 0;
    }
    .sec-access__content .info table tr th,
    .sec-access__content .info table tr td {
        text-align: center;
    }
    .sec-footer__content .links {
        flex-direction: column;
        gap: 20px;
    }
    .sec-footer__content .links .line {
        display: none;
    }
    .index-blog__layout {
        padding: 20px 0;
        width: 90%;
        margin: 0 auto;
        justify-content: center;
    }
    .index-blog__layout .head {
        padding: 0px 3vw 2vh 3vw;
        border-right: none;
        border-bottom: 1px solid #2DAF80;
    }
    .index-blog__layout a {
        flex-direction: column;
        align-items: start;
        width: 100%;
        gap: 10px;
    }
    .staff__layout .profile .profile__content .info .img img {
        width: 80%;
    }
    .setai__layout .list .item {
        width: 100%;
        margin: 0 auto;
    }
    .setai__layout .list .item a .head {
        padding: 15px 10px;
    }
    .seitai-points .list .item .content .desc .head,
    .setai-info .sub {
        flex-direction: column;
    }
    .seitai-points .list .item .content .desc {
        padding: 20px;
    }
    .seitai-info .main .treatments {
        flex-wrap: wrap;
    }
    .seitai-info .main .treatments li {
        max-width: 200px;
        max-height: 200px;
        width: 150px;
        height: 150px;
    }
    .seitai-info .sub {
        flex-direction: column;
        padding: 30px 0;
    }
    .seitai-info .sub .text {
        width: 90% ;
        margin: 0 auto;
    }
    .setai-info .intro .btn {
        width: 90%;
    }
}

/* MOBILE */
@media screen and (max-width: 500px) {

    /* HEADER */
    .header__content {
        padding: 6vw;
    }
    .h-logo .logo-link h2 {
        font-size: 20px;
    }
    .h-logo-img {
        width: 14vw;
    }
    .nav__layout {
        align-items: center;
    }
    .nav__layout li a {
        text-align: center;
    }
    .menu__content {
        padding-right: 0;
    }

    /* ========== MV ========== */
    /* SP */
    .mv-sp__title {
        min-width: 75%;
    }

    /* ========== SECTION ========== */
    /* FONT */
    .lh-80-10 {
        line-height: 50px;
    }
    .lh-50-10 {
        line-height: 30px;
    }
    .lh-30-10 {
        line-height: 24px;
    }

    /* BUTTON */
    .btn-list, .btn-more {
        max-width: 300px;
        width: 55vw;
    }
    .btn-contact-s {
        max-width: 300px;
        width: 70vw;
    }
    .btn-phone, .btn-contact {
        width: 87vw;
    }
    .btn-save, .btn-edit, .btn-submit, .btn-index {
        width: 80vw;
    }

    /* SEC-ACCESS */
    .sec-blog__content .sec-title {
        align-items: center;
        justify-content: center;
        width: 100%;
    }
    .sec-access__content .info table tr {
        flex-direction: column;
        gap: 10px;
    }
    .sec-access__content .info table tr th {
        width: 100%;
        background: #FEFEFE;
        border: 1px solid #2DAF80;
        padding: 10px 0;
    }
    .sec-access__content .info table tr th,
    .sec-access__content .info table tr td {
        text-align: center;
    }

    /* SEC FOOTER */
    .sec-footer__content .links {
        flex-direction: column;
        gap: 20px;
    }
    .sec-footer__content .links .line {
        display: none;
    }

    /* ========== INDEX ========== */
    /* BLOG */
    .index-blog__layout {
        padding: 20px 0;
        width: 90%;
        margin: 0 auto;
        justify-content: center;
    }
    .index-blog__layout .head {
        padding: 0px 3vw 2vh 3vw;
        border-right: none;
        border-bottom: 1px solid #2DAF80;
    }
    .index-blog__layout a {
        flex-direction: column;
        align-items: start;
        width: 100%;
        gap: 10px;
    }

    /* ========== STAFF ========== */
    .staff__layout .profile .profile__content .info .img img {
        width: 80%;
    }

    /* ========== SENTAI ========== */
    /* LIST */
    .seitai__layout .list {
        grid-template-columns: repeat(1, 1fr);
    }
    .setai__layout .list .item {
        width: 100%;
        margin: 0 auto;
    }
    .seitai__layout .list .item a .head {
        padding: 15px 10px;
    }

    /* DETAIL */
    .setai-info .sub {
        flex-direction: column;
    }
    .setai-info .intro .btn {
        width: 90%;
    }

    /* ========== POST ========== */
    .post__content .list .item a {
        flex-direction: column;
    }

    /* ========== CONTACT ========== */
    .contact__layout {
        gap: 40px;
    }

    /* FORM */
    .form__information {
        gap: 20px;
    }
    input[type="text"], input[type="email"], .textarea {
        padding: 10px;
    }
}

