@charset "UTF-8";
/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

[MEMO]
サイト全体に関わるスタイルはこちらへ記述する。

----------------------------------------------------------------
ネーミング
----------------------------------------------------------------
base.cssで使うIDは重複を避けるため、全てgl(global)の接頭辞をつけること。
汎用的な要素にはcmn(common)をつける。

(example)
#gl-header, #gl-footer, .cmn-h2, cmn-button


----------------------------------------------------------------
font-sizeの設定
----------------------------------------------------------------

任意のサイズ/10 の数値を設定。単位はrem。

(example) 16pxにしたい場合
font-size: 1.6rem;


----------------------------------------------------------------
font-weightの設定
----------------------------------------------------------------

weightはRegular(400)とBold(700)の2種。

(example) Boldに設定する場合
font-weight: 700;


----------------------------------------------------------------
色の設定
----------------------------------------------------------------

特殊な色を除いて、デザインのカラーパレットで使われている色を指定する際は、カスタムプロパティを用いる。

(example) Primary Color(#FF8053)を指定する場合
color: var(--primary-color);


----------------------------------------------------------------
リキッドレイアウトでのサイズの設定
----------------------------------------------------------------

calc(任意のサイズ /  親要素の横幅 * 100%)
※よく使う値はカスタムプロパティを使うのがベター

(example 1) 横幅500pxでの設定。親要素の横幅は1440pxの場合
width: calc(500 / 1440 * 100%);
or
width: calc(500 / var(--pc-design-width) * 100%);

(example 2) 左マージン30pxでの設定。親要素の横幅は800pxの場合
margin: 0 0 0 calc(30 / 800 * 100%);

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
/* ##############################################################
#
#    custom properties
#
############################################################## */
:root {
    /* ---------- size ---------- */
    --pc-design-width: 1440;
    --pc-contents-width: 1000;
    --sp-design-width: 390;
    --sp-contents-width: 360;
    /* ---------- color ---------- */
    --primary-color: #ff8053;
    --primary-forbiz-color: #5ab0bd;
    --primary-fandom-color: #f55b79;
    --secondary-color: #333;
    --background-color: #f8f8f8;
    --pale-orange: #fff4f0;
    --monotone-1: #666;
    --monotone-2: #999;
    --monotone-3: #f7f7f7;
    --monotone-4: #fff;
}

/* ##############################################################
#
#    base
#
############################################################## */
html,
body {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 10px;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic",
        "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ,
        "arial", sans-serif;
    font-weight: 400;
    line-height: 1;
    letter-spacing: normal;
    color: var(--secondary-color);
    background-color: var(--background-color);
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
}
@media screen and (max-width: 768px) {
    html,
    body {
        background-color: var(--monotone-4);
    }
}
html a:link,
html a:visited,
html a:active,
body a:link,
body a:visited,
body a:active {
    color: var(--secondary-color);
    text-decoration: none;
}
@media screen and (min-width: 769px) {
    html a:hover,
    body a:hover {
        color: var(--primary-color);
        text-decoration: underline;
    }
    body .search--forbiz a:hover {
        color: var(--primary-forbiz-color);
    }
}
html img,
body img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
html img.fluid,
body img.fluid {
    width: 100%;
    max-width: initial;
}
html .clearfix::after,
body .clearfix::after {
    content: "";
    display: block;
    clear: both;
}
@media screen and (min-width: 769px) {
    html .sp,
    body .sp {
        display: none;
    }
    html .ov,
    body .ov {
        cursor: pointer;
        opacity: 1;
        transition: opacity 0.2s ease;
    }
    html .ov:hover,
    body .ov:hover {
        opacity: 0.5;
        text-decoration: none;
    }
}
@media screen and (max-width: 768px) {
    html .pc,
    body .pc {
        display: none;
    }
}

/* ##############################################################
#
#    common
#
############################################################## */
/* --------------------------------------------------------------
    parts
-------------------------------------------------------------- */
/* ---------- breadcrumbs ---------- */
.cmn-breadcrumbs {
    display: block;
    text-align: right;
    font-size: 1.1rem;
    letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
    .cmn-breadcrumbs {
        display: none;
    }
}
.cmn-breadcrumbs li {
    display: inline-block;
}
.cmn-breadcrumbs li + li:before {
    content: "";
    display: inline-block;
    width: 3.5px;
    height: 11px;
    margin: 0 5px;
    color: var(--monotone-2);
    background: url(../images/common/icon/arrow_breadcrumbs.svg) 0 80%/100%
        no-repeat;
}
.cmn-breadcrumbs li a {
    color: var(--monotone-2);
}

/* ---------- headline ---------- */
.cmn-headline {
    position: relative;
    margin: 0 0 26px;
}
@media screen and (max-width: 768px) {
    .cmn-headline {
        width: 100%;
    }
}
.cmn-headline .link {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    letter-spacing: 0.04em;
}

.cmn-h2 {
    margin: 0 0 20px;
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: calc(44 / 28);
}
@media screen and (max-width: 768px) {
    .cmn-h2 {
        margin: 0 0 20px;
        font-size: 2.2rem;
        letter-spacing: 0.03em;
        line-height: calc(30 / 22);
    }
}
.cmn-h2.logo-icon {
    position: relative;
    padding: 46px 0 0;
    font-size: 3.6rem;
    letter-spacing: 0.08em;
    line-height: calc(49 / 36);
    text-align: center;
}
@media screen and (max-width: 768px) {
    .cmn-h2.logo-icon {
        padding: 36px 0 0;
        font-size: 2.2rem;
        letter-spacing: 0.03em;
        line-height: calc(30 / 22);
    }
}
.cmn-h2.logo-icon:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 24px;
    height: 28px;
    background: url(../../favicon.ico) 0 0/100% no-repeat;
}
@media screen and (max-width: 768px) {
    .cmn-h2.logo-icon:before {
        width: 20px;
        height: 23px;
    }
}

