@charset "utf-8";

#abgtcnmc{
    margin:0px auto;
}

#abgtcnmc a{
    text-decoration: none;
    color: inherit;
    transition: opacity 0.3s;
}

#abgtcnmc a:hover{
    text-decoration: none;
    opacity: 0.7;
}

#abgtcnmc .text-underline{
    text-decoration: underline ;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.2px;
    color: #0000ee;
}

#abgtcnmc .text-underline:hover{
    text-decoration: underline ;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.2px;
    opacity: 0.7;
}

#abgtcnmc .text-underline02{
    text-decoration: underline ;
    text-underline-offset: 20%;
    text-decoration-thickness: 6px;
    text-decoration-color: #E60012;
}

#abgtcnmc .wrap01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#abgtcnmc .p-center{
    display: flex !important;
    justify-content: center;
    align-items: center;
}

#abgtcnmc img {
  display: block; /* 要素をブロック化 */
}

#abgtcnmc .img-responsive { /* イメージのレスポンシブ */
    display: block;
    max-width: 100%;
    height: auto;
    margin:  0 auto;
}

#abgtcnmc .col-1{
    width: 10%;
}
#abgtcnmc .col-1_5{
    width: 15%;
}
#abgtcnmc .col-2{
    width: 20%;
}
#abgtcnmc .col-3{
    width: 30%;
}
#abgtcnmc .col-4{
    width: 40%;
}
#abgtcnmc .col-4_4{
    width: 44%;
}
#abgtcnmc .col-5{
    width: 50%;
}
#abgtcnmc .col-6{
    width: 60%;
}
#abgtcnmc .col-7{
    width: 70%;
}
#abgtcnmc .col-7_5{
    width: 75%;
}
#abgtcnmc .col-8{
    width: 80%;
}
#abgtcnmc .col-9{
    width: 90%;
}
#abgtcnmc .col-10{
    width: 100%;
}

#abgtcnmc .col-1,
#abgtcnmc .col-1_5,
#abgtcnmc .col-2,
#abgtcnmc .col-3,
#abgtcnmc .col-4,
#abgtcnmc .col-4_4,
#abgtcnmc .col-5,
#abgtcnmc .col-6,
#abgtcnmc .col-7,
#abgtcnmc .col-7_5,
#abgtcnmc .col-8,
#abgtcnmc .col-9, 
#abgtcnmc .col-10{
    float: left;
    margin: 0 auto;
}

#abgtcnmc .clearfix::after {   /* float解除したい親要素に */
  content: "";
  display: block;
  clear: both;
}

#abgtcnmc_main{
    width:1000px;
    margin:0px auto;
    text-align:left;
    font-size:15px;
}

#abgtcnmc .circle01 {
    align-items: center;
    justify-content: center;
    /* width: 72px;
    height: 72px; */
    width: 95%;
    height: 95%;
    max-width: 200px;
    max-height: 200px;
    background-color: #E60012;
    border: 0px solid #E60012;
    border-radius: 50%;
    right: 0;
    bottom: 0;
    padding: 30% 5%;
}

#abgtcnmc .circle02 {
    align-items: center;
    justify-content: center;
    /* width: 72px;
    height: 72px; */
    width: 95%;
    height: 95%;
    max-width: 200px;
    max-height: 200px;
    background-color: #ED6C00;
    border: 0px solid #ED6C00;
    border-radius: 50%;
    right: 0;
    bottom: 0;
    padding: 30% 5%;
}

/* ---------- 背景色ここから ---------- */
.bg-color-black {
    background-color: #000;
}
.bg-color-cyan {
    background-color: #c6e2f8;
}
.bg-color-red {
    background-color: #E60012;
}
.bg-color-orange {
    background-color: #ED6C00;
}




