/* @import "kiso.css"; */
/* ------------------------------------------------------------------------- */
/* リセット */
/* ------------------------------------------------------------------------- */
img{
    width: 100%;
    height: auto;
}

/* button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

button:focus {
    outline: none;
}

button:focus-visible {
    outline: 2px solid var(--color-main);
    outline-offset: 2px;
} */

/* 既存の全体buttonリセットを削除または以下に置き換え */
button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    /* outline: none; を削除 */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* フォーカス時は適切に表示 */
button:focus-visible {
    outline: 2px solid var(--color-main);
    outline-offset: 2px;
}

/* ------------------------------------------------------------------------- */
/* 基本設定 */
/* ------------------------------------------------------------------------- */
:root{
    /* レイアウト */
    --layout-artbord: 1440px;
    --layout-container: calc(1400px / var(--layout-artbord) * 100%);

    /* カラー */
    --color-main: #3BC1CD;
    --color-accent: #FFF293;
    --color-white: #FFFFFF;
    --color-grey: #A79F9F;

    --color-pink: #FF9799;
    --color-purple: #A6AFFF;
    --color-green: #84EEBC;
    --color-blue: #85CBF5;
    --color-yellow: #F3B969;

    --color-text: #2A2A2A;
    --color-line: #EFEDED;
    
    --color-button-dgreen: #55808D;
    --color-button-green: #38C0B0;
    --color-button-red: #D96A6A;

    /* フォント */
    --font-family-noto: 'Noto Sans JP', sans-serif;
    --font-family-reddit: "Reddit Sans", sans-serif;
    

    /* 角丸 */
    --border-radius: 56px;

    /* ハーフレンディング */
    --leading-trim: calc((1em - 1lh) / 2);
}

/* ------------------------------------------------------------------------- */
/* パーツ */
/* ------------------------------------------------------------------------- */
/* データなし */
.no-data{
    /* width: 100%!important; */
    text-align: center;
}

/* --only-pc: PC時は表示、SP時（768px以下）は非表示 */
br.--only-pc {
    display: block;
}

/* --only-sp: PC時は非表示、SP時（768px以下）は表示 */
br.--only-sp {
    display: none;
}

/* ボタン */
.buttonWrapper{
    display: grid;
    place-items: center;
}
.button{
    display: inline grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    background: var(--color-main);
    padding: .8rem .8rem .8rem 2rem;
    width: fit-content;
    border-radius: 9rem;
    border: 0.2rem solid var(--color-main);
}