.cmn-h3 {
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 0 19px;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: calc(38 / 24);
}
@media screen and (max-width: 768px) {
    .cmn-h3 {
        padding: 0 0 0 12px;
        font-size: 1.8rem;
        letter-spacing: 0.04em;
        line-height: calc(24 / 18);
    }
}
.cmn-h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: calc(100% - 14px);
    background: var(--primary-color);
    border-radius: 4px;
}
@media screen and (max-width: 768px) {
    .cmn-h3:before {
        height: calc(100% - 4px);
    }
}
.cmn-h3.logo-icon {
    padding: 0 0 0 37px;
}
.cmn-h3.logo-icon:before {
    margin: 2px 0 0;
    width: 24px;
    height: 28px;
    background: url(../../favicon.ico) 0 0/100% no-repeat;
    border-radius: 0;
}

.cmn-h4 {
    position: relative;
    margin: 0 0 20px;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: calc(32 / 18);
}

/* ---------- carousel ---------- */
.cmn-carousel {
    width: calc(100% + 80px);
    margin-left: -40px;
    padding: 0 35px;
}
@media screen and (max-width: 768px) {
    .cmn-carousel {
        width: calc(100% + 30px);
        margin-left: -15px;
        padding: 0 15px;
    }
}
.cmn-carousel .swiper-button-prev {
    left: 20px;
    top: 41%;
    transform: rotate(180deg);
    width: 40px;
    height: 40px;
    opacity: 1;
    transition: opacity 0.2s ease;
    background: url(../images/common/icon/carousel_arrow.svg) 0 0/100% no-repeat;
}
@media screen and (max-width: 768px) {
    .cmn-carousel .swiper-button-prev {
        display: none;
    }
}
.cmn-carousel .swiper-button-prev:after {
    content: initial;
}
@media screen and (min-width: 769px) {
    .cmn-carousel .swiper-button-prev:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.cmn-carousel .swiper-button-next {
    right: 20px;
    top: 41%;
    width: 40px;
    height: 40px;
    opacity: 1;
    transition: opacity 0.2s ease;
    background: url(../images/common/icon/carousel_arrow.svg) 0 0/100% no-repeat;
}
@media screen and (max-width: 768px) {
    .cmn-carousel .swiper-button-next {
        display: none;
    }
}
.cmn-carousel .swiper-button-next:after {
    content: initial;
}
@media screen and (min-width: 769px) {
    .cmn-carousel .swiper-button-next:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.cmn-carousel .swiper-wrapper .swiper-slide {
    min-height: 100%;
}
.cmn-carousel .swiper-wrapper .swiper-slide a {
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease;
}
@media screen and (min-width: 769px) {
    .cmn-carousel .swiper-wrapper .swiper-slide a:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.cmn-carousel .swiper-wrapper .swiper-slide a .image {
    position: relative;
    min-height: 100%;
    padding: 0 0 24px;
}
.cmn-carousel .swiper-wrapper .swiper-slide a .image:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -60px;
    bottom: 24px;
    width: clamp(150px, calc(16 / 140 * 100vw), 160px);
    height: 40px;
    background: url(../images/common/carousel_shadow.svg) 0 100%/100% no-repeat;
}
.cmn-carousel .swiper-wrapper .swiper-slide a .image img {
    position: relative;
    width: 100%;
    max-width: initial;
}
.cmn-carousel .swiper-wrapper .swiper-slide a .text {
    font-size: 1.1rem;
    color: var(--monotone-1);
    text-align: center;
}
@media screen and (max-width: 768px) {
    .cmn-carousel .swiper-wrapper .swiper-slide a .text {
        font-size: 1rem;
        transform: scale(0.9);
        transform-origin: center;
    }
}

/* ---------- table ---------- */
.cmn-table table {
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.4em;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #e5e5e5;
    border-collapse: collapse;
}
@media screen and (max-width: 768px) {
    .cmn-table table {
        font-size: 1.4rem;
        line-height: calc(22 / 14);
    }
}
.cmn-table table th {
    min-width: 80px;
    padding: 15px 10px;
    font-weight: 400;
    text-align: left;
    vertical-align: top;
    background: var(--monotone-3);
    border-top: 1px solid #e5e5e5;
}
@media screen and (max-width: 768px) {
    .cmn-table table th {
        min-width: 90px;
        padding: 17px 10px 17px 20px;
    }
}
.cmn-table table td {
    padding: 15px 20px;
    vertical-align: top;
    border-top: 1px solid #e5e5e5;
}
@media screen and (max-width: 768px) {
    .cmn-table table td {
        padding: 17px 10px 17px 20px;
    }
}
.cmn-table table .tag th {
    padding: 22px 10px;
}
@media screen and (max-width: 768px) {
    .cmn-table table .tag th {
        padding: 20px 10px 20px 20px;
    }
}
.cmn-table table .tag td {
    padding: 10px 20px;
}
@media screen and (max-width: 768px) {
    .cmn-table table .tag td {
        padding: 10px 10px 10px 20px;
    }
}

/* ---------- tag ---------- */
.cmn-tag-list {
    display: block;
    margin-left: -5px;
    font-size: 0;
    padding-left: 0;
}
.cmn-tag-list .plane {
    display: inline-block;
    margin: 5px 0 0 5px;
    font-size: 1.2rem;
}
.cmn-tag-list .plane a,
.cmn-tag-list .plane span {
    display: block;
    padding: 8px 12px;
    background: #eee;
    border-radius: 15px;
    transition: all 0.15s ease;
}
@media screen and (min-width: 769px) {
    .cmn-tag-list .plane a:hover {
        text-decoration: none;
        color: var(--monotone-4);
        background: var(--primary-color);
    }
    .search--forbiz .cmn-tag-list .plane a:hover {
        background: var(--primary-forbiz-color);
    }
}

/* ---------- button ---------- */
.cmn-btn {
    display: flex;
    justify-content: center;
}
.cmn-btn.left {
    justify-content: flex-start;
}
.cmn-btn a,
.cmn-btn span {
    display: block;
    height: 100%;
    font-weight: 700;
    text-align: center;
    transition: opacity 0.2s ease;
}
@media screen and (min-width: 769px) {
    .cmn-btn a:hover,
    .cmn-btn span:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.cmn-btn.primary a,
.cmn-btn.primary span {
    color: var(--monotone-4);
    background: var(--primary-color);
}
.search--forbiz .cmn-btn.primary span {
    background: var(--primary-color-forbiz);
}
.cmn-btn.white a,
.cmn-btn.white span {
    background: var(--monotone-4);
    border: 1px solid #ddd;
}
@media screen and (min-width: 769px) {
    .cmn-btn.white a:hover,
    .cmn-btn.white span:hover {
        color: var(--secondary-color);
    }
}
.cmn-btn.black a,
.cmn-btn.black span {
    background: var(--secondary-color);
    color: var(--monotone-4);
}
@media screen and (min-width: 769px) {
    .cmn-btn.black a:hover,
    .cmn-btn.black span:hover {
        opacity: 0.7;
        color: var(--monotone-4);
    }
}
.cmn-btn.regular a,
.cmn-btn.regular span {
    min-width: 200px;
    padding: 20px;
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    border-radius: 80px;
}
@media screen and (max-width: 768px) {
    .cmn-btn.regular a,
    .cmn-btn.regular span {
        min-width: 240px;
        font-size: 1.4rem;
        letter-spacing: 0.04em;
        border-radius: 80px;
    }
}
.cmn-btn.large a,
.cmn-btn.large span {
    min-width: 320px;
    padding: 20px;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    border-radius: 32px;
}
@media screen and (max-width: 768px) {
    .cmn-btn.large a,
    .cmn-btn.large span {
        min-width: 240px;
        font-size: 1.4rem;
        letter-spacing: 0.04em;
        border-radius: 80px;
    }
}

/* --------------------------------------------------------------
    .cmn-form
-------------------------------------------------------------- */
.cmn-form label {
    cursor: pointer;
}
.cmn-form label:hover {
    color: var(--primary-color);
}
.search--forbiz .cmn-form label:hover {
    color: var(--primary-forbiz-color);
}
.cmn-form input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
}
.cmn-form input[type="radio"] + label {
    position: relative;
    display: block;
    padding: 0 0 0 24px;
    font-size: 1.4rem;
    line-height: 1.6rem;
}
.cmn-form input[type="radio"] + label:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    background: url(../images/common/icon/radio_disable.svg) 0 0/100% no-repeat;
}
.cmn-form input[type="radio"]:checked + label:before {
    background-image: url(../images/common/icon/radio_enable.svg);
}
.search--forbiz .cmn-form input[type="radio"]:checked + label:before {
    background-image: url(../images/common/icon/forbiz_radio_enable.svg);
}
.cmn-form input[type="checkbox"] + label {
    position: relative;
    display: block;
    padding: 0 0 0 24px;
    font-size: 1.4rem;
    line-height: 1.6rem;
}
.cmn-form input[type="checkbox"] + label:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    background: url(../images/common/icon/checkbox_disable.svg) 0 0/100%
        no-repeat;
}
.cmn-form input[type="checkbox"]:checked + label:before {
    background-image: url(../images/common/icon/checkbox_enable.svg);
}
.search--forbiz .cmn-form input[type="checkbox"]:checked + label:before {
    background-image: url(../images/common/icon/forbiz_checkbox_enable.svg);
}