/* 使用フォントサイズ
==================================================*/
/* ---------- 使用フォントサイズここから ---------- */
#abgtcnmc .f-size12 {
    font-size: 1.09vw;
}
#abgtcnmc .f-size16 {
    font-size: 1.5vw;
}
#abgtcnmc .f-size20 {
    font-size: 1.818vw;
}
#abgtcnmc .f-size26 {
    font-size: 2.4vw;
}
#abgtcnmc .f-size28 {
    font-size: 2.545vw;
}
#abgtcnmc .f-size40 {
    font-size: 3.636vw;
}
#abgtcnmc .f-size50 {
    font-size: 4.545vw;
}
#abgtcnmc .f-size60 {
    font-size: 5.454vw;
}


/* ---------- 幅1100以上では指定のフォントサイズより大きくしないここから　---------- */
@media(min-width:1100px) {
#abgtcnmc .f-size12 {
    font-size: 12px;
}
#abgtcnmc .f-size16 {
    font-size: 16px;
}
#abgtcnmc .f-size20 {
    font-size: 20px;
}
#abgtcnmc .f-size26 {
    font-size: 26px;
}
#abgtcnmc .f-size28 {
    font-size: 28px;
}
#abgtcnmc .f-size40 {
    font-size: 40px;
}
#abgtcnmc .f-size50 {
    font-size: 50px;
}
#abgtcnmc .f-size60 {
    font-size: 60px;
}
}

/* ---------- 幅920以下では指定のフォントサイズより小さくしないここから　---------- */
@media(max-width:920px) {
#abgtcnmc .f-size12 {
    font-size: 11px;
}
}

/* ---------- 幅794以下では指定のフォントサイズ　---------- */
@media(max-width:794px) {
#abgtcnmc .f-size16 {
    font-size: 1.875vw;
}
#abgtcnmc .f-size20 {
    font-size: 2.272vw;
}
#abgtcnmc .f-size26 {
    font-size: 3vw;
}
#abgtcnmc .f-size28 {
    font-size: 3.181vw;
}
#abgtcnmc .f-size40 {
    font-size: 4.545vw;
}
#abgtcnmc .f-size50 {
    font-size: 5.454vw;
}
#abgtcnmc .f-size60 {
    font-size: 6.4vw;
}
#abgtcnmc .f-size70-s {
    font-size: 7.8vw;
}
}

/* ---------- 幅720以下では指定のフォントサイズより小さくしないここから　---------- */
@media(max-width:720px) {
#abgtcnmc .f-size16 {
    font-size: 14px;
}
#abgtcnmc .f-size20 {
    font-size: 16px;
}
#abgtcnmc .f-size26 {
    font-size: 22px;
}
#abgtcnmc .f-size28 {
    font-size: 24px;
}
#abgtcnmc .f-size50 {
    font-size: 32px;
}
}


/* 使用フォント太さ
==================================================*/
#abgtcnmc .f-weight400 {
    font-weight: 400;
}
#abgtcnmc .f-weight600 {
    font-weight: 600;
}
#abgtcnmc .f-weight700 {
    font-weight: 700;
}
#abgtcnmc .f-weight800 {
    font-weight: 800;
}


/* ------------------------------ text関係ここから ------------------------------ */
/* ---------- テキスト揃え位置ここから ---------- */
#abgtcnmc .text-a-c {
    text-align: center; 
}
#abgtcnmc .text-a-l {
    text-align: left; 
}
#abgtcnmc .text-a-r {
    text-align: right; 
}
/* ---------- テキスト揃え位置ここまで ---------- */

/* ---------- テキストインデントここから ---------- */
#abgtcnmc .text-indent {
    text-indent: -1em;
    padding-left: 1em;
}
  /* ---------- テキストインデントここまで ---------- */

