@charset "UTF-8";
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
/* Medium */
@font-face {
    font-family: "Metric";
    src: url("../fonts/Metric/WOFF2/metric-medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
  }
  /* SemiBold */
  @font-face {
    font-family: "Metric";
    src: url("../fonts/Metric/WOFF2/metric-semibold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
  }
  /* Bold */
  @font-face {
    font-family: "Metric";
    src: url("../fonts/Metric/WOFF2/metric-bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}
:root {
    /* フォントファミリー変数 */
    --font-family-ryo-gothic: "ryo-gothic-plusn", sans-serif,“Hiragino Sans W3”, “Hiragino Kaku Gothic ProN”, “ヒラギノ角ゴ ProN W3”, “メイリオ”, Meiryo, “ＭＳ Ｐゴシック”, “MS PGothic”;

    /* フォントウェイト変数 */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --font-weight-extra-bold: 800;
}
.-en{
    font-family: "Metric", sans-serif;
    font-weight: 500;
}

.wf-loading {
    visibility: hidden;
    opacity: 0;
}

.wf-active,
.wf-inactive {
    visibility: visible;
    opacity: 1;
    transition: visibility 0.5s linear, opacity 0.5s linear;
}

[hidden] {
    display: none !important;
}

/* 通常のウェイト (400): Ryo Gothic PlusN B */
.body-text {
    font-weight: var(--font-weight-normal);
}

.medium-text {
    font-weight: var(--font-weight-medium);
}

/* 太字ウェイト (700): Ryo Gothic PlusN H */
.heading-bold {
    font-weight: var(--font-weight-bold);
}

/* さらに太いウェイト (800) */
.extra-bold {
    font-weight: var(--font-weight-extra-bold);
}

.element {
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}

html,body{	
    height:100%;
}

body{
    width: 100%;
}

body.-fixed {
    position: fixed;
    width: 100%;
}

html{
	font-size:62.5%;
}
.-link{
    text-decoration: underline;
}

.all_wrap{
	overflow-x: hidden;
	position: relative;
	width: 100%;
	max-width: 100%;
}

.all_wrap::-webkit-scrollbar{
	display: none;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form,figure,
input, select, textarea, button{
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
    font-family: var(--font-family-ryo-gothic);
    letter-spacing: 0.05em;
    line-height: 1.75;
	font-feature-settings: "palt";
    color: #111111;
    text-align: left;
    box-sizing: border-box;
}

.img, .video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a{
	text-decoration: none;
    color: #111111;
}

a img {
 transition: opacity 0.3s ease-out;
}

img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

button{
	background: none;
	border: none;
    cursor: pointer;
}

input, select, textarea {
    display: block;
    border: none;
    border-radius: 0;
    color: inherit;
    background: inherit;
    -webkit-appearance: none;
    font-size: inherit;
    cursor: pointer;
    line-height: 2;
    border-radius: 5px;
	font-family: “Hiragino Sans W3”, “Hiragino Kaku Gothic ProN”, “ヒラギノ角ゴ ProN W3”, “メイリオ”, Meiryo, “ＭＳ Ｐゴシック”, “MS PGothic”, sans-serif;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: unset;
    /* color: #FFF; */
}
select {
    -webkit-appearance: none;
    appearance: none;
}

input, select {
    -webkit-appearance: none;
    appearance: none;
  }

/* table{
    border-collapse: collapse;
} */

.text_color_yellow{
    color: #FFDB00;
}

.itemLink{
    transition: .3s;
}
@media (hover: hover) {
    .itemLink:hover{
        opacity: 0.7;
    }
}
.pc{ display: block;}
.sp{ display: none;}
.tsp{ display: none;}
@media screen and (max-width: 1000px){
    .tsp{ display: block;}
}

@media screen and (max-width: 800px){
	.pc{
		display: none;
	}

	.sp{
		display: block;
	}
}

/* 全体 横幅 */
.wrapper{
	max-width: 1160px;
	width: calc(100% - 10%);
	margin: 0 auto;
}

.small_wrapper{
    max-width: 800px;
    margin: 0 auto;
    padding: 0 5%;
}

@media screen and (max-width: 800px){
	.wrapper{
		width: calc(100% - 10%);
	}
}

.bg_gray{
    background: #F2F4F3;
}
/* ::::: inview  ::::: */
.inview {
    transition: filter 1.8s 0.3s, opacity 1.8s 0.3s, transform 1.8s 0.3s;
    /* transition: opacity .7s, transform .7s; */
    transform: translate(0, 5px);
    opacity: 0;
}

.inview.show {
    transform: translate(0, 0);
    opacity: 1.0;
}

.inview {
    opacity: 0;
    transition: filter 1.8s, opacity 1.8s, transform 1.8s;
}

.inview.show {
    transform: translate(0, 0);
    opacity: 1.0;
}

.inview.--inview-img {
    transform: scale(1.1);
}

.inview.--inview-img.show {
    transform: scale(1);
}

.inview.--inview-delay {
    transition: filter 1.8s 0.3s, opacity 1.8s 0.3s, transform 1.8s 0.3s;
}

/* modal */
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99999;
	left: 0;
    text-align: center;
}

.modal_close{
    position: fixed;
    top: 2rem;
    right: 2rem;
    z-index: 99;
}

.modal__bg{
    opacity: 0;
    background: rgba(239,239,239,0.9);
    height: 100vh;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    transition: .3s;
}

body.modal-open .modal{
    display: block;
}

body.modal-open .modal__bg{
    opacity: 1;
    z-index: 1;
}

body.modal-open header{
    z-index: 0;
}

.modal__content{
    left: 50%;
    top: 50%;
    position: absolute;
    max-width: 1080px;
	width: 90%;
    transform: translate(-50%, -50%);
    z-index: 99;
}

.modal__content h3{
	text-align: center;
	font-size: 1.6rem;
	margin-top: 4rem;
	line-height: 1.625;
}

.modal__content_wp{
    min-height: auto;
    max-height: 85svh;
    overflow-x: hidden;
}

.modal__content_inr{
    position: relative;
	margin: 0 auto;
	background: #fff;
    overflow-y: auto;
    padding: 6rem 5% 9rem;
    border-radius: 5px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.modal__content_inr form{
    max-width: 58rem;
    margin: 0 auto;
}

.modal__content_inr .profileBasic__content .button-block{
    margin: 2rem auto 3.5rem;
}

.modal__icon{
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -3.5rem;
    z-index: 5;
    width: 7rem;
    height: 7rem;
}

.modal__icon.modal__icon--lock{
    top: -3rem;
    display: block;
    width: 6rem;
    height: 6rem;
}
.m_c_btn{
    position: absolute;
    right: 4rem;
    top: 4rem;
    transition: .3s;
	z-index: 999;
	width: 65px;
	cursor: pointer;
}
@media (hover: hover) {
    .m_c_btn:hover{
        opacity: 0.8;
    }    
}
body.modal-open {
    position: fixed;
    width: 100%;
    height: 100%;
}

.merit-list {
    counter-reset: merit-counter; 
    display: inline-block;
}

.merit-list__item {
    counter-increment: merit-counter;
}

.merit-list__num{
    width: 6rem;
    margin: 0 auto 1rem;
}

.merit-list__txt{
    line-height: 1.9;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
    text-align: center;
}

.merit-list__top, .merit-list__bottom {
    display: flex; /* フレックスボックスを使用 */
    justify-content: center; /* アイテムの間隔を均等に */
    margin-bottom: 20px; /* 上下のスペース */
    gap: 2rem 5rem;
    margin-bottom: 5rem;
}

.modal__content_inr .section__title{
    padding-top: 0;
}

.modal__content_inr .section__header{
    padding: 0;
}

.modal_layout_box{
    border: solid #111 2px;
    border-radius: 5px;
    position: relative;
    padding: 5rem;
    max-width: 70rem;
    margin: 0 auto;
}

.modal_layout_box-txt > p{
    font-size: 2rem;
    text-align: center;
    font-weight: var(--font-weight-extra-bold);
}

.modal_ly02 .modal__content_inr .section__header + .modal_layout_box{
    margin-top: 6rem;
}

.modal_layout_box .modal_layout_box-title{
    position: absolute;
    left: 0;
    right: 0;
    top: -0.9em;
    margin: 0 auto;
    font-size: 2.5rem;
}

.modal_layout_box .modal_layout_box-title div{
    background: #fff;
    color: #111;
    padding: 0 2rem;
    font-weight: var(--font-weight-extra-bold);
    display: inline-block;
}

.modal_layout_box .meritLoginFlow__head-num{
    width: 6rem;
    margin-right: 2rem;
}

.modal_layout_box .meritLoginFlow__head-tit{
    font-size: 1.6rem;
    font-weight: bold;
}

.modal_layout_box .meritLoginFlow__head{
    height: 6rem;
    max-width: 500px;
    margin:0 auto 3rem;
}

.modal_layout_box .meritLoginFlow__head:last-child{
    margin-bottom: 0;
}

.modal_ly02 .modal__content_inr .section__header{
    margin: 0 auto;
}

.modal_ly02 .modal__content_inr .section__header + form,
.modal_ly02 .modal__content_inr .section__header + .contactForm__section-wrap{
    margin-top: 5rem;
}

.modal_ly02 .modal__content_inr .section__header + .contactForm__section-wrap.mt6{
    margin-top: 6rem;
}

.contactForm__section-wrap + .modal_txt{
    font-size: 1.5rem;
    margin: 4.5rem auto 4rem;
    text-align: center;
}

.modal_ly02 .modal__content_inr .section__header .section__description{
    font-size: 1.5rem;
}

.modal_ly02 .button-wrapper{
    margin-top: 5rem;
}

#modal_free.modal_ly02 .modal__content_inr .section__header + form,
#modal_program.modal_ly02 .modal__content_inr .section__header + form{
    margin-top: 3rem;
}

.confirm_content_box_table{
    max-width: 55rem;
    margin: 5rem auto 0;
}

.confirm_content_box_table_tr{
    border-bottom: 1px solid #DDDDDD;
    padding:1em 0;
}

.confirm_content_box_table_tit{
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: 0.5em;
}

.confirm_content_box_table_txt{
    font-size: 1.5rem;
}

.contact_back_btn{
    text-decoration: underline;
    font-size: 1.5rem;
    text-align: center;
    transition: .3s;
    color: #888888;
    margin-top: 3.5rem;
    cursor: pointer;
}

@media screen and (max-width: 1000px){
    .merit-list__item{
        display: flex;
        justify-content: left;
        align-items: center;
        margin-bottom: 1rem;
    }

    .merit-list__top{
        margin-top: 0;
    }

    .merit-list__top, .merit-list__bottom{
        display: block;
        margin-bottom: 0;
    }

    .modal__content_inr{
        padding: 4.5rem 5% 5rem;
    }

    .merit-list__txt{
        text-align: left;
        font-size: 1.4rem;
        flex: 1;
    }

    .merit-list__txt br{
        display: none;
    }

    .merit-list__num{
        width: 4rem;
        max-width: 4rem;
        margin: 0;
        margin-right: 1.4rem;
    }

    .modal__content_inr .button-wrapper{
        margin-top: 4rem;
    }
    
    .modal__content_wp {
        min-height: auto;
        max-height: 85vh;
    }

    .modal_close{
        top: 1.5rem;
        right: 1rem;
    }

    .modal_ly02 .agree_btn{
        text-align: center;
    }
}

@media screen and (max-width: 750px){
    .modal_ly02 .modal__content_inr .section__header + form{
        margin-top: 3rem;
    }

    .modal_ly02 .contactForm__section-title{
        margin-bottom: 1.5rem;
    }

    .modal_layout_box .meritLoginFlow__head-num{
        width: 4rem;
        min-width: 4rem;
        margin-right: 2rem;
    }

    .modal_layout_box .meritLoginFlow__head-tit{
        font-size: 1.6rem;
        font-weight: bold;
        text-align: left;
    }

    .modal_layout_box .meritLoginFlow__head{
        height: 4rem;
        max-width: 500px;
        margin:0 auto 2.5rem;
        flex-wrap: nowrap;
    }

    .modal_layout_box .modal_layout_box-title{
        font-size: 1.8rem;
    }

    .modal_layout_box{
        padding: 3.5rem 2rem 3.5rem;
    }

    .modal_ly02 .modal__content_inr .section__header .section__description{
        font-size: 1.4rem;
    }

    .modal__icon{
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        top: -3.5rem;
        z-index: 5;
        width: 6rem;
        height: 6rem;
    }

    .modal_layout_box-txt > p{
        font-size: 1.6rem;
    }

    .contactForm__section-wrap + .modal_txt{
        font-size: 1.4rem;
        margin: 2rem auto 3rem;
        text-align: center;
    }

    .modal_ly02 .modal__content_inr .section__header + .contactForm__section-wrap.mt6 {
        margin-top: 4rem;
    }
}
/* ----------------------------------------------------------------------------------------------------
*  タイトル
* --------------------------------------------------------------------------------------------------*/
.Title_mid{
    text-align: center;
}

.Title_mid .Title_mid_en{
    display: inline-block;
    font-size: 3.5rem;
    font-weight: bold;
    color: #269DF1;
    position: relative;
    line-height: 1;
    z-index: 2;
    padding: 0 8px;
    margin-bottom: 4rem;
}

.Title_mid .Title_mid_en:after{
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1.8rem;
    background: #F5E42D;
    z-index: 0;

}

.Title_mid_en-txt{
    position: relative;
    z-index: 1;
}

.Title_mid_txt{
    position: relative;
    z-index: 0;
    font-size: 4rem;
    color: #269DF1;
    font-weight: bold;
}

.Title_sml{
    text-align: center;
    margin-bottom: 5rem;
}

.Title_sml_txt{
    text-align: center;
    font-size: 2.5rem;
    color: #269DF1;
    font-weight: bold;
}

.ly_title{
    padding: 18rem 0 10rem;
    text-align: center;
}

.ly_title p{
    font-size: 1.6rem;
    line-height: 2;
    text-align: left;
    margin-top: 5rem;
}

.ly_title .ly_title_tit-en{
    display: block;
    font-size: 3rem;
    color: #269DF1;
    font-weight: bold;
    margin-bottom: 3rem;
}

.ly_title .ly_title_tit{
    font-size: 5.2rem;
    color: #269DF1;
    font-weight: bold;
}

@media screen and (max-width: 1000px){
    .ly_title{
        padding: 12rem 0 5rem;
    }

    .ly_title .ly_title_tit-en{
        font-size: 2.4rem;
    }

    .ly_title .ly_title_tit{
        font-size: 4rem;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  ボタン
* --------------------------------------------------------------------------------------------------*/
/* ボタン全体のラッパー */
.button-wrapper {
    display: flex;
    align-items: center;
}

.job-cards .button-wrapper{
    margin-top: 5rem;
}

.section__content + .button-wrapper{
    margin-top: 5rem;
}

.block_center{
    justify-content: center;
}

/* 共通のボタンブロック */
.button-block {
    border-radius: 30px;
    overflow: hidden;
    width: 34rem;
    max-width: 100%;
    transition: .3s;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}

/* グラデーションのボタンスタイル (デザイン1) */
.button-block::after {
    position: absolute;
    left: 0;
    top: 0;
    width: 250%;
    height: 100%;
    background: linear-gradient(120deg, rgb(255 255 255 / 0) 0%, rgb(255 255 255 / 0) 40%, rgb(255 255 255 / 0.5) 50%, rgb(255 255 255 / 0) 100% );
    content: "";
    mix-blend-mode: overlay;
    opacity: 1;
    transition: left 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
@media (hover: hover) {
    .button-block:hover::after {
        left: -130%;
    }
}
.button-block--gradient {
    position: relative;
    overflow: hidden;
    transition: .3s;
    background: linear-gradient(120deg, 
        rgba(0, 160, 180, 1) 0%,      /* 青緑 */
        rgba(0, 57, 255, 1) 10%,      /* 青 */
        rgba(255, 218, 0, 1) 20%,     /* 黄色 */
        rgba(255, 29, 0, 1) 30%,      /* 赤 */
        rgba(215, 205, 0, 1) 40%,     /* 黄色 */
        rgba(6, 149, 0, 1) 50%,       /* 緑 */
        rgba(0, 160, 180, 1) 60%,     /* 青緑 */
        rgba(0, 57, 255, 1) 70%,      /* 青 */
        rgba(255, 218, 0, 1) 80%      /* 黄色 */
    );
    background-size: 1000% 100%;
    /*background-position: 20% 0%;*/
    animation: btnAnime 28s infinite cubic-bezier(0.76, 0, 0.24, 1);
}
.button-block--outline {
    position: relative;
    border-radius: 6rem;
    background: linear-gradient(120deg, 
        rgba(0, 160, 180, 1) 0%,      /* 青緑 */
        rgba(0, 57, 255, 1) 10%,      /* 青 */
        rgba(255, 218, 0, 1) 20%,     /* 黄色 */
        rgba(255, 29, 0, 1) 30%,      /* 赤 */
        rgba(215, 205, 0, 1) 40%,     /* 黄色 */
        rgba(6, 149, 0, 1) 50%,       /* 緑 */
        rgba(0, 160, 180, 1) 60%,     /* 青緑 */
        rgba(0, 57, 255, 1) 70%,      /* 青 */
        rgba(255, 218, 0, 1) 80%      /* 黄色 */
    );
    background-size: 1000% 100%;
    /*background-position: 20% 0%;*/
    animation: btnAnime 28s infinite cubic-bezier(0.76, 0, 0.24, 1);
}

.button-block__link {
    display: block;
    padding: 13px 20px 12px;
    font-family: "ryo-gothic-plusn", sans-serif, “Hiragino Sans W3”, “Hiragino Kaku Gothic ProN”, “ヒラギノ角ゴ ProN W3”, “メイリオ”, Meiryo, “ＭＳ Ｐゴシック”, “MS PGothic”;
    font-weight: 700;
    font-size: 2rem;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    z-index: 2;
    box-sizing: border-box;
    position: relative;
}

@keyframes btnAnime {
    0%,
    27% {
        background-position: 0% 0%;
    }

    32%,
    60% {
        background-position: 22.5% 0%;
    }

    65%,
    90% {
        background-position: 45% 0%;
    }

    100% {
        background-position: 67.5% 0%;
    }
}

.button-block--outline .button-block__link {
    color: #111;
    padding: 10px 20px 9px;
    cursor: pointer;
}

/* main のアニメーション */
@keyframes fadeInOutMain {
    0%, 32%  {
        opacity: 1; /* 最初の30%で不透明度1 */
    }
    34%, 93% {
        opacity: 0;
    }
    95% {
        opacity: 1;
    }
}

/* :after のアニメーション */
@keyframes fadeInOutAfter {
    0%, 29%  {
        opacity: 0; /* 最初の30%で透明 */
    }
    31%, 65% {
        opacity: 1; /* 7-14秒で不透明度1 */
    }
    67%, 100% {
        opacity: 0; /* 14-21秒で透明に戻る */
    }
}

/* :before のアニメーション */
@keyframes fadeInOutBefore {
    0%, 62% {
        opacity: 0; /* 7-14秒で不透明度1 */
    }
    64%, 92% {
        opacity: 1; /* 14-21秒で透明に戻る */
    }
    100% {
        opacity: 0; /* 14-21秒で透明に戻る */
    }
}

.button-block--green{
    background: linear-gradient(-45deg, #009123, #D6CE00);
}

.button-block--blue{
    background: linear-gradient(-45deg, #0050FF, #009EB2);
}

.button-block--orange{
    background: linear-gradient(-45deg, #FF4100, #FFDC00);
}

.button-block--outline .button-block__link{
    background: #fff;
    border-radius: 30px;
    margin: 3px;
    position: relative;
    z-index: 2;
    transition: .3s;
}

.flex_txt_c{
    display: flex;
    justify-content: center;
    gap: 0 0.5rem;
}

.flex_txt_c .flex_txt_c_icon{
    width: 2.4rem;
    height: 2.4rem;
}

.flex_txt_c .flex_txt_c_icon img{
    vertical-align: sub;
}

@media (hover: hover) {
    .button-block--outline:hover{
        background-position: right center;
    }
    
    .button-block--outline:hover:after{
        background-position: right center;
    }
    
    .button-block--outline:hover:before{
        background-position: right center;
    }    
}
/* 共通のリンクスタイル */
.button-block__link {
    display: block;
    padding: 13px 20px 12px;
    font-family: var(--font-family-ryo-gothic, "ryo-gothic-plusn", sans-serif);
    font-weight: var(--font-weight-bold, 700);
    font-size: 2rem;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: calc(100% - 6px);
}

/* アウトライン用のリンク色を変更 */
.button-block--outline .button-block__link {
    color: #111;
}

/* ホバースタイル */
.button-block--gradient:hover {
    /* box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); */
}

@media screen and (max-width: 1000px){
    .button-block__link{
        font-size: 1.6rem;
        padding: 12px 20px 11px;
    }
}

/* ===========================
    slick 
===========================*/
.slick-list{
    overflow: visible;
}

.slick-track {
    display: flex;
}

.slick-slide {
    height: auto !important;
}

.slick-slide{
    height: auto!important;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}

.js_c-slickSlide{
    position: relative;
}

.c-slickSlide__lowerArea {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: space-between;
    margin-top: 5rem;
}
/* slick-slide__nav */
.c-planSlickSlide__nav,
.c-bookMenuSlickSlide__nav {
    position: relative;
    display: flex;
    justify-content: end;
}
.c-slickSlide__nav {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
}
/* slick-dots */
.slick-dots {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
}
.slick-dots li {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 15%;
    height: 2px;
}

.js_customDotsWrap {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
}

.custom-dot{
    content: "";
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 15%;
    height: 2px;
    opacity: 0.1;
    text-indent: -9999px;
    background-color: #000;
    transition: background-color 0.2s;
}

.custom-dot.is-active{
    height: 2px;
    opacity: 1;
    background-color: #000;
}

.slick-dots button {
    display: block;
    width: 100%;
    height: 2px;
    opacity: 0.1;
    text-indent: -9999px;
    background-color: #000;
    transition: background-color 0.2s;
}
.slick-dots .slick-active button {
    height: 2px;
    opacity: 1;
    background-color: #000;
}
/* slick-dots end */

/* slick-arrow */
.c-planSlickSlide__arrow,
.c-bookMenuSlickSlide__arrow {
    position: absolute;
    top: 0;
    z-index: 2;
    display: inline-block;
    width: 3rem;
    height: 3rem;
    background-image: url('../images/icon/slide_arrow.png');
    background-size: 3rem 3rem;
    background-repeat: no-repeat;
    visibility: hidden;
}
.c-slickSlide__arrow {
    position: absolute;
    top: 0;
    z-index: 2;
    display: inline-block;
    width: 4rem;
    height: 4rem;
    background-image: url('../images/icon/slide_arrow.png');
    background-size: 4rem 4rem;
    background-repeat: no-repeat;
}
.c-planSlickSlide__arrow.-prev,
.c-bookMenuSlickSlide__arrow.-prev {
    left: 0;
    transform: translateX(0) translateY(-50%) rotate(180deg);
}
.c-slickSlide__arrow.-prev {
    left: 0;
    transform: translateX(0) translateY(-50%) rotate(180deg);
}
.c-planSlickSlide__arrow.-next,
.c-bookMenuSlickSlide__arrow.-next {
    right: 0;
    transform: translateX(0) translateY(-50%);
}
.c-slickSlide__arrow.-next {
    right: 0;
    transform: translateX(0) translateY(-50%);
}

.job-cards__item{
    margin: 3rem;
}

@media screen and (max-width: 1000px){
    .js-introduction_slick .slick-slide,
    .js-ranking_slick .slick-slide{
        margin-right: 1rem!important;
        margin-left: 1rem!important;
    }

    .c-slickSlide__arrow{
        width: 3rem;
        height: 3rem;
        background-size: cover;
    }

    .job-cards .slick-track{
        /* padding-top: 4rem; */
    }
}

.pc-tab{
    display: block;
}

.sp-tab{
    display: none;
}

.pc{
    display: block;
}

.sp{
    display: none;
}

@media screen and (max-width: 1000px){
    .pc{
        display: none;
    }

    .sp{
        display: block;
    }
}

@media screen and (max-width: 750px){
    .slick-dots{
        width: 15rem;
    }

    .pc-tab{
        display: none;
    }

    .sp-tab{
        display: block;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/
.l-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    border-bottom: 1px solid rgba(17, 17, 17,0.1);
    transition: .3s;
}

.l-header.active,
body.active .l-header{
    background: #fff;
    border-bottom: 1px solid rgba(17, 17, 17, 0.1);
}

body.-open .l-header{
    border: none;
}

.l-header.active .header__button--login,
body.active .l-header .header__button--login,
body.-open .l-header .header__button--login{
    background: #EFEFEF;
}

body.-fixed .header__button--login{
    background: #EFEFEF;
}

a.header__button--register{
    background: linear-gradient(120deg, 
        rgba(0, 160, 180, 1) 0%,      /* 青緑 */
        rgba(0, 57, 255, 1) 10%,      /* 青 */
        rgba(255, 218, 0, 1) 20%,     /* 黄色 */
        rgba(255, 29, 0, 1) 30%,      /* 赤 */
        rgba(215, 205, 0, 1) 40%,     /* 黄色 */
        rgba(6, 149, 0, 1) 50%,       /* 緑 */
        rgba(0, 160, 180, 1) 60%,     /* 青緑 */
        rgba(0, 57, 255, 1) 70%,      /* 青 */
        rgba(255, 218, 0, 1) 80%      /* 黄色 */
    );
    background-size: 1000% 100%;
    /*background-position: 20% 0%;*/
    animation: btnAnime 28s infinite cubic-bezier(0.76, 0, 0.24, 1);
    background-position: 0% 0%; /* 初期位置を左に */
    color: #fff;
    position: relative;
    overflow: hidden;
}

a.header__button--register::after {
    position: absolute;
    left: 0;
    top: 0;
    width: 250%;
    height: 100%;
    background: linear-gradient(120deg, rgb(255 255 255 / 0) 0%, rgb(255 255 255 / 0) 40%, rgb(255 255 255 / 0.5) 50%, rgb(255 255 255 / 0) 100% );
    content: "";
    mix-blend-mode: overlay;
    opacity: 1;
    transition: left 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}

@media (hover: hover) {
    a.header__button--register:hover::after {
        left: -130%;
    }
    .l-header.active a.header__button--register:hover{
        opacity: 1;
        background-position: right center;
    }
    
    body.active a.header__button--register:hover{
        opacity: 1; 
    }
    .button-block--gradient:hover,
    .l-header.active a.header__button--register:hover:after,
    .l-header.active a.header__button--register:hover:before,
    a.header__button--register:hover,
    a.header__button--register:hover:after,
    a.header__button--register:hover:before{
        background-position: right center;
    }
}
.header__button--register_bg{
    content: "";
    position: absolute;
    z-index: 5;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
}

.header__button_text{
    position: relative;
    z-index: 6;
}

.l-header.active .header__button--register_bg,
body.active .l-header .header__button--register_bg{
    opacity: 0;
}


.l-header__inr{
    padding: 1.5rem 2rem 1rem 3rem;
}

.l-header__top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.l-header__top-r{
    display: flex;
    align-items: center;
    gap: 3.5rem;
}

.header__nav-list{
    display: flex;
    font-size: 1.4rem;
    gap: 2.5rem;
}

.l-header_logo{
    width: 28rem;
}

.l-header_logo a img{
    vertical-align: -webkit-baseline-middle;
}

.header__nav-item a {
    font-weight: var(--font-weight-medium);
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 1.4rem;
    position: relative;
}

.header__nav-item a.-current:before{
    position: absolute;
    bottom: 0;
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #111;
}

.header__nav-item a p{
    font-weight: var(--font-weight-medium);
}

.header__buttons{
    display: flex;
    gap: 1rem;
}

.header__button{
    transition: .3s;
    min-width: 12rem;
    text-align: center;
    border-radius: 20px;
    background: #fff;
    font-size: 1.4rem;
    line-height: 4rem;
    font-weight: var(--font-weight-bold);
}


.header__button--login{
    background: #fff;
}

/* ユーザー */
.l-header__btm{
    display: flex;
    align-items: center;
    padding-top: 1rem;
    width: 100%;
    justify-content: space-between;
}

.l-header__disc{
    font-size: 1.3rem;
}

.user-box{
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-box__content{
    display: flex;
    align-items: center;
    gap: 6px;
}

.user-box__name{
    font-weight: var(--font-weight-bold);
    font-size: 1.2rem;
}

.user-box__honorifics{
    font-size: 1.2rem;
}

.user-box__icon{
    border-radius: 50%;
    overflow: hidden;
    width: 3rem;
    height: 3rem;
}

.user-box__icon img{
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.user-box_setting{
    padding: 0 1rem;
    padding-right: 0;
    font-size: 1.3rem;
    position: relative;
}

.user-box_setting:after{
    position: absolute;
    content: "";
    display: block;
    width: 1px;
    height: 1.3rem;
    background: #111;
    margin-left: 2px;
    top: 5px;
    left: 0;
}

.user-box_setting-link{
    transition: .3s;
    text-decoration: underline;
}

@media (hover: hover) {
    .user-box_setting-link:hover{
        opacity: 0.7;
    }
}

header .hum__button{
    display: none;
}

@media screen and (max-width: 1160px){
    .l-header__inr{
        padding: 1.5rem 1rem 1.5rem 2rem;
    }

    .header__nav{
        display: none;
    }

    .l-header__btm{
        display: none;
    }

    .l-header{
        border: none;
    }

    .l-header_logo{
        width: 22rem;
    }

    .l-header__btm{
        display: none;
    }

    header .hum__button{
        display: block;
        height: 3rem;
    }

    .header__button{
        line-height: 3rem;
        min-width: 9rem; 
    }

    .header__button--register{
        position: absolute!important;
        top: -9999999px;
    }

    .l-header__top-r{
        gap: 1rem;
    }
}

.humBlock__menberLogin{
    top: -9999999px;
    height: 6rem;
    width: 100%;
    position: fixed;
    text-align: center;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    transition: .3s;
}

.humBlock__menberLogin-link{
    text-align: center;
    line-height: 6rem;
    color: #fff;
    font-weight: var(--font-weight-extra-bold);
    font-size: 1.7rem;
    transition: .3s;
    z-index: 8;
    position: relative;
    display: block;
}

@media screen and (max-width: 1160px){
    .humBlock__menberLogin{
        display: block;
        top: auto;
        bottom: -6rem;
        transition: .5s;
    }

    body.active .humBlock__menberLogin{
        bottom: 0;
    }

    body.-open .humBlock__menberLogin{
        bottom: 0;
    }

    .non-login .footer{
        padding-bottom: 10rem;
    }
}

@media screen and (max-width: 800px){   
    .non-login .footer{
        padding-bottom: 12rem;
    }
}

@media screen and (max-width: 400px){
    .l-header_logo{
        width: 19rem;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  ハンバーガー
* --------------------------------------------------------------------------------------------------*/
button.hamButton {
    position: relative;
    z-index: 11;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: #111111;
    transition: background-color 0.3s;
    z-index: 999;
}
button.hamButton div.base {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1.5rem;
    height: 1rem;
}
button.hamButton div.base div.line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #FFF;
    transition: opacity 0.3s;
}
button.hamButton div.base div.line.-line1 {
    top: 0;
}
button.hamButton div.base div.line.-line2 {
    top: 50%;
    transform: translateY(-50%);
}
button.hamButton div.base div.line.-line3 {
    bottom: 0;
}
button.hamButton.-open {
    /* background-color: #f5f6f0; */
}
button.hamButton.-open div.base div.line {
    /* background-color: #4a28ff; */
}
button.hamButton.-open div.base div.line.-line2 {
    opacity: 0;
}
@media (hover: hover) {
    button.hamButton:hover div.line{
        width: 100%!important;
    }
}
@keyframes menu-open-top {
    0% {
        top: 0;
    }
    60% {
        top: 50%;
        transform: translateY(-50%);
    }
    100% {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
}
@keyframes menu-open-bottom {
    0% {
        bottom: 0;
    }
    60% {
        bottom: 50%;
        transform: translateY(50%);
    }
    100% {
        bottom: 50%;
        transform: translateY(50%) rotate(-45deg);
        width: 100%;
    }
}
@keyframes menu-close-top {
    0% {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    40% {
        top: 50%;
        transform: translateY(-50%);
    }
    100% {
        top: 0;
    }
}
@keyframes menu-close-bottom {
    0% {
        bottom: 50%;
        transform: translateY(50%) rotate(-45deg);
    }
    40% {
        bottom: 50%;
        transform: translateY(50%);
    }
    100% {
        bottom: 0;
    }
}

.humBlock{
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: -1;
    background: #fff;
}

.humBlock .user-box{
    flex-direction: row-reverse;
    justify-content: left;
}
.humBlock.-open{
    opacity: 1;
    z-index: 9;
}
.hd_subMenu{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2.5rem;
}

.hd_subMenu__item{
    font-size: 1.3rem;
}

.hd_subMenu__link{
    position: relative;
    transition: .3s;
}
@media (hover: hover) {
    .hd_subMenu__link:hover{
        opacity: 0.7;
    }
}
.hd_subMenu__link.-current:before{
    position: absolute;
    bottom: -3px;
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #111;
}
.humBlock__head_content{
    padding-top: 7.5rem;
    margin-bottom: 2.5rem;
}
.humBlock__head_content .l-header__disc{
    margin-bottom: 2rem;
}

.humBlock .hd_subMenu{
    margin-bottom: 3.5rem;
    width: 30rem;
}

.humBlock .hd_subMenu__item{
    min-width: 13rem;
    font-size: 1.4rem;
}

.humBlock__head{
    padding: 0 2rem;
}

.humBlock__menu-listWrap{
    border-top: 1px solid rgba(239,239,239,0.9);
}

.humBlock__menu-list{
    border-bottom: 1px solid rgba(239,239,239,0.9);
}

.humBlock__menu-text{
    font-size: 1.5rem;
    position: relative;
    font-weight: var(--font-weight-medium);
}

.humBlock__menu-item{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.humBlock__menu-list a{
    padding: 1.6rem 2rem;
    display: block;
    transition: .3s;
}
@media (hover: hover) {
    .humBlock__menu-list a:hover{
        opacity: 0.7;
    }    
}
.humBlock__menu-list a.-current .humBlock__menu-text:before{
    position: absolute;
    left: 0;
    bottom: -1px;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
}

.humBlock__menu-item .humBlock__menu-member{
    margin-top: -0.4rem;
}

/* セクションのスタイリング */
.section {
    padding: 4.5rem 0;
    text-align: center;
}

.sec--request{
    padding-bottom: 11rem;
}

.sec--request .section__header{
    margin-bottom: 3rem;
}

.section_inr{
    max-width: 1160px;
    padding-left: 5%;
    padding-right: 5%;
    margin: 0 auto;
}

.sec_column02__content{
    width: 50%;
    margin-bottom: 7rem;
}

.sec_column02__content:last-child{
    margin-bottom: 0;
}

.sec_column02 .section__header{
    text-align: left;
}

.section__header {
    max-width: 1160px;
    padding-left: 5%;
    padding-right: 5%;
    margin: 0 auto 5rem;
}

.application_page .section__header{
    margin-bottom: 3rem;
}

.ly_sec .section__header{
    padding-left: 0;
    padding-right: 0;
}

.section__title {
    font-weight: var(--font-weight-extra-bold);
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 3.6rem;
    padding-top: 2.1rem;
    line-height: 1.33;
}

.section__title.-en{
    font-size: 4rem;
}

.section__title.-en + .section__description{
    margin-top: 3rem;
}

.txac{
    text-align: center;
}

.section__title::before{
    display: block;
    content: "";
    background: url(../images/icon/title_icon.png) no-repeat;
    background-size: 100%;
    width: 6rem;
    height: 6rem;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
    position: absolute;
    z-index: -1;
}

.section__title-left{
    text-align: left;
}

.section__title.section__title-left::before{
    left: 0;
    right: auto;
    margin-right: auto;
}

.section__description {
    font-size: 1.5rem;
    text-align: center;
    line-height: 2;
    margin-top: 2.5rem;
}

.txt_left{
    text-align: left;
}

.section__content {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    justify-content: flex-start; /* 左寄せ */
    align-items: flex-start;  
}

.section__button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #000;
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
    font-size: 1.4rem;
    margin-top: 20px;
}

/* 汎用カードのスタイリング */
.card {
    flex: 0 1 calc((100% - 8rem) / 3);
    background-color: #fff;
    text-align: center;
    position: relative;
}

.anker_link{
    transition: .3s;
}
@media (hover: hover) {
    .anker_link:hover{
        opacity: 0.7;
    }
}
.card__link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: .3s;
}
@media (hover: hover) {
    .card__link:hover{
        opacity: 0.7;
    }
}
.card__image-wrapper {
    position: relative;
}
.cards__icon{
    top: -1.5rem;
    left: -1.5rem;
    position: absolute;
    display: block;
    width: 6rem;
    height: 6rem;
    z-index: 5;
}

.card__image {
    width: 100%;
    aspect-ratio: 3/2;
    border-radius: 3px!important;
    overflow: hidden;
}

.card__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    object-position: 50% 50%;
    transition: .3s;
}
@media (hover: hover) {
    .card__image .card__link img:hover{
        transform: scale(1.05);
    }
}
/* 会員限定アイコン */
.card__icon-lock {
    position: absolute;
    top: 8px;
    left: 8px;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 4px;
    border-radius: 50%;
}
.card__icon-lock img {
    width: 16px;
    height: 16px;
}
/* 著者情報 */
.card__author-info {
    position: absolute;
    right: 8px;
    bottom: -6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4px 8px;
    border-radius: 12px;
}

.card__author-icon-wrapper {
    width: 6rem;
    height: 6rem;
    margin: 0 auto;
    border: solid 3px #fff;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}

.card__author-icon {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-card__title{
    font-size: 2rem;
    font-weight: var(--font-weight-extra-bold);
}


.article-card__title{
    display: -webkit-box; 		
    -webkit-line-clamp: 4; 		
    -webkit-box-orient: vertical; 		
    overflow: hidden;
}


.article-card__link{
    transition: .3s;
}

@media (hover: hover) {
    .article-card__link:hover{
        opacity: 0.7;
    }
}
.card__author {
    margin-top: 5px;
    font-size: 1.2rem;
    text-align: center;
}

/* ラベルとコンテンツ */
.card__labels {
    list-style: none;
    padding: 0;
    margin: 0 0 8px;
    display: flex;
    gap: 4px;
    justify-content: left;
}

.card__content .card__labels{
    margin-top: 3rem;
}

.card__label {
    display: inline-block;
    text-align: center;
    padding:0.2rem 1.5rem 0.1rem;
    font-size: 1.4rem;
    line-height: 1;
    border-radius: 3px;
    line-height: 1.3;
    min-width: 8rem;
    border: solid 2px #111111;
    font-weight: var(--font-weight-extra-bold);
}

.card__label .card__link{
    text-align: left;
}

/* .card__label--locked {
    background-color: #d9534f;
}

.card__label--event {
    background-color: #000;
}

.card__label--category {
    background-color: #0073e6;
} */

.card__title {
    font-size: 2rem;
    margin: 2rem 0 0;
    line-height: 1.75;
    font-weight: var(--font-weight-extra-bold);
}

.card__title-interviewee-name{
    margin-top: 0.5em;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
}

.card__date {
    font-size: 1.4rem;
    color: #888;
    margin-top: 2rem;
}

.card__tags{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    margin-top: 1.5rem;
    font-size: 1.4rem;
}

.tag__link{
    text-decoration: underline;
    color: #888888;
    transition: .3s;
}

@media (hover: hover) {
    .tag__link:hover{
        opacity: 0.7;
    }
}

.meritSec .section__title::before{
    display: none;
}

@media screen and (max-width: 1160px){
    .article-card{
        flex-direction: column;
    }

    .article-card__image-wrapper{
        width: 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 1000px){
    .section{
        padding: 3rem;
    }

    .section__header{
        margin-bottom: 3rem;
    }

    .application_page .section__header{
        margin-bottom: 2rem;
    }

    .section__title{
        font-size: 2.3rem;
    }

    .section__title::before{
        height: 4rem;
        width: 4rem;
    }

    .section__description{
        font-size: 1.4rem;
        margin-top: 2rem;
    }

    .card__content{
        padding: 2rem 5% 0;
    }
    
    .section_inr{
        padding: 3rem 0;
        overflow: hidden;
    }
    
    .slide_cards{
        display: block;
        width: 100%;
    }

    .Lyslide_cards{
        display: flex;
        flex-direction: column;
        flex-wrap: unset;
    }

    .Lyslide_cards .card{
        flex: 1 1;
        width: 100%;
    }

    .slide_cards + .wrapper,
    .case-introduction__content + .wrapper{
        margin-bottom: 4rem;
    }

    .card__content .card__labels{
        margin-top: 0;
    }

    .card__image{
        border-radius: 0px!important;
    }

    .sec--consultation .section__content{
        margin-top: 5rem;
    }

    .cards__icon {
        margin: 0 auto;
        top: -3rem;
        left: 0;
        right: 0;
        position: absolute;
        display: block;
        border-radius: 50%;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
    }

    .card__author-info{
        bottom: -5rem;
    }

    .ly_sec{
        padding-left: 5%;
        padding-right: 5%;
    }

    .sec--request{
        margin-bottom: 3rem;
    }

    .article-card__title{
        font-size: 1.7rem;
    }

    .section__title.-en{
        font-size: 2.6rem;
    }
    
    .section__title.-en + .section__description{
        margin-top: 3rem;
    }

    .card__title-interviewee-name{
        font-size: 1.4rem;
    }
}


@media screen and (max-width: 750px){
    .cards__icon{
        top: -2.5rem;
        left: 0;
        right: 0;
        width: 5rem;
        height: 5rem;
        border-radius: 50%;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
    }

    .article-card__title{
        -webkit-line-clamp: 2;
        height: 3em;
    }

    .article-card__title{
        display: -webkit-box;
        -webkit-line-clamp: 5; /* 表示する行数 */
        -webkit-box-orient: vertical;
        overflow: hidden;
        height: auto;
    }
}

@media screen and (max-width: 480px){
    .card__label{
        padding: 0.2em 0.5em 0.1rem;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  案件
* --------------------------------------------------------------------------------------------------*/
.meritSec{
    margin: 4rem auto;
    box-sizing: content-box;
    max-width: 1000px;
    overflow: visible;
}

.sec_column02__content{
    display: flex;
    width: 100%;
    gap: 5rem;
}

.sec_column02__content .section__header{
    padding: 0;
}

.meritSec .section__header{
    position: relative;
    width: 39rem;
}

.meritSec .section__title{
    font-size: 3.6rem;
    padding-left: 10rem;
}

.meritSec__textcon{
    flex: 1;
}

.meritSec .section__header .section__header-icon{
    position: absolute;
    height: 18rem;
    width: 18rem;
}

.meritSec__textcon .button-wrapper{
    margin-top: 3rem;
}

.meritSec__textcon .section__description{
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
    margin-top: 0;
}

.section__description a{
    transition: .3s;
    text-decoration: underline;
}

@media (hover: hover) {
    .section__description a:hover{
        opacity: 0.7;
    }
}

@media screen and (max-width: 1000px){
    .meritSec{
        padding: 0 5%;
        box-sizing: border-box;
    }
    
    .featured{
        box-sizing: border-box;
    }
}

@media screen and (max-width: 750px){
    .featured{
        padding: 3rem 0;
    }

    .sec_column02__content{
        flex-direction: column;
        gap: 0;
        margin-bottom: 13vw;
    }

    .meritSec{
        margin-top: 13vw;
    }

    .meritSec .section__header{
        min-width: 100%;
        width: 100%;
    }

    .meritSec .section__title{
        font-size: 6.3vw;
        padding-left: 23.6vw;
    }

    .meritSec .section__header .section__header-icon{
        height: 27.7vw;
        width: 27.7vw;
        bottom: 0;
    }

    .meritSec__textcon .button-wrapper{
        justify-content: center;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  案件
* --------------------------------------------------------------------------------------------------*/
/* Base styles */
.featured{
    width: 100%;
    overflow: hidden;
}

.job-cards {
    padding: 20px 0;
}

.job-cards__wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Individual job card styles */
.job-cards__item {
    width: 51rem;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 3px;
    position: relative;
    background: #EFEFEF;
    padding: 5rem 2.5rem;
    transition: 0.3s;
    cursor: pointer;
}

@media (hover: hover) {
    .job-cards__item:hover{
        opacity: 0.7;
    }
}

.job-cards__link {
    display: block;
    text-decoration: none;
}

.job-cards__header {
    display: flex;
    align-items: center;
}

.job-cards__icon{
    margin: 0 auto;
    top: -3rem;
    left: 0;
    right: 0;
    position: absolute;
    display: block;
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}

.job-cards__title {
    font-size: 2.5rem;
    font-weight: bold;
    margin: 0 0 2.5rem;
}

.job-cards__content__title{
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
}

.job-cards__description {
    font-size: 1.5rem;
    margin-bottom: 12px;
}

.job-cards__price {
    font-size: 1em;
    font-weight: bold;
    color: #333;
}

/* Hover effect */
/* .job-cards__item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
} */

@media screen and (max-width: 1000px){
    .job-cards{
        padding-top: 0;
    }

    .job-cards__title{
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }

    .job-cards__content__title{
        font-size: 1.4rem;
    }

    .job-cards__description{
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 750px){
    .featured{
        padding: 3rem 0;
    }

    .job-cards__icon{
        top: -2.5rem;
        left: 0;
        right: 0;
        width: 5rem;
        height: 5rem;
        border-radius: 50%;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
    }
}

@media screen and (max-width: 750px){
    .job-cards__item{
        width: 100%;
        margin: 0 1rem;
        margin-top: 4rem;
        padding: 4rem 2rem;
    }
}


/* ----------------------------------------------------------------------------------------------------
*  バナー
* --------------------------------------------------------------------------------------------------*/
.default_inr{
    max-width: 1160px;
    margin: 0 auto;
    padding-left: 5%;
    padding-right: 5%;
    /* box-sizing: border-box; */
}

.default_inr img{
    user-drag: none;
    -webkit-user-drag: none;
    -moz-user-select: none;
}

/* .about_page .default_inr{
    box-sizing: border-box;
} */


/* ----------------------------------------------------------------------------------------------------
*  案件カード
* --------------------------------------------------------------------------------------------------*/
.case-introduction__header {
    text-align: center;
}

.case-introduction__title {
    font-size: 24px;
    font-weight: bold;
}

.case-introduction__content {
    display: flex;
    flex-wrap: wrap;
    gap: 6rem;
}

.case-introduction__content + .button-wrapper{
    margin-top: 5rem;
}

.case-card {
    padding: 4.5rem 3rem 5rem;
    border: 1px solid #ddd;
    box-sizing: border-box;
    width: calc((100% - 6rem)/2);
    /* width: calc(50% + 0.5px);  */
    margin-bottom: -1px;
    margin-left: -1px;
    transition: .3s;
}

@media (hover: hover) {
    .case-card:hover{
        background: #EFEFEF;
    }
}
.case-card__category {
    text-align: left;
    font-weight: var(--font-weight-bold);
}

.case-card__category-label {
    position: relative;
    overflow: hidden; /* 擬似要素が親要素を超えないように */
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 1.4rem;
    line-height: 1;
    display: inline-block;
    background: linear-gradient(120deg, 
    rgba(0, 160, 180, 1) 0%,      /* 青緑 */
    rgba(0, 57, 255, 1) 10%,      /* 青 */
    rgba(255, 218, 0, 1) 20%,     /* 黄色 */
    rgba(255, 29, 0, 1) 30%,      /* 赤 */
    rgba(215, 205, 0, 1) 40%,     /* 黄色 */
    rgba(6, 149, 0, 1) 50%,       /* 緑 */
    rgba(0, 160, 180, 1) 60%,     /* 青緑 */
    rgba(0, 57, 255, 1) 70%,      /* 青 */
    rgba(255, 218, 0, 1) 80%      /* 黄色 */
    );
    background-size: 1000% 100%;
    /*background-position: 20% 0%;*/
    animation: btnAnime 28s infinite cubic-bezier(0.76, 0, 0.24, 1);
}

.case-card__category-label-text{
    color: white;
    font-size: 1.4rem;
    position: relative;
    z-index: 2;
    line-height: 1;
}

.case-card__body {
    text-align: left;
}

.case-card__title {
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: 2rem;
}

.case-card__description {
    font-size: 1.5rem;
    line-height: 2;
}

@media screen and (max-width: 1000px){
    .case-introduction__content {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: calc(100% - 10%);
        margin: 0 auto;
        gap: 3rem;
    }

    .case-card{
        padding: 2rem;
        width: calc((100% - 3rem)/2);
    }

    .card__date{
        margin-top: 1rem;
        font-size: 1.3rem;
    }

    .card__label{
        font-size: 1.3rem;
    }

    .card__tags{
        font-size: 1.3rem;
        gap: 1rem 1.5rem;
    }

    .case-card__title{
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
    }

    .case-card__category-label{
        font-size: 1.3rem;
    }

    .case-card__description {
        font-size: 1.4rem;
        line-height: 1.75;
    }
}

@media screen and (max-width: 750px){
    .case-introduction__content{
        flex-direction: column;
    }
    
    .case-card{
        width: 100%;
    }

    .card__title{
        font-size: 1.7rem;
        line-height: 1.7;
        margin: 0;
    }

}
/* ----------------------------------------------------------------------------------------------------
*  ファーストビュー
* --------------------------------------------------------------------------------------------------*/
.main-view{
    /* background: linear-gradient(-30deg, #009123, #D6CE00); */
    width: 100%;
    position: relative;
    margin-bottom: 4rem;
}

.mv__bg-wrap{
    position: relative;
    z-index: -1;
}

.mv_bg__layer{
    width: 100%;
    position: absolute;
    top: 0;
    /*mix-blend-mode: hue;*/
}

.mv_bg__layer.-layer01{
    position: relative;
    animation: fadeInOutMain 28s infinite;
}

.mv_bg__layer.-layer02{
    animation: fadeInOutAfter 28s infinite;
}

.mv_bg__layer.-layer03{
    animation: fadeInOutBefore 28s infinite;
}

.main-view .button-block{
    box-shadow: none;
}

.mv__bg{
    min-height: 60rem;
    top: 0;
    width: 100%;
    object-fit: cover;
    object-position: bottom right;
}


.mv_bg__layer.-layer02{
    animation: fadeInOutAfter 28s infinite;
}

.mv_bg__layer.-layer03{
    animation: fadeInOutBefore 28s infinite;
}

.main-view__inr{
    position: absolute;
    top: 11vw;
    max-width: 90%;
    left: 0;
    right: 0;
    z-index: 6;
    margin: 0 auto;
}

.member-bnr__inr .button-block{
    box-shadow: none!important;
}

.login_spacer{
    height: 6rem;
}

.main-view::after{
    content: "";
    display: block;
}

.main-view__mid-txt{
    font-size: 4.5vw;
    color: #fff;
    font-weight: var(--font-weight-bold);
    transition: .1s;
}

.main-view__mid-txt br{
    display: none;
}

.main-view__large-txt{
    font-size: 6.1vw;
    line-height: 1;
    margin-bottom: 4rem;
    color: #fff;
    font-weight: var(--font-weight-bold);
    transition: .1s;
}

.main-view__subcatch{
    font-size: 2.3vw;
    color: #fff;
    font-weight: var(--font-weight-bold);
    transition: .1s;
}

.main-view__large-txt.about_large-txt{
    margin-bottom: 2.5rem;
}

.main-view__inr .button-block{
    width: 24rem;
}

.member-bnr{
    padding: 0 2rem;
}

.member-bnr__inr{
    height: 22rem;
    max-width: 1160px;
    margin: 4rem auto 6rem;
    box-sizing: content-box;
    position: relative;
    overflow: hidden;
}

.member-bnr__bg{
    height: 22rem;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.member-bnr__inr img{
    object-fit: cover;
    object-position: bottom right;
    position: absolute;
    left: 0;
    top: 0;
    width: 1160px;
    height: 100%;
}

.member-bnr__inr{
    transition: .3s;
    display: block;
}

@media (hover: hover) {
    .member-bnr__inr:hover{
        opacity: 0.7;
    }    
    .member-bnr__inr .button-block--gradient:hover,
    .member-bnr__inr .button-block--gradient:hover:after,
    .member-bnr__inr .button-block--gradient:hover:before{
        background-position: left center;
    }

    .member-bnr__inr:hover .button-block--gradient,
    .member-bnr__inr:hover .button-block--gradient:after,
    .member-bnr__inr:hover .button-block--gradient:before{
        background-position: right center;
    }
}
.member-bnr__wp{
    display: flex;
    align-items: center;
    height: 100%;
    padding-left: 8rem;
    position: relative;
    z-index: 8;
}

.member-bnr__title{
    position: relative;
    z-index: 8;
}

.member-bnr__wp h3{
    color: #fff;
    font-size: 3rem;
    margin-bottom: 2rem;
    line-height: 1.53;
    font-weight: var(--font-weight-bold);
}

.member-bnr__title .button-block{
    max-width: 24rem;
}

.member-bnr__title .button-block__link{
    font-size: 1.7rem;
    padding: 11px 20px 12px;
}

.member-bnr__bg-item img{
    user-drag: none;
    -webkit-user-drag: none;
    -moz-user-select: none;
}

.bg-item_layer02{
    animation: fadeInOutAfter 28s infinite;
}

.bg-item_layer03{
    animation: fadeInOutBefore 28s infinite;
}

.mv_img_pc{
    position: static;
    left: 0;
}

.mv_img_sp{
    position: absolute;
    top: -9999999px;
    left: 0;
}

@media screen and (max-width: 1160px){
    .main-view__inr{
        top: 9vw;
    }
}

@media screen and (max-width: 1000px){
    .main-view__inr{
        max-width: 90%;
    }

    .member-bnr__wp h3{
        font-weight: var(--font-weight-bold);
    }
}

.member-bnr__bg_pc{
    height: 100%!important;
}

.member-bnr__bg_sp{
    height: 0!important;
}

.mv__bg.pc{
    height: 100%!important;
}

.mv__bg.sp{
    height: 0!important;
}

.mv_img_pc-tab{
    display: block;
}

.mv_img_sp-tab{
    display: none;
}

@media screen and (max-width: 1080px){
    .mv_img_pc-tab{
        display: none;
    }
    
    .mv_img_sp-tab{
        display: block;
    }
}

@media screen and (max-width: 750px){
    .mv_img_pc{
        position: absolute;
        top: -99999999px;
        display: none;
    }
    
    .mv_img_sp{
        position: static;
        display: block;
    }

    .mv__bg{
        width: 100%;
        min-height: auto;
        object-fit: cover;
        object-position: bottom right;
    }

    .mv__bg.pc{
        height: 0!important;
    }

    .mv__bg.sp{
        height: 100%;
    }

    .main-view__mid-txt br{
        display: block;
    }

    .main-view__inr{
        top: 20vw;
        max-width: 90%;
    }

    .about_page .main-view__inr{
        top: 14vw;
    }

    .main-view{
        margin-bottom: 1rem;
    }

    .member-bnr__wp{
        position: absolute;
        display: block;
        padding-left: 0;
        left: 2rem;
        top: 10vw;
        z-index: 8;
    }

    .member-bnr{
        margin: 2rem 5%;
        padding: 0;
    }

    .member-bnr__inr{
        height: auto;
        background: url(../images/bnr/ft_bnr_sp.png)no-repeat center;
        background-size: cover;
        width: 100%;
        aspect-ratio: 1/1;
        margin: 4rem auto 2rem;
    }    

    .member-bnr__bg{
        height: auto;
        width: 100%;
        aspect-ratio: 1/1;
        position: absolute;
        top: 0;
        left: 0;
    }

    .member-bnr__wp h3{
        font-size: 5.83vw;
        margin-bottom: 2.5rem;
        font-weight: var(--font-weight-bold);
    }

    .member-bnr__title .button-block{
        width: 24rem;
        max-width: 100%;
        min-width: auto;
    }

    .member-bnr__bg_sp{
        height: 100%!important;
    }
    
    .member-bnr__bg_pc{
        height: 0!important;
    }

    .main-view__mid-txt{
        font-size: 7.77vw;
        line-height: 1.56;
    }

    .main-view__large-txt{
        font-size: 11.1vw;
        margin-top: 1rem;
    }

    .main-view__large-txt.about_large-txt{
        margin-bottom: 2.8vw;
    }

    .main-view__subcatch{
        font-size: 4vw;
    }
}
/* ----------------------------------------------------------------------------------------------------
*  ランキング
* --------------------------------------------------------------------------------------------------*/
.article-introduction__content{
    counter-reset: card-counter;
    display: flex;
    flex-wrap: wrap;
    gap: 6rem;
    justify-content: space-between;
}

.article-card{
    position: relative;
    counter-increment: card-counter;
    box-sizing: border-box;
    display: flex;
    width: calc(50% - 3rem);
    gap: 2rem;
    padding: 2.5rem;
    background: #EFEFEF;
    transition: .3s;
    cursor: pointer;
}

@media (hover: hover) {
    .article-card:hover{
        background: #f9f9f9;
    }    
}

.article-card:after{
    position: absolute;
    content: attr(data-ranking);
    display: block;
    border-radius: 50%;
    width: 6rem;
    height: 6rem;
    line-height: 6rem;
    font-size: 2.2rem;
    top: -2rem;
    left: -2rem;
    background: #5A5A5A;
    color: #fff;
    font-weight: var(--font-weight-extra-bold);
    font-family: "Metric", sans-serif;
    font-weight: 500;
}

.article-card.ranking_1:after{
    background: #D6AD5B;
    background: linear-gradient(-45deg, #C2921C, #D6AD5B);
}

.article-card.ranking_2:after{
    background: linear-gradient(-45deg, #8D8D8D, #CECECE);
}

.article-card.ranking_3:after{
    background: linear-gradient(-45deg, #9A806C, #B09D8D);
}

.article-card__image-wrapper{
    max-width: 18rem;
}

.article-card__image-wrapper .article-card__link img{
    object-fit: cover;
    aspect-ratio: 3/2;
    object-position: center;
    width: 100%;
}

.article-card__content{
    flex: 1;
}

.article-card__author-info{
    order: 3;
    width: 9rem;
}

.article-card__content_wp{
    display: contents;
}


@media screen and (max-width: 1160px){
    .article-card__image-wrapper{
        width: 100%;
        max-width: 100%;
    }

    .article-card{
        gap: 0 2rem;
    }

    .article-card__author-info{
        display: flex;
        align-items: end;
        justify-content: center;
    }
    
    .article-card__content_wp{
        display: flex;
        gap: 0 1rem;
    }

    .article-card__content{
        width: 100%;
        margin-top: 2rem;
    }
}

@media screen and (max-width: 1000px){
    .sec--member-columns .section__content .card{
        flex: 100%;
    }

    .sec--member-columns .card__title{
        margin-top: 0;
    }
    
    .article-introduction{
        width: 100%;
        overflow: hidden;
    }

    .article-introduction__content{
        display: block;
        width: 100%;
    }

    .article-card{
        display: block!important;
        flex-wrap: wrap;
        gap: 1.5rem 1rem;
    }

    .article-card__link{
    }

    .article-card__author-info{
        display: flex;
        align-items: end;
        justify-content: center;
    }

    .article-card:after{
        width: 4rem;
        height: 4rem;
        line-height: 4rem;
        top: -1rem;
        left: -1rem;
        font-size: 2rem;
    }
}


/* author スライダー */
.article-writer{
    overflow: hidden;
    width: 100%;
}

.writer-card{
    margin: 0 2rem;
}

.writer-card-icon-wrapper{
    width: 18rem;
    height: 18rem;
    border: solid 5px #fff;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}

.card__author_name{
    font-size: 1.5rem;
    text-align: center;
    margin-top: 1rem;
}

@media screen and (max-width: 1000px){
    .article-writer{
        padding: 4rem 0;
    }
}

@media screen and (max-width: 750px){
    .writer-card{
        margin: 0 0.5rem;
    }    

    .writer-card-info{
        min-width: 10rem;
    }
    
    .writer-card-icon-wrapper{
        width: 8rem;
        height: 8rem;
        margin: 0 auto;
    }

    .card__author_name{
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 450px){
    .article-card__author-info{
        width: 7rem;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  フッター
* --------------------------------------------------------------------------------------------------*/
.footer{
    background: #EFEFEF;
    padding: 5rem 0 3rem;
}

.footer__inr{
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 5%;
}

.footer__container{
    display: flex;
    justify-content: space-between;
}

/* フッターロゴ */
.footer__logo{
    width: 37.5rem;
}

.footer__tagline{
    margin-top: 2rem;
    font-size: 1.8rem;
    font-weight: var(--font-weight-bold);
}

.footer__links-list{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2.5rem;
}

.footer__copy{
    text-align: right;
    font-size: 1.1rem;
    color: #aaa;
}

.footer_links-wrap{
    display: flex;
    margin-top: 3.5rem;
    gap: 1rem 3rem;
}

.footer__nav-list{
    display: flex;
    flex-wrap: wrap;
    font-size: 1.4rem;
    gap: 1rem 2.5rem;
}

.footer__sns{
    display: flex;
    align-items: center;
    gap: 1.4rem;
}

.footer__sns-icon--facebook{
    width: 2rem;
}

.footer__sns-icon--x{
    width: 1.8rem;
}

.footer__links-item{
    font-size: 1.3rem;
}

.footer__nav-item a{
    font-weight: var(--font-weight-medium);
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 1.4rem;
}

.footer__icon--lock{
    width: 1rem;
    display: block;
    margin-top: -2px;
}

.footer__icon--lock img{
    vertical-align: middle;
}

.footer__logo-wrap + .footer__nav{
    margin-top: 5rem;
}


.footer__container_r{
    display: flex;
    -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
    gap: 4rem;
}

.footer__buttons{
    display: flex;
    gap: 1rem;
}

.footer__button{
    min-width: 18rem;
    text-align: center;
    border-radius: 20px;
    background: #fff;
    font-size: 1.4rem;
    line-height: 4rem;
    font-weight: var(--font-weight-bold);
}

.footer__button--register{
    background: #000;
    color: #fff;
}

.footer__scroll-top{
    width: 6rem;
    position: relative;
    top: -1rem;
}

.footer__bottom{
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-top: 2rem;
}

.footer__bottom__sns-wp .footer__sns{
    display: none;
}

@media screen and (max-width: 1040px){
    .footer__container{
        flex-wrap: wrap;
    }

    .footer__container_r{
        margin-top: 3.5rem;
        width: 100%;
        justify-content: space-between;
    }

    .footer__logo{
        width: 28rem;
    }

    .footer__tagline{
        font-size: 1.6rem;
        margin-top: 1.5rem;
    }
}

@media screen and (max-width: 800px){
    .footer{
        padding: 4.5rem 0 4rem;
    }

    .footer__nav-list{
        flex-direction: column;
    }

    .footer_links-wrap .footer__sns{
        display: none;
    }

    .footer__button{
        min-width: 11rem;
    }    

    .footer__scroll-top{
        width: 5rem;
    }

    .footer__logo-wrap + .footer__nav{
        margin-top: 4rem;
    }

    .footer_links-wrap{
        margin-top: 2.5rem;
    }

    .footer__container_r{
        margin-top: 2.5rem;
    }


    .footer__bottom__sns-wp{
        align-items: center;
    }

    .footer__bottom__sns-wp .footer__sns{
        display: flex;
    }

    .footer__links-list{
        gap: 1rem 1.5rem;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  下層ページ
* --------------------------------------------------------------------------------------------------*/
.layerWrap{
    padding: 21rem 0 10rem;
    width: 90%;
    max-width: 70rem;
    margin: 0 auto;
}

.layerWrap02{
    max-width: 1160px;
    width: 90%;
    padding: 21rem 0 10rem;
    margin: 0 auto;
}

.layerWrap .section__header{
    max-width: 70rem;
    margin: 0 auto;
    padding: 0;
}

.Ly__title{
    font-size: 4.8rem;
}

.small__inr{
    max-width: 70rem;
    margin: 0 auto;
}

.term-page__section--disc-txt{
    font-size: 1.5rem;
    line-height: 2;
}

.term-page__header {
    text-align: center;
}

.term-page__title {
    font-size: 24px;
    margin-bottom: 10px;
}

.term-page__section{
    margin: 4rem 0;
}

.term-page__section:last-child{
    margin-bottom: 0;
}


.term-page__link {
    display: inline-block;
    color: #888888;
    text-decoration: underline;
    font-size: 1.5rem;
    line-height: 2;
    transition: .3s;
}

@media (hover: hover) {
    .term-page__link:hover{
        opacity: 0.7;
    }
}

.term-page__paragraph{
    font-size: 1.5rem;
    line-height: 2;
}

.term-page__section-title{
    font-size: 2.4rem;
    line-height: 1.75;
    font-weight: var(--font-weight-bold);
    margin-bottom: 2rem;
}

.privacy-page__list-item,
.term-page__list-item,
.term-page__ul-item{
    position: relative;
    font-size: 1.5rem;
    line-height: 2;
    padding-left: 3.5rem;
}

.term-page__list {
    counter-reset: list-counter;
    margin-top: 2rem;
}

.term-page__ul{
    margin-top: 2rem;
}

.privacy-page__list {
    counter-reset: dot-list;
    margin-top: 4.5rem;
}
  
.term-page__list-item::before {
    counter-increment: list-counter;
    content: "（"counter(list-counter) "）";
}

.term-page__ul-item::before{
    content: "● ";
}

.privacy-page__list-item::before {
    counter-increment: dot-list;
    content: counter(dot-list) ".";
}

.privacy-page__list-item::before,
.term-page__list-item::before,
.term-page__ul-item::before{
    position: absolute;
    left: 0;
    line-height: 2;
}

.privacy__section{
    margin-bottom: 4rem;
}

.privacy__paragraph{
    font-size: 1.5rem;
    line-height: 2;
    margin-top: 2rem;
    line-height: 1.6;
}

.layerWrap .section__header.privacy-top_spacer{
    margin-top: 5rem;
}

.bold_txt{
    font-weight: var(--font-weight-bold);
}

.privacy__section-title{
    font-weight: var(--font-weight-bold);
    font-size: 2.5rem;
    line-height: 1.6;
}

.security_sec{
    margin-top: 8rem;
}

.privacy__content02{
    margin-top: 2rem;
}

.security_sec .privacy__content02{
    margin-top: 4rem;
}

.security_sec .term-page__list{
    margin-top: 4rem;
}

.privacy__list-item,
.privacy__paragraph02{
    font-size: 1.5rem;
    line-height: 2;
}

.right_txt .privacy__paragraph02{
    text-align: right;
}

@media screen and (max-width: 1160px){
    .layerWrap{
        padding: 12rem 0 10rem;
    }

    .layerWrap02{
        padding: 12rem 0 6rem;
    }
}

@media screen and (max-width: 1000px){
    .layerWrap{
        padding: 12rem 0 5.5rem;
    }

    .Ly__title{
        font-size: 2.8rem;
    }

    .privacy__section{
        margin-bottom: 2.5rem;
    }

    .privacy__section-title{
        font-size: 1.7rem;
        line-height: 1.7;
    }

    .term-page__section-title{
        font-size: 1.7rem;
        line-height: 1.7;
    }

    .term-page__section{
        margin: 3rem 0;
    }

    .term-page__list-item, 
    .term-page__ul-item{
        padding-left: 3rem;
    }

    .privacy-page__list-item{
        padding-left: 2rem;
    }

    .privacy-page__list{
        margin-top: 3rem;
    }

    .privacy-page__list-item,
    .term-page__section--disc-txt,
    .privacy__paragraph,
    .privacy__list-item, 
    .privacy__paragraph02,
    .term-page__list-item, 
    .term-page__ul-item,
    .term-page__paragraph{
        font-size: 1.4rem;
        line-height: 1.78;
    }

    .security_sec{
        margin-top: 5rem;
    }

    .term-page__link {
        font-size: 1.4rem;
        line-height: 1.78;
    }
    
    .privacy-page__list-item::before,
    .term-page__list-item::before,
    .term-page__ul-item::before{
        position: absolute;
        left: 0;
        line-height: 1.78;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  お問い合わせフォーム
* --------------------------------------------------------------------------------------------------*/
.Lytitle-wrap{
    margin-bottom: 7rem;
}

.contactForm{
    box-sizing: content-box;
}

.contactForm__inr{
    background: #EFEFEF;
    padding: 6rem 6rem 8rem;
    max-width: 70rem;
    margin: 0 auto;
    border-radius: 5px;
}

.contactForm__section-title{
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: 1rem;
}

.calendar_input .contactForm__input-content input{
    background: url(../images/icon/calendar_modal_icon.png)no-repeat right 1.8rem center;
    background-size: 2.4rem;   
}


.contactForm__section-title.require:after{
    content: "必須入力";
    color: #EE0000;
    font-size: 1.4rem;
    margin-left: 0.5em;
}

.contactForm__section{
    margin-bottom: 3rem;
}

.contactForm__item-control-input{
    position: relative;
}

.contactForm__item-control-input .ant-input-password-icon{
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    width: 3rem;
}

.contactForm__item-control-input .ant-input-password-icon{
    cursor: pointer;
}

.contactForm__item-control-input .ant-input-password-icon svg{
    font-size: 2rem;
    color: rgba(0, 0, 0, .45);
    transition: .3s;
}

@media (hover: hover) {
    .contactForm__item-control-input .ant-input-password-icon:hover svg{
        color: rgba(0, 0, 0, .8);
    }
}

.contactForm__input-content input{
    font-size: 1.5rem;
    padding: 0.6em 1rem;
    background: #fff;
    border-radius: 5px;
    border: 1px solid #DDDDDD;
    width: 100%;
    border-radius: 5px;
}

.contactForm__input-content select{
    border: 1px solid #DDDDDD;
    width: 100%;
    font-size: 1.5rem;
    padding: 0.6em 1rem;
    background: #fff;
    appearance: none;
    border-radius: 5px;
    position: relative;
    color: #111;
}


.select_wp{
    position: relative;
}

.select_wp::after {
    content: "";
    position: absolute;
    top: 20px;
    right: 10px;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 10px solid #111;
    border-bottom: 0;
}


.contactForm__input-content textarea{
    border: 1px solid #DDDDDD;
    padding: 0.3em 1rem;
    font-size: 1.6rem;
    background: #fff;   
    border-radius: 5px;
    width: 100%;
    min-height: 20rem;
}

div.agreeButton input[type="checkbox"] {
    display: none;
}
div.agreeButton input[type="checkbox"] + label {
    cursor: pointer;
    position: relative;
    display: inline-block;
    padding-left: 3rem;
    font-size: 1.6rem;
    line-height: 2;
    color: #111111;
    font-weight: var(--font-weight-bold);
}
div.agreeButton input[type="checkbox"] + label a {
    color: #888888;
    text-decoration: underline;
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    div.agreeButton input[type="checkbox"] + label a:hover {
        opacity: 0.5;
    }
}
div.agreeButton input[type="checkbox"] + label::before {
    content: '';
    display: block;
    position: absolute;
    top: 0.8rem;
    left: 0;
    width: 2rem;
    height: 2rem;
    box-sizing: border-box;
    background: #fff;
    border-radius: 3px;
    border: 1px solid #CCCCCC;
}
div.agreeButton input[type="checkbox"] + label::after {
    content: '';
    display: block;
    position: absolute;
    top: -0.2em;
    left: 0.8rem;
    transform: rotate(45deg);
    width: 0.8rem;
    height: 2rem;
    border-right: 4px solid #111111;
    border-bottom: 4px solid #111111;
    opacity: 0;
    transition: opacity 0.2s;
}
div.agreeButton input[type="checkbox"]:checked + label::after {
    opacity: 1;
}

.formSec__agreeText {
    margin-top: 5rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
}

.agree_btn{
    text-align: center;
    margin-bottom: 4rem;
}

.agree_btn div.agreeButton input[type="checkbox"] + label::before{
    top: 0.4em;
}

.agree_btn div.agreeButton input[type="checkbox"] + label{
    font-size: 1.6rem;
}

@media screen and (max-width: 1000px){
    .contactForm__inr{
        padding:4rem 5% 5rem;
    }

    .contactForm__section{
        margin-bottom: 2.5rem;
    }

    .contactForm__section-title{
        font-size: 1.4rem;
        margin-bottom: 1.5rem;
    }
    .contactForm__section-title.require:after{
        font-size: 1.2rem;
    }

    .agree_btn{
        text-align: left;
    }

    .agree_btn div.agreeButton input[type="checkbox"] + label{
        font-size: 1.4rem;
    }
}

.contactForm__inr{
    position: relative;
}

.form_txt{
    font-weight: var(--font-weight-extra-bold);
    font-size: 3.6rem;
    text-align: center;
    margin-bottom: 3rem;
}

.app_merit{
    text-align: center;
    border: solid 1px #DDDDDD;
    border-radius: 7px;
    padding: 6rem 3rem 5rem;
    margin-bottom: 9rem;
}

.app_merit .section__header{
    padding: 0;
    margin-bottom: 5rem;
}

.section__subtitle{
    font-weight: var(--font-weight-extra-bold);
    font-size: 3.6rem;
    text-align: center;
}

.section__list{
    text-align: center;
}

.section__list__item{
    text-align: center;
    color: #888;
    font-size: 1.5rem;
    line-height: 2;
}

.section__list__item a{
    color: #888;
    text-decoration: underline;
}

.form_bottom{
    margin-top: 4rem;
}


.form_bottom p{
    text-align: center;
    font-size: 1.5rem;
    line-height: 2;
}

.form_bottom p a{
    text-decoration: underline;
    color: #888;
    font-size: 1.5rem;
    line-height: 2;
}

.agree_txt_link{
    margin-top: -0.5em;
}

.agree_txt_link a{
    text-decoration: underline;
    color: #888;
    font-size: 1.5rem;
    line-height: 2;
}

.contactForm__detail_txt{
    text-align: center;
    font-size: 1.3rem;
    margin-bottom: 4rem;
    color: #888;
}

.contact_btm{
    margin-top: 5rem;
}

.contact_btm li{
    font-size: 1.5rem;
    line-height: 2;
    color: #111111;
    text-align: center;
}

.contact_btm li a{
    color: #888888;
    text-decoration: underline;
}

@media screen and (max-width: 1000px){
    .section__subtitle{
        font-size: 2.3rem;
        font-weight: var(--font-weight-extra-bold);
    }

    .form_txt{
        font-size: 3rem;
        margin-bottom: 3.5rem;
    }

    .app_merit{
        padding: 4rem 2rem;
        margin-bottom: 6rem;
    }

    .section__list{
        margin-bottom: 5rem;
    }

    .section__list__item{
        font-size: 1.4rem;
    }

    .contact_btm{
        margin-top: 2.5rem;
    }

    .contact_btm li{
        line-height: 1.785;
        font-size: 1.4rem;
    }

    .agree_txt_link a{
        font-size: 1.4rem;
    }

    .form_bottom{
        margin-top: 2.5rem;
    }

    .form_bottom p{
        font-size: 1.4rem;
        line-height: 1.8;
    }

    .form_bottom p a{
        font-size: 1.4rem;
    }

    div.agreeButton input[type="checkbox"] + label{
        font-size: 1.4rem;
    }

    div.agreeButton input[type="checkbox"] + label::before{
        top: 0.6rem;
    }

    .contactForm__detail_txt{
        text-align: left;
    }

    .app_merit .section__header{
        padding: 0;
        margin-bottom: 3rem;
    }
}
/* ----------------------------------------------------------------------------------------------------
*  下層ページ設定
* --------------------------------------------------------------------------------------------------*/
.Ly_header{
    padding: 21rem 0 0;
    max-width: 1160px;
    width: 90%;
    margin: 0 auto;
}

.Ly_header + .section{
    /* padding: 0;
    padding-right: 2rem;
    padding-left: 2rem; */
}

.ly_inr{
    max-width: 1160px;
    margin: 0 auto;
}

.witerDetail{
    margin-bottom: 4rem;
}

.witerDetail___wrap{
    max-width: 70rem;
    width: 90%;
    padding: 0;
    margin: 0 auto;
}

.witerDetail__head{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 2rem;
}

.witerDetail_thumb{
    width: 18rem;
    height: 18rem;
    border: solid 5px #fff;
    overflow: hidden;
    box-sizing: border-box;
    border-radius: 50%;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}

.witerDetail__main{
    font-size: 4rem;
    font-weight: var(--font-weight-extra-bold);
}

.witerDetail__sub{
    font-size: 1.8rem;
    color: #888888;
    font-family: "Metric", sans-serif;
    font-weight: 500;
    font-weight: var(--font-weight-medium);
}

.witerDetail__txt{
    font-weight: var(--font-weight-bold);
    font-size: 1.8rem;
    color: #111;
    margin-top: 1rem;
}

.witerDetail__disc{
    margin-top: 4rem;
}

.witerDetail__disc-title{
    font-size: 3rem;
    font-weight: var(--font-weight-extra-bold);
    margin-bottom: 2rem;
}

.witerDetail__disc-txt{
    font-size: 1.5rem;
    line-height: 2;
}

.witerDetai__sns-list{
    display: flex;
    align-items: center;
    gap: 0.5rem 2rem;
}

.witerDetail__sns{
    margin-top: 4rem;
}

.sns_fl{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: underline;
    font-size: 1.6rem;
}

/* ライター */
.writer-card__block{
    display: flex;
}

.writer-card{
    display: flex;
    flex-wrap: wrap;
    gap: 5rem 5%;
}

.writer-card__con{
    width: 47.5%;
    transition: .3s;
}

@media (hover: hover) {
    .writer-card__con:hover{
        opacity: 0.7;
    }    
}

.writer-card__item{
    display: flex;
    gap: 0 4rem;
}

.writer-card__mainname{
    font-size: 2.5rem;
    font-weight: var(--font-weight-extra-bold);
}

.writer-card__r{
    margin-top: 3rem;
    flex: 1;
}

.writer-card__subname{
    font-size: 1.6rem;
    font-family: "Metric", sans-serif;
    color: #888888;
    font-weight: var(--font-weight-medium);
}

.writer-card__job{
    margin-top: 2rem;
}

.writer-card__job-txt{
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
}

.writer-card__thumb {
    width: 18rem;
    height: 18rem;
    border: solid 5px #fff;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
}

@media screen and (max-width: 1000px) {
    .Lytitle-wrap{
        margin-bottom: 4rem;
    }

    .witerDetail__main{
        font-size: 2.5rem;
    }

    .witerDetail__sub{
        font-size: 1.6rem;
        margin-top: -0.5em;
    }

    .witerDetail__txt{
        font-size: 1.5rem;
    }

    .witerDetail__disc-title{
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .witerDetail__disc-txt{
        font-size: 1.4rem;
    }

    .witerDetail{
        margin-bottom: 2rem;
    }

    .witerDetail_thumb{
        width: 100%;
        height: auto;
        max-width: 13rem;
        max-height: 13rem;
    }

    .writer-card__block{
        justify-content: center;
    }

    .Ly_header + .section{
        padding: 0;
    }

    .section__writer-card{
        padding: 0 2rem;
    }

    .writer-card__con{
        width: calc(50% - 1rem);
    }

    .writer-card__item{
        flex-direction: column;
    }

    .writer-card__thumb{
        margin: 0 auto;
        width: 100%;
        height: auto;
        max-width: 18rem;
        max-height: 100%;
    }


    .writer-card__mainname,
    .writer-card__subname,
    .writer-card__job-txt{
        text-align: center;
    }

    .writer-card{
        gap: 3rem 2rem;
    }

    .writer-card__r{
        margin-top: 1.5rem;
    }

    .writer-card__mainname{
        font-size: 1.8rem;
    }

    .writer-card__subname{
        font-size: 1.5rem;
    }
    
    .writer-card__job{
        margin-top: 1.5rem;
    }

    .writer-card__job-txt{
        font-size: 1.4rem;
        line-height: 1.85;
    }
}


/* カテゴリブロック */
.cateBlock{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 2rem;
    margin-bottom: 6rem;
}

.cateBlock .pc{
    flex: 1;
}

.column_cate .cateBlock:nth-child(1) {
    margin-bottom: 3rem;
}

.column_cate .pagination{
    margin-bottom: 6rem;
}

.cateBlock__txt{
    background: #000;
    border-radius: 3px;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    padding: 0.1em 0.8rem;
    font-weight: var(--font-weight-bold);
}

.cateBlock__list{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 2rem;
    padding-top: 0.2em;
    transition: .3s;
}

.cateBlock__item{
    font-size: 1.5rem;
}

@media (hover: hover) {
    .cateBlock__item:hover{
        opacity: 0.7;
    }
}

.cateBlock__itemLink{
    color: #888888;
    position: relative;
}

.cateBlock__itemLink:after{
    content: "";
    display: block;
    background: #000;
    height: 1px;
    width: 100%;
    left: 0;
    display: none;
}

.cateBlock__itemLink.-current{
    color: #111;
    font-weight: var(--font-weight-bold);
}

.cateBlock__itemLink.-current:after{
    display: block;
}



/* ::::: pagination ::::: */
.pagination {
    margin: 0 0 6rem;
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

.nav-links>.page-numbers{
    display: flex;
    gap: 1rem 1.5rem;
}

li .page-numbers {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    gap: 1rem;
    opacity: 1;
    font-weight: bold;
    transition: opacity .3s, background-color .3s;
    font-family: "Metric", sans-serif;
    font-weight: 500;
    box-sizing: border-box;
    background: #EFEFEF;
}

.page-numbers{
    font-family: "Metric", sans-serif;
    font-weight: 500;
    font-size: 1.5rem; 
}


.nav-links{
    position: relative;
}

.page-numbers.prev,
.page-numbers.next{
    font-size: 1.3rem;
    position: absolute;
    top: 0;
    width: 10em;
    text-decoration: underline;
}

.page-numbers.prev{
    left: 0;
}

.page-numbers.next{
    right: 0;
}


.page-numbers.prev:before,
.page-numbers.next:after{
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background: url(../images/news/prev.png)no-repeat center center;
    background-size: cover;
}

.page-numbers.prev:before{
    transform: rotate(180deg);
    /* margin-right: 1rem; */
}
/* 
.page-numbers.next:after{
    margin-left: 1rem;
} */

.page-numbers.-current {
    color: #000;
    border: 2px solid #111111;
    opacity: 1;
    background: none;
}

@media (hover: hover) {
    a.page-numbers:hover {
        opacity: 0.7;
    }
}
/* ----- pagination responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .p-access{
        padding-bottom: 9rem;
    }

    .c-accessMap{
        height: 48rem;
    }

    .pagination {
        gap: 1rem;
        margin-bottom: 4rem;
    }

    .cateBlock{
        margin-bottom: 5rem;
    }

    .nav-links>.page-numbers{
        gap: 1rem;
    }

    li .page-numbers{
        width: 3rem;
        height: 3rem;
        font-size: 1.4rem;
    }

    .c-accessBlock__item{
        width: 100%;
    }

    .page-numbers.next span{
        display: none;
    }

    .Control_Wrap{
        padding: 0 5%;
    }

    .Ly_header{
        padding: 12rem 0 0;
    }

    .cateBlock{
        align-items: center;
    }

    .cateBlock .sp{
        flex: 1;
    }

    .cateBlock__txt{
        font-size: 1.4rem;
    }

    .cateBlock .contactForm__input-content select{
        background: #EFEFEF;
        border: none;
        font-size: 1.4rem;
    }

    .cateBlock .select_wp::after{
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
        border-top: 6px solid #111;
    }

    .column_cate .pagination{
        margin-bottom: 4rem;
    }
}
/* ::::: pagination end ::::: */

.Control_Wrap{
    max-width: 1160px;
    margin: 0 auto;
}

.control_btm{
    margin-top: 6rem;
    padding-bottom: 3rem;
}

/* .Lyslide_cards .card{
    margin-bottom: 4rem;
} */

.Lyslide_cards .card:last-child{
    margin-bottom: 0;
}


/* サブビュー */
.sec--events-news + .subView{
    margin-top: 0;
}

.subView{
    margin: 4rem 0;
}

.subView__inr{
    display: block;
    position: relative;
    transition: .3s;
}

@media (hover: hover) {
    .subView__inr:hover{
        opacity: 0.7;
    }
    .subView__inr .button-block--gradient:hover,
    .subView__inr .button-block--gradient:hover:after,
    .subView__inr .button-block--gradient:hover:before{
        background-position: left center;
    }

    .subView__inr:hover .button-block--gradient,
    .subView__inr:hover .button-block--gradient:after,
    .subView__inr:hover .button-block--gradient:before{
        background-position: right center;
    }
}

.subView__content{
    position: absolute;
    top: 7vw;
    max-width: 90%;
    left: 0;
    right: 0;
    z-index: 6;
    margin: 0 auto;
    transition: .1s;
}

.subView__bg__layer{
    width: 100%;
    position: absolute;
    top: 0;
}

.subView__bg__layer.-layer01{
    position: relative;
}

.subView__logo{
    width: 47vw;
}

.subView__logo img{
    width: 100%;
}

.subView_catch-txt{
    font-size: 2.1vw;
    font-weight:var(--font-weight-bold);
    margin-top: 2.5rem;
    color: #fff;
}

.subView_disc-txt{
    color: #fff;
    font-weight: var(--font-weight-bold);
    font-size: 1.4vw;
    line-height: 2.1;
    margin-top: 1.2vw;
}

.subView .button-wrapper{
    margin-top: 2rem;
}

.subView .button-block{
    max-width: 24rem;
    box-shadow: none!important;
}

.subView .button-block__link{
    font-size: 1.7rem;
}

.subView__bg{
    min-height: 56.5rem;
    top: 0;
    width: 100%;
    object-fit: cover;
    object-position: bottom right;
}

.subView__bg__layer.-layer02{
    animation: fadeInOutAfter 28s infinite;
}

.subView__bg__layer.-layer03{
    animation: fadeInOutBefore 28s infinite;
}


@media screen and (max-width: 1250px) {
    .subView__content{
        top: 4vw;
    }
}

@media screen and (max-width: 1000px) {
    .subView{
        margin: 2rem auto;
    }

    .subView__content{
        max-width: 90%;
        top: 6vw;
    }

    .subView__bg{
        min-height: auto;
    }
    
    .pc-tab{
        display: none;
    }

    .subView_catch-txt{
        font-size: 3vw;
    }

    .subView_disc-txt{
        font-size: 2vw;
    }

    .sec--events-news .card__title,
    .sec--consultation .card__title{
        margin-top: 0;
    }
}


@media screen and (max-width: 750px) {
    .subView_catch-txt{
        font-size: 5vw;
        line-height: 1.72;
        margin-top: 1.5rem;
    }

    .subView__content{
        top: 10vw;
    }

    .subView__logo{
        width: 100%;
    }

    .subView_disc-txt{
        line-height: 2;
        font-size: 3.8vw;
        margin-top: 3.5vw;
    }

    .subView_disc-txt br{
        display: none;
    }

    .subView__bg .mv__bg{
        min-height: 116vw;
    }

    .subView .button-block{
        max-width: 18rem;
    }

    .subView .button-block__link{
        width: 100%;
        padding: 1.2rem 1.5rem 1.1rem;
    }
}

/* 
シングルページ
*/
.singlelayout{
    margin-top: 10.5rem;
    background: url('../images/single/single_bg.png')repeat-x;
    background-position: top center;
    background-size: 1280px;
}

.singlelayout__inr{
    max-width: 70rem;
    box-sizing: border-box;
    width: 90%;
    margin: 0 auto;
    padding-top: 7rem;
}

.singlelayout .card{
    background: none;
    margin-bottom: 6rem;
}

@media screen and (max-width: 1160px){
    .singlelayout{
        margin-top: 6.5rem;
    }
}

@media screen and (max-width: 1000px){
    .singlelayout__inr{
        padding-top: 2rem;
    }

    .singlelayout .card__content {
        padding: 2rem 0 3rem;
    }

    .lowerLayer .singlelayout .featured{
        padding: 0;
    }
    
    .singlelayout .card{
        margin-bottom: 1rem;
    }   
}

@media screen and (max-width: 750px){
    .singlelayout {
        background: url(../images/single/single_bg_sp.png) repeat-x;
        background-position: top center;
        background-size: 100%;
    }
}

.projectSearch .section__header{
    text-align: center;
}

.projectSearch__select select{
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
    width: 100%;
    font-size: 1.5rem;
    padding: 0.6em 1rem 0.6em 6rem;
    appearance: none;
    border-radius: 5px;
    position: relative;
    color: #111;    
}

.projectSearch__select{
    background: #EFEFEF;
    transition: .3s;
    background-image: url(../images/icon/select_arw.png);
    background-repeat: no-repeat; /* 画像の繰り返しを無効化 */
    background-position: calc(100% - 13px) 12px; 
    background-size: 24px; /* 画像のサイズを指定 */
    border: none;
}

@media (hover: hover) {
    .projectSearch__select:hover{
        opacity: 0.7;
    }
}

.projectSearch__inr{
    width: calc(100% - 10%);
    max-width: 1160px;
    margin: 0 auto;
}

.projectSearch__box{
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
}

.projectSearch__select{
    position: relative;
    /* -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start; */
    align-items: center;
    flex-basis:calc((100% - 8rem) / 3);
    max-width:calc((100% - 8rem) / 3);
    width: 100%;
}

/* .projectSearch__select select::after{
    content: "";
    position: absolute;
    top: 20px;
    right: 10px;
    left: auto;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 6px solid #111;
} */

.projectSearch__select:before{
    content: "";
    display: block;
    width: 2.4rem;
    background: url(../images/select/select__job.png) no-repeat center;
    background-size: contain;
    height: 100%;
    width: 2.4rem;
    position: absolute;
    z-index: 2;
    left: 2rem;
}

.projectSearch__select.select__price:before{
    background: url(../images/select/select__price.png) no-repeat center;
    background-size: contain;
}

.projectSearch__select.select__place:before{
    background: url(../images/select/select__place.png) no-repeat center;
    background-size: contain;
}
.projectSearch__select.select__participation:before{
    background: url(../images/select/select__participation.png) no-repeat center;
    background-size: contain;
}

.projectSearch__select.select__remote:before{
    background: url(../images/select/select__remote.png) no-repeat center;
    background-size: contain;
}

.projectSearch__select.select__en:before{
    background: url(../images/select/select__en.png) no-repeat center;
    background-size: contain;
}

.projectSearch__search-input{
    position: relative;
    border: none;
    font-size: 1.6rem;
    width: 100%;
    box-sizing: border-box;
    font-size: 1.5rem;
    margin-top: 4rem;
    display: flex;
    align-items: center;
    border-radius: 5px;
}

.projectSearch__search-input input{
    background: #EFEFEF;
    padding: 0.6em 1rem 0.6em 6rem;
    font-weight: var(--font-weight-bold);
    width: calc((100% - 8rem) / 3 * 2 + 4rem);
}

.projectSearch__search-input input::placeholder{
    color: #888888;
}


.projectSearch__search-input input:focus::-webkit-input-placeholder {
	color: transparent;
}
.projectSearch__search-input input:focus::-moz-placeholder {
	color: transparent;
}
.projectSearch__search-input input:focus::-ms-input-placeholder {
	color: transparent;
}
.projectSearch__search-input input:focus::placeholder {
	color: transparent;
}

.projectSearch__search-input:before{
    content: "";
    display: block;
    width: 2.4rem;
    background: url(../images/select/select__search.png) no-repeat center;
    background-size: contain;
    height: 100%;
    width: 2.4rem;
    position: absolute;
    z-index: 2;
    left: 2rem;
    max-width: 100%;
}


/* プロジェクト */
.projectArc__inr{
    width: 90%;
    max-width: 1160px;
    margin: 0 auto;
}

.projectArc__inr + .button-wrapper{
    margin-top: 6rem;
}

.projectArc .section__header{
    text-align: center;
}

.projectArc .section__header + .projectArc__inr{
    margin-top: 8rem;
}

.projectArc__item + .projectArc__item{
    margin-top: 6.5rem;
}

.projectArc__item_link{
    position: relative;
    background: #EFEFEF;
    padding: 4rem 3rem;
    border-radius: 5px;
    transition: .3s;
    display: block;
}

@media (hover: hover) {
    a.projectArc__item_link:hover{
        background: #ddd;
    }
}

.projectArc__title-txt{
    font-size: 2.5rem;
    line-height: 1.75;
    font-weight: var(--font-weight-extra-bold);
    margin-bottom: 1.5rem;
}

.projectArc__detail{
    display: flex;
    align-items: flex-end;
    gap: 5rem;
    justify-content: space-between;
}

.projectArc__detail-item{
    position: relative;
    display: flex;
    align-items: center;
}

.projectArc__detail-txtbox{
    font-size: 1.5rem;
}

.projectArc__detail-item .bold{
    font-weight: var(--font-weight-bold);
}

.projectArc__detail-wp{
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 2.5rem;
}

.projectArc__detail-item:before{
    content: "";
    display: block;
    width: 2.4rem;
    background: url(../images/select/select__search.png) no-repeat center;
    background-size: contain;
    height: 100%;
    width: 2rem;
    height: 2rem;
    margin-right: 1rem;
}

.projectArc__detail-item.icon_place:before{
    background: url(../images/select/select__place.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-item.icon-price:before{
    background: url(../images/select/select__price.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-item.icon_participation:before{
    background: url(../images/select/select__participation.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-item.icon-remote:before{
    background: url(../images/select/select__remote.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-item.icon-calendar:before{
    background: url(../images/select/select__calendar.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-txtbox{
    display: block;
}

.projectArc__item-more{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.5rem;
    font-size: 1.5rem;
    font-weight: var(--font-weight-extra-bold);
}

.projectArc__item-more-txt{
    display: block;
    min-width: 6.8em;
}

.projectArc__item-more::after{
    display: block;
    content: "";
    width: 4rem;
    height: 4rem;
    background: url(../images/select/link_icon.png) no-repeat center;
    background-size: contain;
}


.projectArc__status--outline{
    position: absolute;
}

/* アウトラインのボタンスタイル (デザイン2) */
.projectArc__status--outline{
    width: 14rem;
    position: absolute;
    border-radius: 6rem;
    top: -2.5rem;
    overflow: hidden;
    background: #bf9239;
}

.projectArc__status--outline .projectArc__status__link{
    background: #fff;
    border-radius: 30px;
    display: block;
    position: relative;
    z-index: 2;
    transition: .3s;
    margin: 3px;
    height: 5rem;
    line-height:5rem;
}

.projectArc__status__text{
    font-size: 2rem;
    text-align: center;
    display: block;
    font-weight: var(--font-weight-extra-bold);
}

.button-reset-wp{
    text-align: center;
    margin-top: 4rem;
}

.button-reset{
    text-decoration: underline;
    font-size: 1.5rem;
    text-align: center;
    transition: .3s;
    color: #888888;
}

@media (hover: hover) {
    .button-reset:hover{
        opacity: 0.7;
    }
}

.projectSearch + .projectArc{
    margin-top: 10rem;
}

.projectSearch__check{
    display: flex;
    gap: 3rem;
    margin-top: 4rem
}

.projectSearch__check + .button-wrapper{
    margin-top: 4rem;
}

.projectSearch__check div.agreeButton input[type="checkbox"] + label{
    line-height: 2.2;
    color: #888888;
}

.projectSearch__check div.agreeButton input[type="checkbox"]:checked + label{
    color: #111;
}

.not_applicable_txt{
    font-size: 1.4rem;
    text-align: center;
}

.result_txt{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
}

@media screen and (max-width: 1000px) {
    .projectArc__inr{
        width: 100%;
    }

    .projectArc .section__header + .projectArc__inr{
        margin-top: 5.5rem;
    }

    .projectArc .Control_Wrap,
    .myIntroduction .Control_Wrap{
        padding-left: 0;
        padding-right: 0;
    }

    .Control_Wrap.control_btm{
        margin-top: 4rem;
    }

    .projectSearch__box{
        gap: 1rem;
    }

    .projectSearch__search-input{
        margin-top: 1rem;
    }

    .projectSearch__select {
        position: relative;
        align-items: center;
        flex-basis: calc((100% - 1rem) / 2);
        max-width: calc((100% - 1rem) / 2);
    }

    .projectSearch__select{
        background: #EFEFEF;
        transition: .3s;
        background-image: url(../images/icon/select_arw.png);
        background-position: calc(100% - 8px) 12px;
        background-repeat: no-repeat; /* 画像の繰り返しを無効化 */
        background-size: 18px; /* 画像のサイズを指定 */
        border: none;
    }


    .projectSearch__search-input input{
        width: 100%
    }

    .projectSearch__check{
        margin-top: 3rem;
    }

    .projectArc__detail{
        flex-direction: column;
    }

    .projectArc__detail-wp{
        flex-direction: column;
        width: 100%;
        gap: 1rem;
    }

    .section.projectSearch .projectSearch__inr{
        padding: 0;
        width: 100%;
    }

    .projectArc__title-txt{
        font-size: 1.8rem;
    }

    .projectArc__detail-txtbox{
        font-size: 1.3rem;
    }


    .projectArc__detail{
        gap: 1rem;
    }

    .projectSearch + .projectArc{
        margin-top: 6rem;
    }

    .projectArc__item_link{
        padding: 4rem 2rem 2rem;
    }

    .projectArc__status--outline{
        top: -2rem;
    }

    .projectArc__status__text{
        font-size: 1.8rem;
    }

    .projectArc__status--outline .projectArc__status__link{
        height: 4rem;
        line-height: 4rem;
    }

    .projectArc__item + .projectArc__item{
        margin-top: 4rem;
    }

    .projectSearch__check + .button-wrapper{
        margin-top: 3rem;
    }

    .projectSearch__select:before{
        left: 1rem;
    }

    .projectSearch__search-input:before{
        left: 1rem;
    }

    .projectSearch__search-input{
        font-size: 1.4rem;
    }

    .projectSearch__search-input input{
        padding: 0.6em 1rem 0.6em 4rem;
    }

    .projectSearch__select select{
        font-size: 1.4rem;
        padding: 0.6em 3rem 0.6em 4rem;
    }

    .projectArc{
        padding-right: 5%;
        padding-left: 5%;
    }

    .projectArc__item-more-txt{
        min-width: auto;
    }

    .projectArc__item-more::after{
        width: 3rem;
        height: 3rem;
    }
}

.singlelayout .card__title{
    font-size: 3.6rem;
    line-height: 1.52;
}

.singlelayout + .sec--consultation{
    margin-top: 4rem;
}

.singlelayout .card__title-interviewee-name{
    font-size: 2rem;
}

@media screen and (max-width: 1000px) {
    .singlelayout .card__title{
        font-size: 2rem;
    }

    .singlelayout .card__title-interviewee-name{
        font-size: 1.6rem;
    }
}

/* ----------------------------------------------------------------------------------------------------
*  案件カード
* --------------------------------------------------------------------------------------------------*/
.myIntroduction{
    padding-left: 5%;
    padding-right: 5%;
}

.case-introduction__header {
    text-align: center;
}

.case-introduction__title {
    font-size: 24px;
    font-weight: bold;
}

.myIntroduction__content{
    display: flex;
    flex-wrap: wrap;
    gap: 6rem;
    max-width: 1160px;
    margin: 0 auto;
    -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.myIntroduction-card{
    padding: 4rem 3rem 9rem;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-sizing: border-box;
    width: calc(50% - 3rem); /* 2列レイアウト */
    transition: .3s;
    cursor: pointer;
    position: relative;
    transition: .3s;
    min-height: 38.5rem;
}

@media (hover: hover) {
    .myIntroduction-card:hover{
        transition: .3s;
    }
    .myIntroduction-card:hover .myIntroduction__btn{
        opacity: 0.7;
    }
}

.myIntroduction-card__category {
    text-align: left;
    margin-bottom: 10px;
    font-weight: var(--font-weight-bold);
}

.myIntroduction-card__category-label {
    position: relative;
    overflow: hidden; /* 擬似要素が親要素を超えないように */
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 1.4rem;
    line-height: 1;
    display: inline-block;
    min-width: 12rem;
    text-align: center;
    box-sizing: border-box;
    background: linear-gradient(120deg, 
    rgba(0, 160, 180, 1) 0%,      /* 青緑 */
    rgba(0, 57, 255, 1) 10%,      /* 青 */
    rgba(255, 218, 0, 1) 20%,     /* 黄色 */
    rgba(255, 29, 0, 1) 30%,      /* 赤 */
    rgba(215, 205, 0, 1) 40%,     /* 黄色 */
    rgba(6, 149, 0, 1) 50%,       /* 緑 */
    rgba(0, 160, 180, 1) 60%,     /* 青緑 */
    rgba(0, 57, 255, 1) 70%,      /* 青 */
    rgba(255, 218, 0, 1) 80%      /* 黄色 */
    );
    background-size: 1000% 100%;
    /*background-position: 20% 0%;*/
    animation: btnAnime 28s infinite cubic-bezier(0.76, 0, 0.24, 1);
}

.myIntroduction-card__category-label-text{
    color: white;
    font-size: 1.4rem;
    position: relative;
    z-index: 2;
    line-height: 1;
}


.myIntroduction-card__body {
    text-align: left;
    transition: height 0.3s ease-in-out; /* 高さのアニメーション */
    overflow: hidden; /* 内容が溢れないようにする */
}

.myIntroduction-card__title {
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: 2rem;
}

.myIntroduction-card__description {
    font-size: 1.5rem;
    line-height: 2;
}

.truncated {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 表示する行数 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.myIntroduction-card.open .truncated{
    display: block;
    overflow: auto;
}

@media screen and (max-width: 1000px){
    .myIntroduction-card{
        margin: 0;
        padding: 3rem 2rem 8rem;
        min-height: auto;
    }

    .card__date{
        margin-top: 1rem;
        font-size: 1.3rem;
    }

    .card__label{
        font-size: 1.3rem;
        min-width: 5rem;
    }

    .card__tags{
        font-size: 1.3rem;
        gap: 1rem 1.5rem;
    }

    .myIntroduction-card__title{
        font-size: 1.8rem;
    }

    .myIntroduction-card__category-label{
        font-size: 1.3rem;
    }

    .myIntroduction-card__description {
        font-size: 1.4rem;
        line-height: 1.75;
    }


    .myIntroduction__content{
        gap: 2rem;
    }

    .myIntroduction-card{
        width: 100%;
    }

    .button-reset-wp{
        margin-top: 3rem;
    }

}



/* ----------------------------------------------------------------------------------------------------
*  コラムページ
* --------------------------------------------------------------------------------------------------*/
.main_column .section__content{
    flex-wrap: wrap;
    max-width: 1160px;
    margin-top: 6rem;
}

.column_cate_top .pagination{
    margin-bottom: 0;
}

.sec--tags{
    padding: 4rem 2rem;
}

.main_column .section__content{
    gap: 6rem;   
}

.main_column .section__content .card{
    display: flex;
    flex: 100%;
    gap: 5rem;
}

.main_column .section__content .card .card__image-wrapper{
    max-width: 51rem;
    flex: 1;
}

.main_column .section__content .card .card__content{
    flex: 1;
}

.main_column .section_inr{
    padding-top: 0;
}

.tag_group{
    display: flex;
    flex-wrap: wrap; 
    gap: 1.5rem;
    justify-content: left;
}

.tag_item{
    font-size: 1.8rem;
}

.tag_item a{
    color: #111;
    text-decoration: underline;
}

.section.about_intro{
    padding: 6rem 0;
    width: 100%;
    overflow: hidden;
}

.projectArc__detail-item.icon_place:before{
    background: url(../images/select/select__place.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-item.icon_participation:before{
    background: url(../images/select/select__participation.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-item.icon-remote:before{
    background: url(../images/select/select__remote.png) no-repeat center;
    background-size: contain;
}

.projectArc__detail-item.icon-calendar:before{
    background: url(../images/select/select__calendar.png) no-repeat center;
    background-size: contain;
}

.main_column .card__image-wrapper .card__author-info{
    display: none;
}


.card__detail-wp{
    display: flex;
    justify-content: space-between;
    gap: 0 7rem;
    margin-top: 2rem;
    width: 100%;
}


.main_column .card__content .card__labels{
    margin-top: 0;
}

.main_column .card__title{
    font-size: 2.8rem;
}

.card__detail-disc{
    font-size: 1.4rem;
    line-height: 2;
}

.card__detail-wp .card__author-info{
    position: static;
    min-width: 9rem;
}

.sec--event-other{
    margin-bottom: 4.5rem;
}

@media screen and (max-width: 1000px){
    .main_column .section__content{
        width: calc(100% - 10%);
        margin: 6rem auto 0;
    }

    .sub_column{
        width: calc(100% - 10%);
        margin: 0 auto;
    }

    .section.about_intro{
        padding: 4rem 0;
    }

    .sub_column .section__content{
        gap: 4rem;
    }

    .sub_column .sec--member-columns .section__content .card{
        flex: calc(50% - 4rem);
        gap: 1rem;
        display: flex;
        flex-direction: row-reverse;
    }

    .sub_column .card__content{
        padding: 0;
        flex: 1;
        margin-top: 0;
    }

    .sub_column .card__author-info{
        top: 8rem;
        right: -1rem;
        min-width: 9rem;
    }

    .sub_column .card__image-wrapper{
        max-width: 23%;
        min-width: 15rem;
        min-height: 15rem;
    }

    .tag_item{
        font-size: 1.4rem;
    }

    .main_column .section__content .card .card__image-wrapper{
        max-width: 45%;
    }

    .main_column .section__content .card{
        gap: 0 2rem;
    }

    .main_column .section__content .card .card__content{
        padding: 0;
    }

    .card__detail-wp{
        gap: 1rem;
    }

    .main_column .card__title{
        font-size: 2.4rem;
    }

    .sec--event-other{
        margin-bottom: 3rem;
    }
}

.sub_column.no-padding-top .section {
    padding-top: 0;
    margin-top: 1.5rem;
}

@media screen and (max-width: 750px){
    .sub_column .sec--member-columns .section__content .card{
        flex: 100%;
        gap: 1rem;
    }

    .main_column .section__content{
        width: 100%;
        gap: 4rem;
    }

    .main_column .section__content .card{
        flex-direction: column;
    }

    .main_column .section__content .card .card__image-wrapper{
        max-width: 100%;
    }

    .main_column .card__image-wrapper .card__author-info{
        display: block;
    }

    .main_column .section__content .card .card__content{
        padding: 2rem 5% 0;
    }
    
    .main_column .card__title{
        font-size: 1.7rem;
    }
    
    .card__detail-wp{
        margin-top: 1.5rem;
    }

    .card__detail-disc{
        margin-bottom: 3rem;
    }

    .card__author-inr{
        display: none;
    }

    .column_cate .cateBlock:nth-child(1){
        margin-bottom: 2rem;
    }

    .sub_column{
        margin-bottom: 2rem;
    }

}

/* ----------------------------------------------------------------------------------------------------
*  案件詳細
* --------------------------------------------------------------------------------------------------*/
.introSingle{
    margin-top: 16rem;
}

.introSingle__inr{
    margin: 0 auto;
    max-width: 90rem;
}

.introSingle .projectArc__status--outline{
    position: static;
    margin-bottom: 3.5rem;
}

.introSinDetail__item{
    width: calc(100% / 3);
    border-bottom: 1px solid #ddd;
    padding: 2.5rem 0;
}

.introSinDetail__inr{
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #ddd;
}

.introSingle__title{
    font-size: 3.5rem;
    margin-bottom: 6rem;
    line-height: 1.75;
    font-weight: var(--font-weight-extra-bold);
}

.introSinDetail__title{
    display: flex;
    flex-wrap: wrap;
    font-weight: var(--font-weight-extra-bold);
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.introSinDetail__txt{
    font-size: 1.8rem;
    font-weight: var(--font-weight-normal);
}

.introSinDetail__title:before{
    content: "";
    display: block;
    width: 2.4rem;
    background: url(../images/select/select__search.png) no-repeat center;
    background-size: contain;
    height: 100%;
    width: 2.4rem;
    height: 2.4rem;
    margin-right: 1rem;
}

.introSinDetail__title.icon_place:before{
    background: url(../images/select/select__place.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon_price:before{
    background: url(../images/select/select__price.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon_participation:before{
    background: url(../images/select/select__participation.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon-remote:before{
    background: url(../images/select/select__remote.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon-calendar:before{
    background: url(../images/select/select__calendar.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon-job:before{
    background: url(../images/select/select__job.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon-business:before{
    background: url(../images/select/select__business.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon-role:before{
    background: url(../images/select/select__role.png) no-repeat center;
    background-size: contain;
}

.introSinDetail__title.icon_role:before{
    background: url(../images/select/select__role.png) no-repeat center;
    background-size: contain;
}

.myIntroduction__detail{
    margin: 1.5rem 0 2rem;
    display: none;
}


.myIntroduction__detail .introSinDetail__inr{
    border-top: none;
}

.myIntroduction__detail .introSinDetail__item{
    padding: 2rem 0;
    width: 100%;
    border-bottom: 1px solid #DDDDDD;
}

.myIntroduction__detail .introSinDetail__txt{
    font-size: 1.5rem;
}

.myIntroduction__btn{
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    justify-content: right;
    position: absolute;
    right: 3rem;
    bottom: 3rem;
    transition: .3s;
}

@media (hover: hover) {
    .myIntroduction__btn:hover{
        opacity: 0.7;
    }
}
.myIntroduction__btn .faq__accordion-icon{
    position: relative;
    top: auto;
    right: auto;
}

.myIntroduction__btn--txt{
    font-size: 1.5rem;
    font-weight: var(--font-weight-extra-bold);
}

.js_accordion-button-icon {
    position: relative;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: 2px solid #111111;
    background-color: #fff;
    box-sizing: border-box;
}
.myIntroduction__btn.-open .js_accordion-button-icon {
    background-color: #AAAAAA;
    border: 2px solid #AAAAAA;
}
.js_accordion-button-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0.6rem;
    z-index: 1;
    transform: translate( 0, -50%);
    transform-origin: center;
    display: block;
    width: 1.4rem;
    height: 2px;
    background-color: #111111;
}
.myIntroduction__btn.-open .js_accordion-button-icon::before {
    background-color: #111111;
    border-top: 1px solid #fff;
    background-color: #fff;
}
.js_accordion-button-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0.6rem;
    z-index: 2;
    transform: translate( 0, -50%) rotate(90deg);
    transform-origin: center;
    display: block;
    width: 1.4rem;
    height: 2px;
    background-color: #111111;
    opacity: 1;
}
.myIntroduction__btn.-open .js_accordion-button-icon::after {
    opacity: 0;
}

/* ===========================
    テーブル 
=========================== */ 
.table01{
    border-collapse: collapse;
}

.table01 th,
.table01 td{
    vertical-align: top;
    padding: 2rem;
    font-size: 1.5rem;
    border: solid 1px #DDDDDD;
}

.table01 th{
    font-weight: bold;
    background: #EFEFEF;
    min-width: 12rem;
}

.introSingle__disc{
    font-size: 1.4rem;
    line-height: 1.75;
    color: #888888;
    margin-top: 4rem;
}

.introSingle__disc-wp{
    display: flex;
    gap: 0.5em 1rem;
    flex-wrap: wrap;
}

.introSingle__disc-item{
    display: flex;
}

.introSingle__disc-item h4,
.introSingle__disc-item p{
    color: #888888;
}

.introSingle__disc-item h4{
    font-weight: bold;
}

.introSingle__content{
    margin-top: 7rem;
}

.introSingle__content + .button-wrapper{
    margin-top: 6rem;
}

.introSingle + .projectSearch{
    margin-bottom: 11.5rem;
}

@media screen and (max-width: 1000px){
    .introSingle__title{
        font-size: 2rem;
        margin-bottom: 3.5rem;
        font-size: 1.6;
    }

    .introSingle + .projectSearch{
        margin-bottom: 6rem;
        padding-bottom: 0;
    }

    .introSinDetail__item{
        width: calc(100% / 2);
        padding-right: 1rem;
    }

    .introSinDetail__txt{
        font-size: 1.5rem;
    }

    .introSingle__disc{
        margin-top: 2.5rem;
    }

    .introSingle__disc-wp{
        flex-direction: column;
        gap: 0;
    }

    .introSingle{
        margin-top: 11rem;
        padding-top: 0;
    }

    .introSingle__content{
        margin-top: 5rem;
    }

    .myIntroduction__btn{
        bottom: 2rem;
        right: 1rem;
        gap: 1rem;
    }    

    .table01 th{
        min-width: 10rem;
    }

    .table01 th,
    .table01 td{
        padding: 1.4rem;
        font-size: 1.4rem;
    }

    .introSingle__content .table01 .date-start{
        display: block;
    }
}

/* ===========================
    プロフィフィール詳細 
=========================== */ 
.profilePage{
    padding-bottom: 11rem;
}

.column02__inr{
    max-width: 1160px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    gap: 6rem;
}

.column02__block{
    width: calc(50% - 3rem);
}

.profileBasic{
    display: flex;
    justify-content: left;
    gap: 4rem;
    margin-bottom: 4rem;
}

.profileBasic__content{
    flex: 1;
}

.profileBasic__thumbnail{
    min-width: 20rem;
    width: 20rem;
    height: 20rem;
    margin: 0 auto;
    border: solid 6px #fff;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
    transition: .3s;
}

.profileBasic__thumbnail img{
    object-fit: cover;
    height: 100%;
    width: 100%;
}
@media (hover: hover) {
    .profileBasic .profileBasic__thumbnail:hover{
        opacity: 0.7;
    }
}

.profileBasic__name{
    display: inline;
    font-size: 2.5rem;
    /* margin-left: 1.2rem; */
    font-weight: var(--font-weight-extra-bold);
}

.profileBasic__honorifics{
    display: inline;
    font-size: 2rem;
}

.profileBasic__kana{
    font-size: 1.5rem;
}

.profileBasic__content{
    margin-top: 4rem;
}

.profileBasic__content .button-block{
    margin-top: 2rem;
    max-width: 16rem;
}

.profileBasic__content .button-block__link{
    font-size: 1.4rem;
    padding: 5px 20px;
    cursor: pointer;
}

.profileBasic__detail-wp .profileBasic__detail-title{
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
}

.profileBasic__detail-wp .profileBasic__detail-txt{
    font-size: 1.5rem;
    max-width: 90%;
}

.profileBasic__detail-item{
    padding: 2rem 0;
    border-bottom: solid 1px #DDDDDD;
    position: relative;
}

.profileBasic__detail-item .settingButtonWP{
    position: absolute;
    right: 0;
    bottom: 2rem;
}

.settingButtonWP{
    display: flex;
    gap: 1rem;
}

.settingButtonWP__button{
    font-size: 1.4rem;
}

.settingButtonWP__button a{
    color: #888888;
    transition: .3s;
    text-decoration: underline;
    cursor: pointer;
}

@media (hover: hover) {
    .settingButtonWP__button a:hover{
        opacity: 0.7;
    }    
}

.profileContent{
    background: #EFEFEF;
    border-radius: 5px;
    max-height: 48rem;
    overflow-y: auto;
}

.profile_subheading{
    display: flex;
    margin-bottom: 2rem;
    justify-content: space-between;
}

.profile_subheading .myIntroduction__btn{
    position: static;
}

.profile_subheading-title{
    font-size: 2.5rem;
    font-weight: var(--font-weight-extra-bold);
}

.profileContent-wp{
    margin-top: 4rem;
}

.profileContent__item-title{
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.profileContent__item{
    padding: 1.5rem 3rem;
    position: relative;
    border-bottom: solid 1px #DDDDDD;
}

.profileContent__item:last-child{
    border-bottom: none;
}

.profileContent__item-detail{
    display: flex;
    flex-wrap: wrap;
    max-width: 70%;
    gap: 0 2rem;
}

.profileContent__item-detail li{
    font-size: 1.3rem;   
    color: #888888;
}

.profileContent__item .settingButtonWP{
    position: absolute;
    right: 2rem;
    bottom: 1.5rem;
}

@media screen and (max-width: 1000px){
    .column02__inr{
        max-width: 1160px;
        padding: 0 5%;
        box-sizing: content-box;
        margin: 0 auto;
        display: flex;
        gap: 0 3rem;
    }
    
    .column02__inr{
        flex-direction: column;
    }
    
    .column02__block{
        width: 100%;
    }

    .profilePage{
        padding-bottom: 6rem;
    }
}

@media screen and (max-width: 750px){
    .profileBasic__thumbnail{
        min-width: 13rem;
        width: 13rem;
        height: 13rem;
        margin: 0 auto;
        border: solid 6px #fff;
        overflow: hidden;
        border-radius: 50%;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
    }

    .profileBasic__content{
        margin-top: 2rem;
    }

    .profile_subheading-title{
        font-size: 2rem;
    }

    .profileContent__item-title{
        font-size: 1.4rem;
        margin-bottom: 0;
    }

    .profileContent__item .settingButtonWP{
        position: static;
    }

    .profileContent__item{
        padding: 2rem 1.5rem;
    }

    .settingButtonWP__button{
        font-size: 1.3rem;
    }

    .profileBasic__detail-wp .profileBasic__detail-title{
        margin-bottom: 0;
    }

    .profileBasic__kana{
        font-size: 1.4rem;
    }
    .profileBasic__content .button-block__link {
        font-size: 1.3rem;
        padding: 1px 20px 0;
    }

    .profileBasic{
        margin-bottom: 1rem;
        gap: 1.5rem;
    }
    
    .profileBasic__content .button-block{
        margin-top: 1.2rem;
    }

    .profileBasic__name{
        font-size: 2rem
    }

    .profileBasic__honorifics{
        font-size: 1.5rem;
    }

    .table01 td span.date-end{
        display: block;
    }
}

@keyframes bg_color {
    0%,26%  {
        background-color: #E3E9ED;
    }
    33%, 60% {
        background-color: #F3EEE8; 
    }
    69%, 90% {
        background-color: #E3EFE0;  /* 14-21秒で透明に戻る */
    }
    100% {
        background-color: #E3E9ED;
    }
}

@keyframes txt_color {
    0%,26%  {
        color: #0050FF;
    }
    33%, 60% {
        color: #FF4100;
    }
    69%, 90% {
        color: #009123;
    }
    100% {
        color: #0050FF;
    }
}

.p_mypage{
    padding-bottom: 11rem;
}

.mypageHeader{
    width: 100%;
    height: 33rem;
    margin-top: 10.5rem;
    position: relative;
}

.mypage_title{
    font-size: 4.8rem;
    color: #fff;
    margin-bottom: 1rem;
    font-weight: var(--font-weight-extra-bold);
}

.mypageHeader .button-block--gradient{
    border: solid 2px #fff;
    max-width: 200px;
}

.mypageHeader .button-block--gradient .button-block__link{
    font-size: 1.4rem;
    width: 100%;
}

.mypageNews{
    padding-right: 5%;
    padding-left: 5%;
}

.mypageNews__inr{
    max-width: 1160px;
    margin: 0 auto;
    display: flex;
    border-radius: 5px;
    overflow: hidden;
    animation: bg_color 28s infinite;
}

.mypageNewsBlock{
    width: 50%;
    padding: 3.5rem 5rem;
}

.mypageNewsBlock:nth-child(1){
    border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.mypageNews_head-title{
    font-size: 2.5rem;
    font-weight: var(--font-weight-extra-bold);   
    color: #0050FF;
    animation: txt_color 28s infinite;
}

.mypageNews_head-title a{
    font-weight: var(--font-weight-extra-bold);   
    color: #0050FF;
    animation: txt_color 28s infinite;
    transition: .3s;
}

@media (hover: hover) {
    .mypageNews_head-title a:hover{
        opacity: 0.7;
    }
}

.mypageNews__content-item{
    display: flex;
    font-size: 1.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 2rem 0;
    gap: 1rem;
}

.mypageNews__content-text a{
    transition: .3s;
}
@media (hover: hover) {
    .mypageNews__content-text a:hover{
        opacity: 0.7;
    }
}

.mypageNews__content-date{
    color: #0050FF;
    animation: txt_color 28s infinite;
}

.mypageNews__content-item:last-child{
    border: none;
}

.p_mypage .default_inr{
    height: 100%;
    position: relative;
    z-index: 2;
    padding-top: 8rem;
    box-sizing: border-box;
    padding-left: 5%;
}

.mypageHeader__bg{
    top: 0;
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1;
}

.mypageHeader__bg .bg__layer{
    top: 0;
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1;
}

.mypageHeader__bg .bg__layer.-layer02{
    animation: fadeInOutAfter 28s infinite;
}

.mypageHeader__bg .bg__layer.-layer03{
    animation: fadeInOutBefore 28s infinite;
}

.mypageHeader__bg .bg__layer img{
    height: 100%;
    object-fit: cover;
    width: 100%;
    object-position: bottom right;
    transition: .3s;
}

.mypageNews{
    margin-top: -3rem;
    position: relative;
    z-index: 3;
}

@media screen and (max-width: 1160px){
    .mypageHeader{
        margin-top: 6rem;
    }
}

@media screen and (max-width: 1080px){
    .mypageHeader{
        height:  28rem;
    }

    .mypage_title{
        font-size: 3.8rem;
    }
    
    .mypageHeader__bg .bg__layer img{
        object-position: bottom 0px right 0;
    }

    .p_mypage .default_inr{
        padding-top: 6rem;
    }
}

@media screen and (max-width: 750px){
    .mypageHeader{
        height:  24rem;
    }
    
    .mypageNews__inr{
        flex-direction: column;
    }
    
    .mypageNewsBlock{
        width: 100%;
        box-sizing: border-box;
        padding: 3.5rem 2rem 2rem;
    }

    .mypageNewsBlock:nth-child(1){
        border: none;
    }

    .mypageNewsBlock:nth-child(2){
        padding-top: 0;
    }

    .p_mypage .default_inr{
        margin-top: 6rem;
        padding-top: 5rem;
    }

    .mypage_title{
        font-size: 2.8rem;
    }

    .mypageHeader .button-block--gradient{
        max-width: 14rem;
    }

    .mypageHeader .button-block--gradient .button-block__link{
        padding: 0.6rem 1rem;
        font-size: 1.2rem;
    }

    .mypageNews_head-title{
        font-size: 2rem;
    }

    .mypageNews__content-item{
        font-size: 1.4rem;
    }

    .mypageNews{
        margin-top: -2rem;
        margin-bottom: 6rem;
    }

    .mypageNews__content-item{
        flex-direction: column;
        gap: 0.5rem;
    }

    .mypageHeader__bg .bg__layer img{
        object-position: bottom right;
    }
}

.meritSec__textcon .myIntroduction__btn{
    position: relative;
    top: 0;
    left: 0;
    right: auto;
    justify-content: left;
    margin-top: 3rem;
    flex-direction: row-reverse;
}


@media screen and (max-width: 750px){
    .meritSec__textcon .myIntroduction__btn{
        position: relative;
        top: 0;
        left: 0;
        right: auto;
        justify-content: right;
        margin-top: 3rem;
        flex-direction: row;
    }
}


/* :::::::::::::::::::: faq :::::::::::::::::::: */
.faq {
    background-color: #EFEFEF;
}
.faq__contents {
    padding-bottom: 11rem;
}
.faq__list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.faq__item {
    background-color: #EFEFEF;
    border-radius: 5px;
    overflow: hidden;
}
.faq__accordion-button {
    cursor: pointer;
    position: relative;
    padding: 4rem 3rem;
    background-color: #EFEFEF;
    transition: .3s;
}

@media (hover: hover) {
    .faq__accordion-button:hover{
        opacity: 0.7;
    }
}
.faq__title {
    position: relative;
    padding-left: 5rem;
    padding-right: 5rem;
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.05em;
    color: #111;
    font-weight: var(--font-weight-extra-bold);
}
.faq__title::before {
    content: 'Q';
    position: absolute;
    top: -5px;
    left: 0;
    display: inline;
    font-family: "Metric", sans-serif;
    font-weight: 500;
    font-variation-settings: "slnt" 0;
    font-size: 4rem;
    line-height: 1;
    color: #111;
}
.faq__accordion-icon {
    position: absolute;
    top: 4rem;
    right: 3rem;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    overflow: hidden;
    border: none;
    transition: .3s;
    background: linear-gradient(120deg, 
        rgba(0, 160, 180, 1) 0%,      /* 青緑 */
        rgba(0, 57, 255, 1) 10%,      /* 青 */
        rgba(255, 218, 0, 1) 20%,     /* 黄色 */
        rgba(255, 29, 0, 1) 30%,      /* 赤 */
        rgba(215, 205, 0, 1) 40%,     /* 黄色 */
        rgba(6, 149, 0, 1) 50%,       /* 緑 */
        rgba(0, 160, 180, 1) 60%,     /* 青緑 */
        rgba(6, 149, 0, 1) 70%,       /* 緑 */
        rgba(255, 218, 0, 1) 80%      /* 黄色 */
    );
    background-size: 1000% 100%;
    /*background-position: 20% 0%;*/
    animation: btnAnime 28s infinite cubic-bezier(0.76, 0, 0.24, 1);
}

.accordion-button.-open .faq__accordion-icon {
    background: #AAAAAA;
}

.accordion-button.-open .faq__accordion-icon_blue,
.accordion-button.-open .faq__accordion-icon_orange{
    width: 0;
    height: 0;
}

.faq__accordion-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 1.3rem;
    z-index: 1;
    transform: translate( 0, -50%);
    transform-origin: center;
    display: block;
    width: 1.4rem;
    height: 2px;
    background-color: #fff;
}
.accordion-button.-open .faq__accordion-icon::before {
    background-color: #fff;
}
.faq__accordion-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 1.3rem;
    z-index: 2;
    transform: translate( 0, -50%) rotate(90deg);
    transform-origin: center;
    display: block;
    width: 1.4rem;
    height: 2px;
    background-color: #fff;
    opacity: 1;
}
.accordion-button.-open .faq__accordion-icon::after {
    opacity: 0;
}

.accordion-button.-open .faq__accordion-icon::before {
    left: 1.3rem;
}

.faq__accordion-content {
    padding: 4rem 3rem 6rem;
    border-top: 1px solid #DDDDDD;
}
.faq__text {
    position: relative;
    padding-left: 5rem;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
}
.faq__text::before {
    content: 'A';
    position: absolute;
    top: -7px;
    left: 0;
    display: inline;
    font-family: "Metric", sans-serif;
    font-weight: 500;
    font-variation-settings: "slnt" 0;
    font-size: 4rem;
    line-height: 1;
    color: #aaaaaa;
}

.faq__text a{
    text-decoration: underline;
    transition: .3s;
}

@media (hover: hover) {
    .faq__text a:hover{
        opacity: 0.7;
    }
}

/* -------------------- faq responsive (1000) -------------------- */
@media screen and (max-width: 1000px) {
    .faq {}
    .faq__contents {
        padding-bottom: 7rem;
    }
    .faq__list{
        max-width: calc(100% - 10%);
        margin: 0 auto;
        gap: 2rem;
    }
    .faq__accordion-button {
        padding: 2.5rem 1.5rem;
    }
    .faq__title {
        padding-left: 3.5rem;
        padding-right: 3.5rem;
        font-size: 1.6rem;
        line-height: 2;
    }
    .faq__title::before {
        font-size: 3rem;
        top: 0;
    }
    .faq__accordion-icon {
        top: 2.5rem;
        right: 1.5rem;
        width: 3rem;
        height: 3rem;
    }
    .accordion-button.-open .faq__accordion-icon {}
    .faq__accordion-icon::before {
        left: 1rem;
        width: 1rem;
    }
    
    .faq__accordion-icon::after {
        left: 1rem;
        width: 1rem;
    }
    .accordion-button.-open .faq__accordion-icon::after {}
    .faq__accordion-content {
        padding: 2.5rem 2rem 3rem;
    }
    .faq__text {
        padding-left: 3rem;
    }
    .accordion-button.-open .faq__accordion-icon::before{
        left: 1rem;
    }
    .faq__text::before {
        font-size: 3rem;
        top: 0;
        left: -0.4rem;
    }
    .p_mypage{
        padding-bottom: 6rem;
    }
}
/* :::::::::::::::::::: faq end :::::::::::::::::::: */

.about_intro__inr{
    position: relative;
    display: inline-block;
}

.about_intro__inr:after{
    content: "";
    display: block;
    height: 26rem;
    width: 26rem;
    background: url(../images/about/intro_icon.png)no-repeat center;
    background-size: cover;
    position: absolute;
    right: -16.5rem;
    top: -3rem;
    z-index: -1;
}

.about_intro__inr p{
    font-size: 1.8rem;
    line-height: 2.27;
    font-weight: bold;
    text-align: center;
}

.meritLoginFlow{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6rem 0;
}

.meritLoginFlow + .button-wrapper{
    margin-top: 7rem;
}

.meritLoginFlow__item{
    width: calc(50% - 3rem);
    position: relative;
}

.meritLoginFlow__item:after{
    position: absolute;
    content: "";
    width: 12rem;
    height: 12rem;
    display: block;
    background: url('../images/about/login_merit_icon01.png')no-repeat center center;
    background-size:cover;
    bottom: -1.5rem;
    z-index: -1;
    right: 0;
}

.meritLoginFlow__item:nth-child(2):after{
    background: url('../images/about/login_merit_icon02.png')no-repeat center center;
    background-size:cover;
}
.meritLoginFlow__item:nth-child(3):after{
    background: url('../images/about/login_merit_icon03.png')no-repeat center center;
    background-size:cover;
}
.meritLoginFlow__item:nth-child(4):after{
    background: url('../images/about/login_merit_icon04.png')no-repeat center center;
    background-size:cover;
}
.meritLoginFlow__item:nth-child(5):after{
    background: url('../images/about/login_merit_icon05.png')no-repeat center center;
    background-size:cover;
}
.meritLoginFlow__item:nth-child(6):after{
    background: url('../images/about/login_merit_icon06.png')no-repeat center center;
    background-size:cover;
}
.meritLoginFlow__item:nth-child(7):after{
    background: url('../images/about/login_merit_icon07.png')no-repeat center center;
    background-size:cover;
}

.meritLoginFlow__item p{
    font-size: 1.7rem;
    line-height: 1.88;
    padding-right: 5rem;
    font-weight: var(--font-weight-bold);
}

.meritLoginFlow__head{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 2.5rem;
    height: 6.5rem;
}

.meritLoginFlow__head-num{
    min-width: 6.5rem;
    margin-right: 3rem;
}

.meritLoginFlow__head-tit{
    font-size: 2.5rem;
    line-height: 1.6;
    font-weight: var(--font-weight-extra-bold);
}

@media screen and (max-width: 1160px){
    .meritLoginFlow__head-tit{
        font-size: 2.1rem;
    }
}

@media screen and (max-width: 1000px){
    .about_intro__inr{
        max-width: 800px;
        width: 90%;
        padding-right: 5%;
        box-sizing: border-box;
    }

    .about_intro__inr p{
        font-size: 1.6rem;
    }
    
    .meritLoginFlow{
        max-width: 90%;
        margin: 0 auto;
        gap: 4rem;
    }

    .about_intro__inr:after{
        width: 16rem;
        height: 16rem;
    }

    .meritLoginFlow__item{
        width: 100%;
    }

    .meritLoginFlow__head-tit{
        font-size: 1.7rem;
    }

    .meritLoginFlow__head{
        height: 6rem;
    }

    .meritLoginFlow__head-num{
        width: 6rem;
        margin-right: 2rem;
    }

    .meritLoginFlow__item p{
        padding-right: 5%;
        font-size: 1.4rem;
    }

    .meritLoginFlow__item:after{
        width: 8rem;
        height: 8rem;
    }

    .about_intro__inr:after{
        right: 0;
        top: auto;
        bottom: -15px;
    }

    .about_intro__inr p{
        text-align: left;
    }

    .meritLoginFlow + .button-wrapper{
        margin-top: 4rem;
    }
}

@media screen and (max-width: 750px){
    .meritLoginFlow__head-num{
        width: 5rem;
        min-width: 5rem;
        margin-right: 1.5rem;
    }

    .meritLoginFlow__head-tit{
        font-size: 1.5rem;
    }

    .meritLoginFlow__head{
        margin-bottom: 2rem;
    }
}

/* 会員登録の流れ */
.login-flowContent__item{
    background: #fff;
}

.login-flowContent{
    display: flex;  
    justify-content: center;
    position: relative;
    gap: 0 14rem;
    margin-top: 8rem;
}

.login-flowContent:before{
    position: absolute;
    display: block;
    content: "";
    width: 80%;
    height: 1px;
    background: #000;
    top: 2rem;
    z-index: -1;
}

.login-flowContent__title{
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
}

.login-flowContent__title--tit{
    position: relative;
    z-index: 2;
}

.login-flowContent__thumb{
    width: 16rem;
    padding-left: 5rem;
    padding-right: 3rem;
    position: relative;
    z-index: 2;
}

.login-flowContent__num{
    background: #fff;
    font-size: 12rem;
    position: absolute;
    color: #E5E5E5;
    left: 2rem;
    z-index: 0;
    height: 0rem;
    top: -10rem;
    font-family: "Metric", sans-serif;
    font-weight: 500;
}

.login-flowContent_txtContentWP{
    margin: 4rem auto 0;
    max-width: 980px;
    width: 90%;
}

.login-flowContent_txtContent{
    font-size: 1.5rem;
    line-height: 2;
}

/* プロジェクト参画までの流れ */
.project-flowContents {
    display: flex;
    gap: 8rem; /* アイテム間の間隔 */
}

.project-flowContents--item {
    display: flex;
    flex-direction: column;
    flex: 1 1 calc(33.333% - 8rem); /* 3列レイアウト */
    box-sizing: border-box;
    position: relative;
    gap: 2rem 0;
    margin-bottom: 4rem;
}

.project-flowContents--item:after {
    width: 10px;
    height: 10px;
    content: "";
    display: block;
    border-top: 2px solid #111;
    border-right: 2px solid #111;
    position: absolute;
    right: -4rem;
    top: 8rem;
    box-sizing: border-box;
    transform: rotate(45deg);
}

.project-flowContents--item:last-child:after {
    display: none;
}

.project-flowContents--thumb img {
    width: 100%;
    height: auto; /* 画像の高さを自動調整 */
}

.project-flowContents--txtWP {
    display: flex;
    flex-direction: column;
    flex-grow: 2;
    align-items: baseline;
}

.project-flowContents--tit {
    font-size: 2rem;
    line-height: 1.75;
    font-weight: var(--font-weight-extra-bold);
    display: flex;
    align-items: flex-start; /* 縦方向の中央揃え */
    justify-content: center; /* 横方向の中央揃え */
    min-height: 7rem; /* タイトルの高さを統一 */
}
.project-flowContents--txt {
    font-size: 1.5rem;
    line-height: 2;
    margin-top: 1.5rem;
    flex-grow: 1;
}

.project-flowContents + .button-wrapper {
    margin-top: 6rem;
}

@media screen and (max-width: 1000px) {
    .project-flowContents{
        flex-direction: column;
        gap: 1.5rem;
    }

    .project-flowContents--item{
        display: flex;
        gap: 2rem;
        flex-direction: row;
    }

    .project-flowContents--thumb{
        width: 10rem;
    }
    
    .project-flowContents{
        max-width: 80%;
        margin: 0 auto;
    }

    .project-flowContents--item:after{
        left: 0;
        right: 0;
        top: auto;
        bottom: -3rem;
        margin: 0 auto;
        transform: rotate(135deg);
    }

    .project-flowContents + .button-wrapper{
        margin-top: 4rem;
    }

    .project-flowContents--txtWP{
        flex: 1;
    }

    .project-flowContents--tit{
        margin-top: 0;
        font-size: 1.7rem;
        min-height: auto;
    }
    
    .project-flowContents--txt{
        margin-top: 1rem;
        font-size: 1.4rem;
    }

    .login-flowContent{
        max-width: 1000px;
        padding: 0;
        padding-left: 3%;
        width: 98%;
        gap: 0;
        justify-content: space-between;
    }

    .login-flowContent_txtContentWP{
        width: 90%;
    }
}

@media screen and (max-width: 750px){
    .login-flowContent__title{
        margin-bottom: 0;
    }

    .login-flowContent{
        flex-direction: column;
        width: 100%;
        margin: 0 auto;
        gap: 4rem;
        position: relative;
    }

    .login-flowContent__item{
        background: none;
    }

    .login-flowContent__title{
        position: relative;
        width: 7em;
    }

    .login-flowContent__title::after{
        background: #000;
        position: absolute;
        display: block;
        content: "";
        z-index: -1;
        left: 0;
        bottom: -13vw;
        width: 1px;
        height: 100%;
    }

    .login-flowContent__item:last-child .login-flowContent__title::after{
        display: none;
    }

    .login-flowContent_txtContentWP{
        margin: 5rem auto 0;
    }

    .login-flowContent_txtContent{
        font-size: 1.4rem;
    }

    .login-flowContent__item{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10%;
    }

    .login-flowContent__title{
        font-size: 1.8rem;
    }

    .login-flowContent__thumb{
        min-width: 8rem;
        width: 20%;
        padding: 0;
    }

    .login-flowContent__num{
        left: -2rem;
        top: -7rem;
        font-size: 9rem;
    }

    .login-flowContent:before{
        display: none;
    }
} 

@media screen and (max-width: 480px){
    .about_intro__inr{
        width: 90%;
    }

    .meritLoginFlow{
        max-width: 90%;
    }

    .login-flowContent_txtContentWP{
        width: 90%;
    }

    .project-flowContents{
        max-width: 90%;
    }

    .article-card__image-wrapper{
        min-width: 18rem;
    }
}

@media screen and (max-width: 450px){
    .login-flowContent__title::after{
        bottom: -5.5rem;
    }
}

#ui-datepicker-div{
    z-index: 99999!important;
}

.page-numbers.prev, .page-numbers.next{
    display: none;
}

.password_reset .form_txt{
    margin-bottom: 1rem;
}

.password_reset .section__description{
    margin: 1rem 0 2rem;
}

.datasign__triggerAndDialogContainer--index-module {
    bottom: 70px !important;
}