/* ##############################################################
#
#    main
#
############################################################## */
/* --------------------------------------------------------------
    #gl-wrapper
-------------------------------------------------------------- */
#gl-wrapper {
    position: relative;
    min-width: 1080px;
}
@media screen and (max-width: 768px) {
    #gl-wrapper {
        min-width: 100%;
    }
}
#gl-wrapper.full-width {
    background: var(--monotone-4);
}
#gl-wrapper.full-width #gl-container {
    width: 100%;
    max-width: 1980px;
}
#gl-wrapper.full-width #gl-container #gl-contents {
    width: 100%;
    padding: 0;
    border-radius: 0;
}

/* --------------------------------------------------------------
    #gl-header
-------------------------------------------------------------- */
#gl-header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    min-width: 1080px;
    padding: 0 40px;
    background: var(--monotone-4);
    border-bottom: 1px solid #f8f8f8;
}
@media screen and (min-width: 1580px) {
    #gl-header {
        padding: 0
            clamp(40px, calc(160 / var(--pc-design-width) * 100vw), 160px);
    }
}
@media screen and (max-width: 1579px){
    #gl-header .nav{
        margin-left: 400px !important;
    }
}
@media screen and (max-width:1300px){
    #gl-header .nav{
        margin-left: 340px !important;
    }
}
@media screen and (max-width: 768px) {
    #gl-header {
        min-width: 100%;
        padding: 0;
    }
}
#gl-header .inner {
    position: relative;
    height: 80px;
}
@media screen and (max-width: 768px) {
    #gl-header .inner {
        height: 50px;
    }
}
#gl-header .logo {
    position: absolute;
    left: 0;
    top: 50%;
    width: 140px;
    transform: translateY(-50%);
}
@media screen and (max-width: 1280px) {
    #gl-header .logo {
        width: 103px;
    }
}
@media screen and (max-width: 768px) {
    #gl-header .logo {
        left: calc(15 / var(--sp-design-width) * 100%);
        width: 95px;
    }
}
@media screen and (max-width: 768px) {
    #gl-header .menu-button {
        position: absolute;
        right: calc(15 / var(--sp-design-width) * 100%);
        top: 50%;
        transform: translateY(-50%);
        width: 20px;
    }
}
@media screen and (min-width: 769px) {
    #gl-header .nav {
        width: clamp(650px, 50.61111111111111vw, 700px);
        height: 100%;
        margin: 0 auto;
    }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
    #gl-header .nav {
        width: 540px;
        height: 100%;
        margin-left:300px !important;
    }
    #gl-header .nav a{
        font-size: 10px;
    }
}
#gl-header .nav .list {
    width: 100%;
}
@media screen and (min-width: 769px) {
    #gl-header .nav .list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        height: 100%;
    }
}
#gl-header .nav .list li {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}
@media screen and (max-width: 1280px) {
    #gl-header .nav .list li {
        font-size: 1.1rem;
        letter-spacing: normal;
    }
}
#gl-header .nav .list li a:link,
#gl-header .nav .list li a:visited,
#gl-header .nav .list li a:active {
    color: var(--monotone-1);
}
#gl-header .account {
    position: absolute;
    right: 120px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 1280px) {
    #gl-header .account {
        font-size: 1.1rem;
        letter-spacing: normal;
    }
}
#gl-header .account a:link,
#gl-header .account a:visited,
#gl-header .account a:active {
    color: var(--primary-color);
}