/* ---------- 文字色ここから ---------- */
#abgtcnmc .f-color-black {
    color: #000000;
}
#abgtcnmc .f-color-white {
    color: #FFFFFF;
}
#abgtcnmc .f-color-red {
    color: #E60012;
}
#abgtcnmc .f-color-orange {
    color: #ED6C00;
}
#abgtcnmc .f-color-yellow {
    color: #FFF100;
}
#abgtcnmc .f-color-lightblue {
    color: #00B9EF;
}
/* ---------- 文字色ここまで ---------- */

/* ---------- テキスト行間ここから ---------- */
#abgtcnmc .line-h10{
    line-height: 1.0;
    display: block;
}
#abgtcnmc .line-h11{
    line-height: 1.1;
    display: block;
}
#abgtcnmc .line-h12{
    line-height: 1.2;
    display: block;
}
#abgtcnmc .line-h13{
    line-height: 1.3;
    display: block;
}
#abgtcnmc .line-h14{
    line-height: 1.4;
    display: block;
}
#abgtcnmc .line-h15{
    line-height: 1.5;
    display: block;
}
#abgtcnmc .line-h16{
    line-height: 1.6;
    display: block;
}
#abgtcnmc .line-h17{
    line-height: 1.7;
    display: block;
}
/* ---------- テキスト行間ここまで ---------- */

/*----------  マージン  ----------*/
#abgtcnmc .margin2-0-0-0{
    margin:2% 0 0 0 ;
}
#abgtcnmc .margin2_5-0-0-0{
    margin:2.5% 0 0 0 ;
}
#abgtcnmc .margin3-0-0-0{
    margin:3% 0 0 0 ;
}
#abgtcnmc .margin5-0-0-0{
    margin:5% 0 0 0 ;
}
#abgtcnmc .margin0-2_5-0-2_5{
    margin: 0 2.5% ;
}
#abgtcnmc .margin0-5-0-5{
    margin: 0 5% ;
}
#abgtcnmc .margin0-24-0-24{
    margin: 0 24% ;
}

@media only screen and (max-width:767px) {
    
   #abgtcnmc .margin3_5-0-0-0-s {
    margin: 3.5% 0 0 0;
    }
    #abgtcnmc .margin4-0-0-0-s {
    margin: 1% 0 0 0;
    }
}

/*----------  パディング  ----------*/
#abgtcnmc .padding2-2-2-2{
    padding:2% ;
}
#abgtcnmc .padding1-0-1-0{
    padding:1% 0 ;
}
#abgtcnmc .padding2-0-2-0{
    padding:2% 0 ;
}
#abgtcnmc .padding3-0-3-0{
    padding:3% 0 ;
}
#abgtcnmc .padding4-2-4-2{
    padding:4.2% 2% ;
}
#abgtcnmc .padding0-3-0-2{
    padding:0 3% 0 2.6% ;
}
#abgtcnmc .padding0-3-0-3{
    padding:0 3% ;
}
#abgtcnmc .padding0-5-0-4{
    padding:0 5% 0 4.6% ;
}
#abgtcnmc .padding0-5-0-5{
    padding:0 5% ;
}
#abgtcnmc .padding3-5-0-5{
    padding:3% 5% 0 5% ;
}

/*----------  線  ----------*/
/* ---------- 内側線ここから ---------- */
#abgtcnmc .insideline{
    box-sizing: border-box;
    border-style: solid;
    border-width: 3px;
    border-color: #a5814c;
    border-radius: 1.5rem;        /* CSS3 */  
    -webkit-border-radius: 1.5rem;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 1.5rem;   /* Firefox用 */ 
    background-color: rgba(255, 255, 255, 0.8);
}

#abgtcnmc .insideline02{
    box-sizing: border-box;
    border-style: solid;
    border-width: 1.5px;
    border-color: #000000;
}
#abgtcnmc .insideline03{
    box-sizing: border-box;
    border-style: solid;
    border-width: 2px;
    border-color: #a5814c;
    padding: 1% 0;
}