.button__text{
    color: var(--color-white);
    margin-right: 1rem;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.button.is--reverse{
    background: var(--color-white);
    color: var(--color-main);
    border: 0.2rem solid var(--color-main);
}

.button.is--reverse .button__text{
    color: var(--color-main);
}

/* マーカー */
.marker{
    display: inline;
}

.marker--yellow{
    background: linear-gradient(var(--color-accent) 100%);
}

.marker--pink{
    background: linear-gradient(var(--color-pink) 100%);
}

.highlight{
    display: inline;
    background-size: 105% 1.1em;
    background-repeat: no-repeat;
    background-position: center;
}

.highlight--yellow{
    background-image: linear-gradient(var(--color-accent) 100%);
    background-size: 105% 1.1em;
}

.highlight--main{
    background-image: linear-gradient(var(--color-main) 100%);
    background-size: 105% 1.1em;
}

.highlight--pink{
    background-image: linear-gradient(var(--color-pink) 100%);
    background-size: 105% 1.1em;
}

/* slick*/
.slick-dotted.slick-slider{
    margin-bottom: 0!important;
}

.dots-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.dots-wrap li {
    display: flex;
    align-items: center;
    justify-content: center;
}

.dots-wrap button {
    width: .8rem;
    height: .8rem;
    
    border: none;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
    font-size: 0; /* 数字非表示 */
}

  /* アクティブなドット（横長の白い丸） */
.dots-wrap .slick-active button {
    width: 3.2rem;
    height: .8rem;
    border-radius: 6px;
}

.dots-wrap.--white button{
    background-color: rgba(255, 255, 255, 0.5); /* 非アクティブ時の水色（白っぽく） */
}

.dots-wrap.--white .slick-active button{
    background-color: #ffffff; /* 白 */
}

.dots-wrap.--black button{
    background-color: rgba(194, 194, 194, 1); /* 非アクティブ時の水色（グレーっぽく） */
}

.dots-wrap.--blue button{
    background-color: rgba(59, 193, 205, 0.5); /* 非アクティブ時の水色（メインカラーっぽく） */
}

.dots-wrap.--black .slick-active button{
    background-color: rgba(104, 101, 101, 1); /* 白 */
}


.dots-wrap.--blue .slick-active button{
    background-color: var(--color-main, #3BC1CD); /* メインカラー */
}

/* フローティングコンタクト */
.floating {
    position: fixed;
    right: 0;
    top: 25%;
    z-index: 10;
}

.floating__item{
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    padding: 1.2rem .6rem;
}

.floating__item.--dgreen{
    background: var(--color-button-dgreen);
    border-top-left-radius: 1.6rem;
}

.floating__item.--green{
    background: var(--color-button-green);
    border-bottom-left-radius: 1.6rem;
}

.floating__text{
    color: var(--color-white);
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5rem;
    writing-mode: vertical-rl;
    margin-top: 1rem;
    font-size: 1.8rem;
    letter-spacing: 0.2em;
}

.floating__icon{
    width: 3.6rem;
    height: 3.6rem;
}

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

/* フローティング募集 */
.wantedFloating{
    width: 32rem;
    position: fixed;
    right: 0;
    bottom: 2rem;
    right: 3rem;
}

/* セクションタイトル */
.topsectionTitle{
    color: var(--color-white);
    font-family: var(--font-family-reddit, "Reddit Sans", sans-serif);
    
}

.topsectionTitle__large{
    font-size: 13.4rem;
    font-weight: 800;
    line-height: calc(1em - 1lh);
}

@media (max-width: 1000px){
    .topsectionTitle__large{
        font-size: calc(134 / 1000 * 100vw);
    }
}

.topsectionTitle__small{
    font-size: 4rem;
}

/* ------------------------------------------------------------------------- */
/* レイアウト */
/* ------------------------------------------------------------------------- */
:is(.hello, .what, .column__inner, .topics, .related, .pageContent){
    padding: 0 2rem;
}

:is(.wantedMessage, .inpageLink, .wantedAbout, .wantedConsult, .wantedBenefits, .conditionsSec__container){
    padding: 0 2rem;
}

html{
    font-size: 62.5%; /* 1rem = 10px */
}

body{
    background: var(--color-main, #3BC1CD);
    color: var(--color-text, #2A2A2A);
    font-family: var(--font-family-noto, 'Noto Sans JP', sans-serif);
    font-size: 1.6rem;
    box-sizing: border-box;
}

.body__wrapper{
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100svh;
}

.main{
    flex-grow: 1;
}

.container{
    /* width: var(--layout-container); */
    margin: 0 auto;
}

.container.is--container-l{
    max-width: 1400px;
}

.container1106{
    max-width: 110.6rem;
    padding-left: 2rem;
    padding-right: 2rem;
    box-sizing: content-box;
}

.whiteBox{
    background: var(--color-white, #FFFFFF);
    border-radius: var(--border-radius, 56px);
    padding: calc(104 / 1400 * 100%) 0;
    max-width: 140rem;
    margin: auto;
}

.whiteBox__inner{
    max-width: 110.6rem;
    margin: auto;
    padding-left: 2rem;
    padding-right: 2rem;
    box-sizing: content-box;
}

.whiteBox__inner.is--1000{
    max-width: 100rem;
}

.whiteBox__inner.is--860{
    max-width: 86rem;
}

/* .container--white{
    background: var(--color-white, #FFFFFF);
    border-radius: var(--border-radius, 56px);
} */


/* ------------------------------------------------------------------------- */
/* 共通部分 */

/* 
header
humberger menu
footer
*/
/* ------------------------------------------------------------------------- */

/* header */
.header{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

/* ハンバーガーメニュー */
.humberger{
    justify-self: start;
    cursor: pointer;
    margin-left: 2rem;
    width: 7.4rem;
    height: 2rem;
    position: relative;
}

.humberger__line{
    display: block;
    width: 7.4rem;
    height: 0.6rem;
    background: var(--color-white);
    border-radius: 0.3rem;
    transition: all 0.3s ease;
    position: absolute;
}

.humberger__line--top {
    top: 0;
    transform-origin: center;
}

.humberger__line--bottom{
    bottom: 0;
    transform-origin: center;
}

/* アクティブ状態（ハンバーガーメニューが開いた時） */
.humberger.is-active .humberger__line--top {
    bottom: 0;
    margin: auto;
    transform: rotate(45deg);
}

.humberger.is-active .humberger__line--bottom {
    top: 0;
    margin: auto;
    transform: rotate(-45deg);
}

/* サイドメニュー */
.side-menu {
    position: fixed;
    top: 0;
    left: -35rem;
    width: 35rem;
    height: 100vh;
    background: var(--color-white);
    transition: left 0.3s ease;
    z-index: 1000;
    /* box-shadow: 2px 0 20px rgba(0, 0, 0, 0.1); */
    padding-top: 8rem;
}

.side-menu.is-open {
    left: 0;
}

.side-menu__inner {
    padding-top: 8rem;
}

.side-menu__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.side-menu__item {
    border-bottom: 1px solid var(--color-line);
}

.side-menu__link {
    display: block;
    padding: 2rem;
    color: var(--color-text);
    text-decoration: none;
    font-size: 1.8rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.side-menu__link:hover {
    background: var(--color-main);
    color: var(--color-white);
}

/* オーバーレイ */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 999;
}

.menu-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

/* ボディのスクロール制御 */
body.menu-open {
    overflow: hidden;
}

.side-menu__close {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 7.4rem;
    height: 7.4rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

.side-menu__close:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.side-menu__close-line {
    position: absolute;
    width: 7.4rem;
    height: 0.6rem;
    background-color: var(--color-main);
    border-radius: 0.3rem;
    transition: all 0.3s ease;
}

.side-menu__close-line--1 {
    transform: rotate(45deg);
}

.side-menu__close-line--2 {
    transform: rotate(-45deg);
}

.side-menu__close:hover .side-menu__close-line {
    background-color: var(--color-main);
}

/* サイドメニューのパディング調整（閉じるボタンの分） */
/* .side-menu__inner {
    padding: 6rem 2rem 3rem 2rem;
} */


.header__ttl{
    justify-self: center;
    color: var(--color-white);
    text-align: center;
    margin: 0;
    font-size: 2.8rem;
    font-weight: 800;
    font-family: var(--font-family-reddit, "Reddit Sans", sans-serif);
}

/* footer */
.footer{
    /* background: var(--color-accent); */
    padding-top: 16.4rem;
    position: relative;
    overflow: hidden;
    margin-top: 9.6rem;
}

.footer__container{
    width: 76.805555556%;
}

.wanted{

}

.footer__ttl{
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}

.footer__ttl_main{
    font-size: 4.7rem;
    font-weight: 800;
    margin-top: 3.2rem;
}

.footer__ttl_sub{
    color: var(--color-main);
    text-transform: capitalize;
    font-size: 11rem;
    font-family: var(--font-family-reddit, "Reddit Sans", sans-serif);
    font-weight: 800;
    text-align: center;
    line-height: 1em;
}

.wanted__message-l{
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
}

.wanted__message-l .highlight{
    color: var(--color-white);
    background-size: 105% 1.2em;
}


.wanted__message-s{
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    /* margin-top: 2.6rem; */
    margin-block-start: calc(2.6rem + var(--leading-trim));
    margin-block-end: var(--leading-trim);
}

.pinkButton.is--footer{
    margin-top: 4.6rem;
}

.pinkButton{
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-pink);
    box-shadow: 0px 6px 0px 0px rgba(0, 0, 0, 0.90);
    border-radius: 6rem;
    letter-spacing: -0.18px;
    width: fit-content;
    margin: auto;
    line-height: 1em;
}

.pinkButton__link{
    padding: 4.9rem 6.4rem;
}

.pinkButton__text{
    color: var(--color-white);
    font-size: 3rem;
    font-weight: 700;
}



.footerMenuWrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 12rem;
    background: var(--color-main, #3BC1CD);
    border-radius: 1.6rem;

}

.footerMenu{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 1.2rem;
}

.footerMenu__item{
    width: fit-content;
}

.footerMenu__link{
    color: var(--color-white, #FFFFFF);
    font-size: 1.6rem;
    font-family: var(--font-family, 'Noto Sans JP', sans-serif);
    font-weight: 600;
    text-decoration: none;
    padding: 1.2rem 1.4rem;
    font-weight: 500;
}

.copyrights{
    text-align: center;
    font-size: 1.4rem;
    font-family: var(--font-family-reddit, "Reddit Sans", sans-serif);
    /* font-weight: 400; */
    margin-top: 2.6rem;
    padding-bottom: 2.6rem;
}

.footer__bg{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    /* width: 116.527777778vw; */
    min-width: 116vw;
    height: auto;
    object-fit: cover;
    z-index: -1;
}

@media (max-width: 1440px){
    .footer__bg{
        min-width: 169rem;
    }
}

/* ------------------------------------------------------------------------- */
/* page共通 */
/* ------------------------------------------------------------------------- */
.pageHeader{
    color: var(--color-white);
    text-align: center;
    display: grid;
    grid-template-areas:
        "pageHeader__forwho"
        "pageHeader__title"
        "pageHeader__time";
    grid-template-columns: 1fr;
    flex-direction: column-reverse;
}

.pageHeader__title{
    grid-area: pageHeader__title;
}

.pageHeader__title_main{
    font-size: 4.7rem;
    font-weight: 800;
    letter-spacing: 0.0235em;
}

.pageHeader__title_en{
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 0.0136em;
    border-bottom: 0.2rem solid var(--color-white);
}

.pageHeader__forwho{
    grid-area: pageHeader__forwho;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.pageHeader__time{
    grid-area: pageHeader__time;
    margin-top: 1.6rem;
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 0.025em;
}

.pageContent{
    margin-top: 11.6rem;
}

.pageContent.is--privacy{
    margin-top: 10rem;
}
/* ------------------------------------------------------------------------- */
/* post */
/* ------------------------------------------------------------------------- */
.myContent > *:first-child {
    margin-top: 0 !important;
}

.myContent > *:last-child {
    margin-bottom: 0 !important;
}

.myContent h2{
    margin-top: 2.72em;
    font-size: 2.5rem;
}

.myContent p {
    margin-top: 2.166666667em;
    line-height: 1.5;
    font-size: 1.8rem;
}

.myContent ul {
    list-style-type: disc;
    padding-left: 2rem;
    font-size: 1.8rem;
    /* margin: 1.6em 0; */
}