/* --------------------------------------------------------------
    #gl-menu
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
    #gl-menu {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 2;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0);
        pointer-events: none;
        transition: background 0.3s ease-in-out;
    }
    #gl-menu.show {
        pointer-events: auto;
        background: rgba(0, 0, 0, 0.6);
    }
    #gl-menu.show .inner {
        right: 0;
    }
    #gl-menu .inner {
        position: absolute;
        right: -100%;
        top: 0;
        width: 320px;
        height: 100%;
        padding: 0 0 0 calc(30 / var(--sp-design-width) * 100%);
        background: #fff;
        transition: right 0.3s ease-in-out;
    }
    #gl-menu .inner .header {
        padding: 17px;
    }
    #gl-menu .inner .header .close-button {
        float: right;
    }
    #gl-menu .inner .list {
        display: block;
        padding: 0 22px 0 0;
        font-size: 1.4rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        border-top: 1px solid #ddd;
    }
    #gl-menu .inner .list:nth-of-type(1) {
        padding-top: 26px;
        padding-bottom: 26px;
    }
    #gl-menu .inner .list:nth-of-type(2) {
        padding-top: 45px;
    }
    #gl-menu .inner .list li {
        position: relative;
        display: block;
    }
    #gl-menu .inner .list li.account a {
        color: var(--primary-color);
    }
    #gl-menu .inner .list li + li {
        margin: 43px 0 0;
    }
    #gl-menu .inner .list li a {
        display: block;
        padding: 0 12px 0 0;
    }
    #gl-menu .inner .list li a:hover{
        color: #ff8053;
    }
    #gl-menu .inner .list li a:after {
        content: "";
        position: absolute;
        right: 0;
        top: 2px;
        width: 7.43px;
        height: 12.72px;
        background: url(../images/common/icon/arrow_right_primary.svg) 0 0/100%
            no-repeat;
    }
    .gl-menu--forbiz .inner .list li a:hover{
        color: var(--primary-forbiz-color) !important;
    }
    .gl-menu--forbiz .inner .list li a:after {
        background: url(../images/common/icon/forbiz_arrow_right_primary.svg) 0 0/100%
            no-repeat !important;
    }
}

/* --------------------------------------------------------------
    #gl-main
-------------------------------------------------------------- */
#gl-main {
    position: relative;
    z-index: 0;
    padding: 80px 0 0;
}
@media screen and (max-width: 768px) {
    #gl-main {
        min-width: 100%;
        padding: 50px 0 0;
    }
}