#abgtcnmc .insideline04{
    box-sizing: border-box;
    border-radius: 1.5rem;        /* CSS3 */  
    -webkit-border-radius: 1.5rem;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 1.5rem;   /* Firefox用 */ 
    background-color: rgba(255, 255, 255, 0.8);
}

#abgtcnmc .insideline05{
    box-sizing: border-box;
    border-radius: 0.5rem;        /* CSS3 */  
    -webkit-border-radius: 0.5rem;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 0.5rem;   /* Firefox用 */ 
}

/* ---------- 内側に線ここまで ---------- */

#abgtcnmc .left-line { 
    border-left: solid;
    border-width:  3px;
    border-color: #a5814c;
}

#abgtcnmc .top-line { 
    border-top: solid;
    border-width:  1.5px;
    border-color: #000;
    margin: 1% 5% 0 5%;
}




/*----------  サブメニュー  ----------*/

/*  共通  */
#abgtcnmc .sub-menu{
    position: sticky;
    top: 0;
    width: 100%;
    height: 80px;
    background-color: #fff;
    box-shadow: 0 0 12px rgba(0,0,0,0.12);
    z-index: 1000;
}

#abgtcnmc .sub-menu_logo{
    max-width: 360px;
    width: 90%;
    padding: 0 5%;
    flex-shrink: 0; /* 圧縮を禁止 */
}

#abgtcnmc a.sub-menu__link{
    color: #666666;
    font-weight: 600;
}

#abgtcnmc a.sub-menu__link--red{
    color: #fff;
}

#abgtcnmc .sub-menu__inner {
    max-width: 1000px;
    width: 100%;
    margin: auto;
}

#abgtcnmc .sub-menu_link a {
    height: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    margin-left: 20px;
    margin-right: 20px;
    text-decoration: none;
    position: relative;
    transition: 0.3s ease;
}

@media (max-width:1100px) {
    #abgtcnmc .sub-menu{
    position: sticky;
    top: 0;
    width: 100%;
    height: 7.6vw;
    background-color: #fff;
    box-shadow: 0 0 12px rgba(0,0,0,0.12);
    z-index: 888;
}
}


/*  SP用  */
@media (max-width:767px) {
    #abgtcnmc .sub-menu {
        position: sticky;
        top: 0;
        width: 100%;
        height: 120px;
    }
    #abgtcnmc .sub-menu__inner {
    max-width: 767px;
    width: 100%;
    margin: auto;
}

    #abgtcnmc .sub-menu-col-9 {
        width: 90%;
        height: 50px;
        padding: 0 5%;
        margin: 0 !important;
    }

    #abgtcnmc .sub-menu-logomargin {
        margin: 4% auto 0 auto !important;
    }

     #abgtcnmc .sub-menu-margin {
        margin: 2% 0 0 0 !important;
    }

    #abgtcnmc a .sub-menu__link{
    font-size: 12px;
    line-height: 1.3;
    height: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    }
}

/*----------  KV  ----------*/

    #abgtcnmc .kv_top {
        width: 100%;
        background: url("../_images/bg_top_KV_PC.jpg") ;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        aspect-ratio: 3 / 2; /* アスペクト比を保持してレスポンシブ */
        padding: 5% 0;
    }
    #abgtcnmc .kv_top .container {
        box-sizing: content-box;
        max-width: 1000px;
        margin: 0 auto;
    }

@media(max-width: 1099px) {
    #abgtcnmc .kv_top .container {
        box-sizing: content-box;
        width: 94%;
        margin: 0 3%;
    }
}

@media(max-width: 794px) {
    #abgtcnmc .kv_top {
        width: 100%;
        background: url("../_images/bg_top_KV_PC.jpg") ;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        aspect-ratio: 3 / 2; /* アスペクト比を保持してレスポンシブ */
        padding: 8% 0;
    }
}

#abgtcnmc .kv_top .top_logo {
    width: 70%;
    margin: 0 !important;
    /* max-width: 300px; */
}

