@charset "utf-8";

@font-face {
    font-family: 'Zen Kurenaido';
    src: url(/fonts/ZenKurenaido-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}

body {
	-webkit-text-size-adjust: 100%;
}

#content {
    width: 100%;
}

#contents {
    width: 100%;
}
html {	
	scroll-behavior: smooth;	
}
.l-wrapper:has(.org-header.under) {
    padding: 0;
}
.l-main {
    width: 100%;
    padding: 0;
    overflow: hidden;
    background-color: #fff;
}

.main__top-bg {
    background: url(/images/company/main__top-bg.webp) no-repeat center / cover;
}
.mv {
    width: 100%;
}

.mv__img {
    display: block;
    width: 100%;
    height: 530px;
    object-fit: cover;
}

.greeting__contents {
    padding-block: 113px 99px;
    background: url(/images/company/greeting__bg.webp) no-repeat center / cover;
}
.contents__inner {
    width: 1140px;
    margin: 0 auto;
}
#anchor-greeting {
    padding-top: 150px;
    margin-top: -150px;
}
.greeting__box {
    display: flex;
    gap: 59px;
}
.greeting__box-left {
    display: flex;
    flex-direction: column;
}
.contents__title-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.contents__title-box {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 50px;
}
.contents__title {
    color: #333;
    font-family: "Sedan SC";
    font-size: 50px;
    font-weight: 400;
}
.contents__title span {
    color: #76BBD8;
    font-family: "Sedan SC";
    font-size: 50px;
    font-weight: 400;
}
.contents__subtitle {
    color: #333;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 175%;
}
.greeting__text-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.greeting__title {
    color: #76BBD8;
    -webkit-text-stroke-width: 0.7px;
    -webkit-text-stroke-color: #76BBD8;
    font-family: "Zen Kurenaido";
    font-size: 30px;
    font-weight: 400;
    line-height: 160%;
}
.greeting__message-box {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
[class*="greeting__message"] {
    font-family: "Zen Kurenaido";
    font-weight: 400;
    color: #333;
    -webkit-text-stroke-width: 0.8px;
    -webkit-text-stroke-color: #333;
}
.greeting__message {
    font-size: 16px;
    line-height: 188%;
}
.greeting__name-box {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}
.greeting__message--name-top {
    font-size: 20px;
    line-height: 185%;
}
.greeting__message--name-bottom {
    font-size: 30px;
    line-height: 175%;
    -webkit-text-stroke-width: 1.4px;
}
.greeting__box-right {
    width: 425px;
    height: 540px;
    margin-top: 7px;
}

.business__content {
    padding-block: 73px 80px;
    background: #FFF;
}
.business__img {
    width: 690px;
    height: 590px;
    margin: 0 auto;
}

.advantage__contents {
    padding-block: 73px;
    background: url(/images/company/advantage__bg.webp) no-repeat center / cover;
}
.advantage__contents .contents__title-box {
    margin-bottom: 70px;
}
.advantage__list {
    display: flex;
    flex-direction: column;
    gap: 42px;
}
.advantage__item {
    display: flex;
    gap: 40px;
    position: relative;
    align-items: center;
    z-index: 1;
}
.advantage__item:nth-child(even) {
    flex-direction: row-reverse;
    justify-content: space-between;
}
.advantage__img {
    width: 580px;
    height: 340px;
}
.advantage__text-box {
    display: flex;
    flex-direction: column;
    gap: 19px;
    height: 181px;
}
.advantage__text-box-big {
    height: 211px;
}
.advantage__title-box {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.advantage__subtitle {
    color: #76BBD8;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 400;
    line-height: 168%;
    letter-spacing: 3.08px;
}
.advantage__title {
    color: #76BBD8;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 30px;
    font-weight: 500;
    line-height: 150%;
}
.advantage__text {
    color: #333;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 187%;
}
.advantage__num {
    position: absolute;
    color: #407992;
    font-family: "Sedan SC";
    font-size: 180px;
    font-weight: 400;
    right: 19px;
    bottom: -29px;
    opacity: 0.15;
    z-index: -1;
}
.advantage__item:nth-child(even) .advantage__num {
    position: absolute;
    left: 331px;
}

.profile__contents {
    padding-block: 84px 77px;
    background: #FFF;
}
.profile__contents .contents__title-box {
    position: relative;
    z-index: 1;
}
.profile__contents .contents__title-box::before {
    content: "";
    position: absolute;
    background: linear-gradient(248deg, #76BBD8 21.5%, #63BECE 88.53%);
    width: 1015px;
    height: 136px;
    z-index: -1;
    left: -390px;
    top: -13px;
}
.profile__contents .contents__title,
.profile__contents .contents__subtitle {
    color: #FFF;
}
.profile__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.profile__item {
    display: flex;
    width: 1140px;
}
.profile__title-box {
    border-bottom: 1px solid #76BBD8;
    display: flex;
    align-items: center;
}
.profile__title {
    width: 150px;
    color: #76BBD8;
    text-align: center;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 185%;
    padding-bottom: 20px;
}
.profile__text {
    color: #333;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 185%;
    width: 990px;
    padding: 0 0 20px 30px;
    border-bottom: 1px solid #E6E6E6;
}
.profile__text a {
    color: #333;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 185%;
    text-decoration-line: underline;
}
.location__contents {
    padding-block: 74px 79px;
    background: #fff url(/images/company/location__bg.webp) no-repeat center / cover;
}
.location__list {
    display: flex;
    gap: 30px;
}
[class*="location__item--"] {
    border: 1px solid #E6E6E6;
    background: #FFF;
    width: 555px;
    height: 551px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}
.location__title {
    font-family: "Zen Kaku Gothic Antique";
    font-size: 24px;
    font-weight: 500;
    line-height: 160%;
    width: 152px;
    height: 42px;
    display: flex;
    border-radius: 9999px;
    background: #ECFAFD;
    align-items: center;
    justify-content: center;
}
.location__item--atami .location__title {
    color: #42C9EF;
}
.location__item--shimoda .location__title {
    color: #21BCB8;
}
.location__img-box {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.location__img-text {
    color: #333;
    text-align: center;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
}
.location__img {
    width: 515px;
    height: 329px;
}
.location__btn {
    width: 310px;
    height: 60px;
}
.location__btn a {
    display: flex;
    width: 100%;
    height: 100%;
    color: #FFF;
    text-align: center;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 185%;
    position: relative;
    align-items: center;
    justify-content: center;
}
.location__item--atami .location__btn a {
    background: linear-gradient(88deg, #42C9EF 16.61%, #82D8F3 94.7%);
}
.location__item--shimoda .location__btn a {
    background: linear-gradient(88deg, #21BCB8 16.61%, #6BDDD8 94.7%);
}
.location__btn a::before {
    content: "";
    position: absolute;
    background: url(/images/company/location__btn-arrow.svg) no-repeat center / cover;
    width: 13px;
    height: 7px;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
}

.store__contents {
    padding-block: 74px 80px;
    background: #fff url(/images/company/store__bg.webp) no-repeat center / cover;
}
.store__list {
    display: flex;
    flex-direction: column;
    gap: 70px;
}
[class*="store__item--"] {
    width: 1140px;
    scroll-margin-top: 130px;
}
.store__title {
    color: #FFF;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 24px;
    font-weight: 500;
    line-height: 160%;
    display: flex;
    height: 70px;
    margin-bottom: 30px;
    align-items: center;
    justify-content: center;
}
.store__item--atami .store__title {
    background: #42C9EF;
}
.store__item--shimoda .store__title {
    background: #21BCB8;
}
.store__overview {
    display: flex;
    gap: 60px;
    align-items: center;
    margin-bottom: 28px;
}
.store__overview-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.store__overview-item {
    width: 560px;
    display: flex;
}
.store__overview-title {
    width: 150px;
    text-align: center;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 185%;
    padding-bottom: 20px;
    flex-shrink: 0;
}
.store__item--atami .store__overview-title {
    color: #42C9EF;
}
.store__item--shimoda .store__overview-title {
    color: #21BCB8;
}
.store__overview-title-box {
    display: flex;
    align-items: center;
}
.store__item--atami .store__overview-title-box {
    border-bottom: 1px solid #42C9EF;
}
.store__item--shimoda .store__overview-title-box {
    border-bottom: 1px solid #21BCB8;
}
.store__overview-text {
    color: #333;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 181%;
    border-bottom: 1px solid #E6E6E6;
    padding: 0 0 20px 30px;
    width: 410px;
}
.store__overview-text a {
    text-decoration-line: underline;
    color: #333;
    font-family: "Zen Kaku Gothic Antique";
    font-size: 16px;
    font-weight: 400;
    line-height: 181%;
}
.cont__main {
    width: 500px;
    height: 376px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

.swiper-slide {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
}

.swiper-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    content: "";
    width: 1rem;
    height: 1rem;
    border: 0;
    border-top: solid 0.5rem #3d85c6;
    border-right: solid 0.5rem #3d85c6;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.swiper-button-prev:after {
    transform: rotate(-135deg);
}
.swiper-button-next:after {
    transform: rotate(45deg);
}
.swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    background: #fff;
}
.cont__main-box {
    position: relative;
    z-index: 1;
}
.cont__main-box::before {
    content: "";
    position: absolute;
    background: #ECFAFD;
    width: 500px;
    height: 376px;
    z-index: -1;
    bottom: -20px;
    right: -20px;
}

.swiper-button-next, .swiper-button-prev {
    width: 40px;
    height: 40px;
}
.cont__main-box-top .swiper-button-prev, .swiper-rtl .swiper-button-next {
    background: url(/images/company/icn_slide_arw.svg) no-repeat center / cover;
    left: -20px;
}
.cont__main-box-top .swiper-button-next, .swiper-rtl .swiper-button-prev {
    background: url(/images/company/icn_slide_arw.svg) no-repeat center / cover;
    transform: rotateZ(180deg);
    right: -20px;
}
.cont__main-box-bottom .swiper-button-prev, .swiper-rtl .swiper-button-next {
    background: url(/images/company/icn_slide_arw-bottom.svg) no-repeat center / cover;
    left: -20px;
}
.cont__main-box-bottom .swiper-button-next, .swiper-rtl .swiper-button-prev {
    background: url(/images/company/icn_slide_arw-bottom.svg) no-repeat center / cover;
    transform: rotateZ(180deg);
    right: -20px;
}
.swiper-button-prev:after, .swiper-button-next:after {
    display: none;
}
.overview__map {
    width: 1140px;
    height: 500px;
    margin: 0 auto;
    overflow: hidden;
}
.overview__map iframe {
    width: 100%;
    height: 100%;
}