/* --------------------------------------------------------------
    #gl-flow
-------------------------------------------------------------- */
#gl-flow {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    padding: 30px 0 58px;
    text-align: center;
}
@media screen and (max-width: 768px) {
    #gl-flow {
        padding: 23px 0 52px;
        background-color: var(--background-color);
    }
}
#gl-flow li {
    position: relative;
    display: inline-block;
    width: 160px;
    font-size: 1.2rem;
    letter-spacing: 0.02em;
    color: var(--monotone-2);
}
@media screen and (max-width: 768px) {
    #gl-flow li {
        width: calc(125 / var(--sp-design-width) * 100%);
        font-size: 1rem;
        letter-spacing: normal;
    }
}
#gl-flow li:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 22px;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    border-radius: 100%;
    background: #ccc;
}
#gl-flow li:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 28px;
    width: 100%;
    height: 2px;
    background: #ccc;
}
#gl-flow li:last-child:before {
    content: none;
}
#gl-flow li.enable {
    font-weight: 700;
    color: var(--primary-color);
}
#gl-flow li.enable:after {
    top: 17px;
    width: 24px;
    height: 24px;
    background: url(../images/common/icon/flow_enable.svg) 0 0/100% no-repeat;
}

/* --------------------------------------------------------------
    #gl-container
-------------------------------------------------------------- */
#gl-container {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    width: calc(100% - 80px);
    max-width: 1360px;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
    #gl-container {
        width: 100%;
    }
}