#abgtcnmc .kv_top_catch {
    position: relative;
}

#abgtcnmc .catch_circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26%;
    height: 100%;
    max-width: 260px;
    max-height: 140px;
    border: 3px solid #a5814c;
    border-radius: 50%;
    position: absolute;
    right: 0;
    bottom: 0;
}


#abgtcnmc .kv_top_cards-img {
    margin: 5% 0 2% 0;
}
#abgtcnmc .kv_top_cards-img img {
    display: block;
    width: 55%;
    height: auto;
}



#abgtcnmc a.button_join {
    background-color: #E60012;
    color: #FFFFFF;
    font-size: 20px;
    display: flex;
    width: 80%;
    margin: 0 10%;
    height: 57px;
    align-items: center;
    justify-content: center;
    box-shadow: 4px 4px 4px #00000029;
    border-radius: 8px;
    margin-top: 48px;
    z-index: 10;
    position: relative;
    transition: background-color 0.3s;
}

#abgtcnmc a.button_join:hover {
    background-color: #ED4B59;
    opacity: 1;
}

#abgtcnmc a.button_join img {
    margin-right: 8px;
}

@media(min-width: 768px) {
    #abgtcnmc a.button_join {
        width: 468px;
        margin-top: 40px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* ---------- 幅794以下でレイアウト変更　---------- */
@media(max-width:794px) {
#abgtcnmc .col-4_4 {
    width: 94%;
    margin: 0 1%;
    padding: 0 2%;
}
#abgtcnmc .left-line { 
    border-width:  1px;
    border-top: solid;
    border-left: none;
    border-color: #a5814c;
}
#abgtcnmc .margin5-2-0-2-s {
    margin: 5% 2% 0 2%;
}

#abgtcnmc .disp-none {
    display: none;
}

#abgtcnmc .circle01 {
    align-items: center;
    justify-content: center;
    /* width: 72px;
    height: 72px; */
    width: 95%;
    height: 95%;
    max-width: 200px;
    max-height: 200px;
    background-color: #E60012;
    border: 0px solid #E60012;
    border-radius: 50%;
    right: 0;
    bottom: 0;
    padding: 20% 5%;
}

#abgtcnmc .circle02 {
    align-items: center;
    justify-content: center;
    /* width: 72px;
    height: 72px; */
    width: 95%;
    height: 95%;
    max-width: 200px;
    max-height: 200px;
    background-color: #ED6C00;
    border: 0px solid #ED6C00;
    border-radius: 50%;
    right: 0;
    bottom: 0;
    padding: 20% 5%;
}

#abgtcnmc .kv_top .top_logo {
    width: 70%;
    margin: 0 auto !important;
    /* max-width: 300px; */
}
#abgtcnmc .text-a-c-s{
    text-align: center;
}
#abgtcnmc .kv_top_cards-img img {
    display: block;
    width: 50%;
    height: auto;
}
}

@media(min-width:795px) {
#abgtcnmc .disp-none02 {
    display: none;
}
}

@media(max-width: 600px) {
    #abgtcnmc .kv_top_cards-img img {
    display: block;
    width: 70%;
    height: auto;
}
}

@media(min-width: 501px) {
    #abgtcnmc .disp-none001 {
    display: none;
}
}

@media(max-width: 500px) {
    #abgtcnmc .disp-none003 {
    display: none;
}
    #abgtcnmc .col-1_5{
    width: 95%;
}
    #abgtcnmc .col-7_5{
    width: 95%;
}
    #abgtcnmc .margin2-0-0-0{
    margin: 4% 0 0 0 ;
}
    #abgtcnmc .margin0-0-2-0{
    margin: 0 0 2% 0 ;
}
#abgtcnmc .margin0-24-0-24{
    margin: 0 10% ;
}
}

@media(max-width: 386px) {
#abgtcnmc .disp-none002 {
    display: none;
}
}