/* --------------------------------------------------------------
    #gl-side
-------------------------------------------------------------- */
#gl-side {
    position: relative;
    width: 260px;
    margin: 0 20px 0 0;
    background: var(--monotone-4);
    border-radius: 10px;
}
#gl-side.search {
    padding: 26px 0 35px;
}
@media screen and (max-width: 768px) {
    #gl-side.search {
        display: none;
    }
}
#gl-side.search .box {
    padding: 0 30px;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
}
#gl-side.search .box + .box {
    margin: 23px 0 0;
    padding-top: 23px;
    border-top: 1px solid #eee;
}
#gl-side.search .box .title {
    font-size: 1.8rem;
    font-weight: 700;
}
#gl-side.search .box .dropdown .sub-title {
    position: relative;
    margin: 23px 0 0;
    padding: 0 20px 0 0;
    cursor: pointer;
}
@media screen and (min-width: 769px) {
    #gl-side.search .box .dropdown .sub-title:hover {
        color: var(--primary-color);
    }
    #gl-side.search--forbiz .box .dropdown .sub-title:hover {
        color: var(--primary-forbiz-color);
    }
}
#gl-side.search .box .dropdown .sub-title:before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: url(../images/common/icon/plus.svg);
}
#gl-side.search .box .dropdown .list {
    display: none;
}
#gl-side.search .box .dropdown.show .sub-title:before {
    width: 14px;
    height: 2px;
    background: url(../images/common/icon/minus.svg);
}
#gl-side.search .box .dropdown + .dropdown {
    margin: 23px 0 0;
}
#gl-side.search .box .list {
    display: block;
    padding: 21px 0 0;
}
#gl-side.search .box .list li {
    display: block;
}
#gl-side.search .box .list li + li {
    padding: 23px 0 0;
}
#gl-side.search .box .cmn-tag-list {
    margin-top: 12px;
    padding-left: 0;
}
#gl-side.search .box .submit {
    display: flex;
    justify-content: flex-end;
}
#gl-side.search .box .submit input + label {
    position: relative;
    display: block;
    width: 80px;
    padding: 10px 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--monotone-4);
    text-align: center;
    background: var(--secondary-color);
    border-radius: 20px;
    transition: all 0.2s ease;
}
@media screen and (min-width: 769px) {
    #gl-side.search .box .submit input + label:hover {
        color: var(--monotone-4);
        background: var(--primary-color);
    }
    #gl-side.search--forbiz .box .submit input + label:hover {
        background: var(--primary-forbiz-color);
    }
}
#gl-side.search .box .refine .submit {
    margin-top: 20px;
}
#gl-side.search .box .free-word .input {
    margin: 10px 0;
}

/* --------------------------------------------------------------
    #gl-contents
-------------------------------------------------------------- */
#gl-contents {
    position: relative;
    width: calc(100% - 260px - 20px);
    padding: 40px;
    background: var(--monotone-4);
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    #gl-contents {
        width: 100%;
        padding: 25px 15px 0;
        border-radius: 0;
    }
}
.gl-contents--forbiz {
    .cmn-tag-list .plane a:hover {
        background: var(--primary-forbiz-color);
    }
    .cmn-headline a:hover {
        color: var(--primary-forbiz-color);
    }
}

/* --------------------------------------------------------------
    #gl-footer
-------------------------------------------------------------- */
#gl-footer {
    position: relative;
    z-index: 0;
    padding: 100px 40px;
}
@media screen and (min-width: 1280px) {
    #gl-footer {
        padding: 100px
            clamp(40px, calc(160 / var(--pc-design-width) * 100vw), 160px);
    }
}
@media screen and (max-width: 768px) {
    #gl-footer {
        padding: 80px calc(15 / var(--sp-design-width) * 100%) 50px;
    }
}
#gl-footer .inner {
    position: relative;
}
#gl-footer .inner .totop {
    position: absolute;
    right: 0;
    top: -14px;
    width: 40px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1);
    border-radius: 100%;
}
@media screen and (min-width: 769px) {
    #gl-footer .inner .left-group {
        float: left;
        width: 200px;
        height: 45px;
    }
}
@media screen and (max-width: 768px) {
    #gl-footer .inner .left-group {
        width: 131px;
        margin: 0 0 36px;
    }
}
#gl-footer .inner .right-group {
    letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
    #gl-footer .inner .right-group {
        float: right;
        width: 657px;
        height: 45px;
        line-height: 45px;
    }
}
#gl-footer .inner .right-group .list {
    display: block;
}
@media screen and (min-width: 769px) {
    #gl-footer .inner .right-group .list {
        float: left;
        margin: 0 50px 0 0;
        font-size: 0;
        display: flex;
    }
}
@media screen and (max-width: 768px) {
    #gl-footer .inner .right-group .list {
        margin: 0 0 48px;
    }
}
#gl-footer .inner .right-group .list li {
    display: inline-block;
    font-size: 1rem;
}
@media screen and (max-width: 768px) {
    #gl-footer .inner .right-group .list li {
        display: block;
        margin: 16px 0 0;
    }
}
#gl-footer .inner .right-group .list li + li {
    margin: 0 0 0 34px;
}
@media screen and (max-width: 768px) {
    #gl-footer .inner .right-group .list li + li {
        margin: 16px 0 0;
    }
}
#gl-footer .inner .right-group .copy {
    color: var(--monotone-2);
}
@media screen and (min-width: 769px) {
    #gl-footer .inner .right-group .copy {
        float: right;
    }
}
@media screen and (max-width: 768px) {
    #gl-footer .inner .right-group .copy {
        transform: scale(0.8);
        transform-origin: 0 0;
    }
}

/* --------------------------------------------------------------
    #gl-modal
-------------------------------------------------------------- */
#gl-modal {
    display: none;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}
#gl-modal .click-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
#gl-modal .container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 720px;
    padding: 40px;
    background: var(--monotone-4);
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    #gl-modal .container {
        width: calc(380 / var(--sp-design-width) * 100%);
        padding: 30px 20px 60px;
    }
}
#gl-modal .container.centerMode {
    position: fixed;
    top: 50% !important;
    transform: translate(-50%, -50%);
}
#gl-modal .container .contents {
    display: none;
}
input[type=radio],input[type=checkbox] {
    -moz-appearance:initial;
}
/*# sourceMappingURL=base.css.map */
