:root {
    --main-color: #5AB6C6;
    --gray-color: #edf7fa;
    --red-color: #C32A2A;
}
/******************
* reset adjust
******************/
*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

p,
ul,
dl,
dd {
    margin-bottom: 0;
    word-break: break-all;
}

li {
    list-style: none;
}

/******************
* foundation
******************/

/* rollover */
.alpha img,
.alpha a,
.alpha [type="submit"],
.alpha .btn {
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.alpha a:hover,
.alpha img:hover,
.alpha [type="submit"]:hover,
.alpha .btn:hover {
    opacity: 0.75;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=75 )";
}
.marker {
    font-weight: 700;
    background:-o-linear-gradient(transparent 40%,#fae168 0);
    background:-webkit-gradient(linear,left top, left bottom,color-stop(40%, transparent),color-stop(0, #fae168));
    background:linear-gradient(transparent 40%,#fae168 0);
}


/*==================================================

sectioning
==================================================*/

/*	outline	*/

html {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    border: 0;
    line-height: 100%;
    letter-spacing: 0.05em;
}

body {
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    /* デザインに合わせて変更する */
    font-weight: 400;
    font-size: 16px;
    /* デザインに合わせて変更する */
    color: #414141;
}

p,
blockquote,
address,
small,
dt,
dd,
li,
th,
td,
td,
span {
    line-height: 180%;
    /* デザインに合わせて変更する */
    list-style: none;
}

div {
    line-height: 100%;
}

/*	heading	*/

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
    vertical-align: top;
    font-weight: normal;
    font-size: 100%;
    line-height: 150%;
    /* デザインに合わせて変更する */
}
img {
    height: auto;
}

/*==================================================

link
==================================================*/

a {
    color: #2e2e2e;
    text-decoration: inherit;
    cursor: pointer;
}

a:hover {
    text-decoration: none;
    /* デザインに合わせて変更する */
    color: #2e2e2e;
}

a:visited {
    text-decoration: none;
    /* デザインに合わせて変更する */
    color: #2e2e2e;
}

/*==================================================

content
==================================================*/
/*	button	*/
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
button:active,
button:focus {
    outline: none;
}


/*	text	*/

p,
blockquote {
    margin: 0;
}

address {
    font-style: normal;
}

/*	list	*/

ol,
ul,
dl,
dd {
    margin: 0;
}

ol,
ul {
    padding: 0;
    list-style: none;
}

/*	table	*/

table {
    border-collapse: collapse;
}

caption {}

th,
td {
    padding: 0;
}

th {
    font-weight: normal;
}

/*	embed	*/

img {
    vertical-align: bottom;
    border: 0;
}

figure {
    margin: 0;
    padding: 0;
}

/*	semantics	*/

ruby,
rt,
mark,
menu {
    margin: 0;
    padding: 0;
}

small {
    font-size: 100%;
}

em,
cite,
dfn,
i {
    font-style: normal;
}

strong,
b {
    font-weight: 700;
}

ins,
del {
    text-decoration: none;
}

q {
    quotes: none;
}

sup,
sub {
    vertical-align: baseline;
}

ruby,
rt,
mark {
    line-height: 100%;
}

mark {
    background: none;
}
.text-center {
    text-align: center;
}

/*==================================================

form
==================================================*/

form {
    margin: 0;
}

input,
select,
textarea,
button {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: 100%;
    font-size: 1.6rem;
}

select {
    line-height: 100%;
    font-weight: normal;
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

/* ここから */
.no-break {
    word-break: keep-all;
}
.wrap {
    max-width: 1140px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    padding-right: 1em;
}
/*
||attention-text-wrap
*/
.attention-text-wrap {
    margin-top: 1em;
}
.attention-text {
    font-size: 75%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 1.3em;
    position: relative;
    /* display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; */
}
.attention-text.text-center {
    margin-left: auto;
    margin-right: auto;
}
.attention-text + .attention-text {
    margin-top: .5em;
}
.attention-text::before {
    content: '\203b';
    position: absolute;
    left: 0;
    top: 0;


}
.red {
    color: var(--red-color);
}
/*
||flex-box
*/
.flex-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2em;
    margin-top: 2em;
}
.flex-box-left,
.flex-box-right {
    width: calc((100% - 2em)/2);
}
section {
    padding-bottom: 7%;
}
section.bg-gray {
    background-color: var(--gray-color);
}
section .section-text {
    font-size: 150%;
    font-weight: 700;
    text-align: center;
}
section .section-text span {
    font-size: 125%;
}
/*
||ヘッダー
*/
header {
    position: fixed;
    margin-top: 0px;
    margin-bottom: 0px;
    top: 0px;
    right: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    border-style: solid;
    border-width: 0px 0px 1px 0px;
    border-color: #D5D5D5;
    -webkit-box-shadow: 0px 0px 38px 0px rgba(0,0,0,0.1);
            box-shadow: 0px 0px 38px 0px rgba(0,0,0,0.1);
    -webkit-transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s;
    -o-transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
    z-index: 99;
    border-bottom: 3px solid var(--main-color);
}
.header-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1em;
    padding: 20px 10px 20px 30px;
    max-width: 1200px;
}
figure.logo {
    width: 250px;
}
figure.logo img {
    width: 100%;
}
figure.logo a {
    display: block;
}
.header-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
}
.header-right ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.header-right ul li a:not([class]):hover {
    color: var(--main-color);
}
.header-right ul li a {
    padding: 1em;
    display: block;
}
.header-right ul li a span {
    color: var(--main-color);
    font-weight: 700;
}
.header-right ul li:not(:last-child) {
    position: relative;
}
.header-right ul li:not(:last-child)::before  {
    content: "";
    height: 1em;
    width: 1px;
    background-color: #414141;
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: .3;
}
.header-right .menu-btn {
    position: relative;
    padding-right: 2em;
}
.header-right .menu-btn:before {
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid var(--main-color);
    position: absolute;
    right: .8em;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}
.header-right .menu-btn.open:before {
    -webkit-transform: rotate(180deg) translateY(3px);
        -ms-transform: rotate(180deg) translateY(3px);
            transform: rotate(180deg) translateY(3px);
}

.header-right .has-sub-menu {
    position: relative;
}
.header-right .sub-menu {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transform: translateY(calc(100% + 21.3px));
        -ms-transform: translateY(calc(100% + 21.3px));
            transform: translateY(calc(100% + 21.3px));
    background-color: #fff;
    border-right: 3px solid var(--main-color);
    border-bottom: 3px solid var(--main-color);
    border-left: 3px solid var(--main-color);
    padding-top: 0.5em;
}
.header-right .sub-menu .sub-menu-item {
    position: relative;
}
.header-right .sub-menu .sub-menu-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .5em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: .5em 2em .5em 1em;
    padding-right: 2em;
    font-size: 90%;
    white-space: nowrap;
}
.header-right .sub-menu .sub-menu-item a:hover {
    background-color: var(--gray-color);
}
.header-right .sub-menu .sub-menu-item a span {
    color: var(--main-color);
    font-weight: 700;
    font-size: 75%;
}
.header-right .sub-menu .sub-menu-item::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-top: 5px solid transparent;
    border-right: 5px solid var(--main-color);
    position: absolute;
    right: .8em;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
        -ms-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
    background-color: transparent;
    opacity: 1;
}

/*
||参加予約ボタン
*/
.cv-button.center a {
    margin-left: auto;
    margin-right: auto;
}
.cv-button a {
    font-weight: 500;
    color: #FFFFFF;
    background-color: #F68B3F;
    padding: 17px 40px 17px 40px;
    border-radius: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-transition: background-color .2s;
    -o-transition: background-color .2s;
    transition: background-color .2s;
}
.button-wrap.cv-button a:hover,
.cv-button a:hover {
    background-color: #db742b;
}
.cv-button a img {
    width: 1em;
    margin-right: 6px;

}


/*
||メインビジュアル
*/
.mv {
    width: 100%;
}
.mv img {
    width: 100%;
    height: auto;
}
section h2 {
    padding: 5% 4% 2% 4%;
    text-align: center;
}
section h2 span {
    color: var(--main-color);
    font-size: 45px;
    font-weight: 500;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    line-height: 1.4em;
    letter-spacing: 1px;
    display: inline-block;
}
.border-heading {
    font-size: 125%;
    font-weight: 700;
    padding-left: .8em;
    border-left: 5px solid var(--main-color);
    margin-bottom: 16px;
    color: var(--main-color);
}

/* トップページ *************************** */
/*
||企業一覧
*/
.company-wrap {
    margin-top: 3em;
    padding: 0 2em 2em;
    border-radius: 1em;
    background-color: #fff;
    border: 3px solid var(--main-color);
    overflow: hidden;
}
@media (max-width: 991px) {
    .company-wrap {
        margin-top: 3em;
        padding: 0 1em 2em;
        border-radius: 1em;
    }
}
.company-wrap .company-heading span {
    font-size: 75%;
    background-color: #fff;
    color: var(--main-color);
    padding: .2em .5em .35em;
    line-height: 1;
    border-radius: 100vh;

}
.company-wrap .company-heading {
    font-size: 150%;
    text-align: center;
    background-color: var(--main-color);
    color: #fff;
    font-weight: 700;
    padding: .5em 1em;
    margin-left: -2em;
    margin-right: -2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: .5em;
}
@media (max-width: 991px) {
    .company-wrap .company-heading {
        padding: .5em;
        font-size: 125%;
        margin-left: -1em;
        margin-right: -1em;
    }
}
@media (max-width: 575px) {
    .company-wrap .company-heading {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
}
.company-wrap .button-wrap .button {
    background-color: var(--main-color);
    color: #fff;
    border: 2px solid var(--main-color);
    -webkit-transition: color .2s, background-color .2s;
    -o-transition: color .2s, background-color .2s;
    transition: color .2s, background-color .2s;
    padding: .5em 1em;
    border-radius: 100vh;
    font-size: 125%;
    font-weight: 700;
    display: inline-block;
}
.company-wrap .button-wrap .button:hover {
    background-color: #fff;
    color: var(--main-color);
}
.company-wrap .flex-box .company-desc dt {
    font-weight: 700;
    color: var(--main-color);
}
.company-wrap .flex-box .company-desc dd {
    font-size: 125%;
}
.company-wrap .flex-box .company-desc dd ul li {
    font-size: 0.9rem;
}
@media (max-width: 991px) {
    .company-wrap .flex-box .company-desc dd {
        font-size: 100%;
    }
}
.company-wrap .flex-box .company-desc.company-date dd {
    color: var(--red-color);
    font-weight: 700;
}
.company-wrap .flex-box .company-desc + .company-desc {
    margin-top: 1.5em;
}
.company-wrap .flex-box {
    margin-top: 2em;
}
@media (max-width: 991px) {
    .company-wrap .flex-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 1em;
    }
    .company-wrap .flex-box .flex-box-left,
    .company-wrap .flex-box .flex-box-right {
        width: 100%;
    }
}
.company-wrap .flex-box + * {
    margin-top: 2em;
}
.company-wrap .company-image {
    margin-left: auto;
    margin-right: auto;
    max-width: 30em;
}
@media (min-width: 992px) {
    .company-wrap .company-image {
        width: 50%;
        max-width: none;
    }
}
.company-wrap .company-image img {
    width: 100%;
    border-radius: 1em;
}
.company-list + .company-list {
    margin-top: 3em;
}
.company-list dt {
    font-size: 150%;
    font-weight: 700;
    padding-left: 1em;
    border-left: 8px solid var(--main-color);
    margin-bottom: 16px;
    color: var(--main-color);
}
.company-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 .6em;
}
.company-list ul li:not(:last-of-type) {
    /* padding-right: 1.2em; */
    position: relative;
}
.company-list ul li:not(:last-of-type)::after {
    content: '/';
    display: inline-block;
    opacity: .3;
    margin-left: 0.6em;
}
/* .company-list ul li:not(:last-of-type) :before {
    display: none;
} */
.button-wrap {
    margin-top: 3em;
}
.button-wrap.center {
    text-align: center;
}
.button-wrap a.yellow {
    display: inline-block;
    padding: .5em 1em;
    border: 2px solid transparent;
    border-radius: 3rem;
    -webkit-transition: background-color .2s, border-color .2s;
    -o-transition: background-color .2s, border-color .2s;
    transition: background-color .2s, border-color .2s;
    background-color: #F9D348;
    color: #65520D;
    font-weight: 700;
    font-size: 150%;
}
.button-wrap a:hover {
    background-color: #fff;
    border-color: #65520D;
}
/*
||クロージング
*/
.closing {
    background-color: transparent;
    background-image: -o-linear-gradient(40deg, #7BE6D0 0%, #42C0DA 100%);
    background-image: linear-gradient(50deg, #7BE6D0 0%, #42C0DA 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1em;
    padding: 40px 1em;
}

.closing-text {
    font-size: 150%;
    color: #fff;
    text-align: center;
    font-weight: 700;
}
.closing .cv-button a {
    padding: 1em 4em 1em 4em;
}
@media (min-width: 992px) {
    .closing .cv-button {
        font-size: 150%;
    }
}

/*
||内容・日時
*/
.event-date {
    max-width: 832px;
}
.event-date-text {
    margin-bottom: 2em;
    padding: 4%;
    border-style: solid;
    border-width: 3px;
    border-color: var(--main-color);
    border-radius: 14px;
}
.event-date-held {
    font-size: 200%;
    color: var(--main-color);
    font-weight: 700;
    text-align: center;
    margin-top: 1em;
}
.event-date-deadline img {
    width: 1em;
}
.event-date-deadline {
    text-align: center;
    margin-top: 1.5em;
    font-size: 150%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.5em;
    border-radius: 3px;
    background-color: var(--red-color);
    color: #fff;
    font-weight: 700;
    padding: .5em 1em;
}
.time-table-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2em;
    margin-top: 2em;
}
.time-table {
    font-size: 125%;
    padding: 1.5em;
    background-color: var(--gray-color);
    border-radius: 1em;
}
.time-table th,
.time-table td {
    padding: .3rem 0;
}
.time-table th {
    font-size: 80%;
    padding-right: .5rem;
    opacity: .7;
}
.time-table td {
    font-weight: 700;
}
.time-table-text {
    position: relative;
}
.time-table-text::before,
.time-table-text::after {
    position: absolute;
    content: '';
    width: 3em;
    height: 2px;
    background-color: var(--main-color);
    display: block;
    top: 50%;
}
.time-table-text::before {
    left: 0;
    -webkit-transform: translate(-120%, -50%);
        -ms-transform: translate(-120%, -50%);
            transform: translate(-120%, -50%);
}
.time-table-text::after {
    right: 0;
    -webkit-transform: translate(120%, -50%);
        -ms-transform: translate(120%, -50%);
            transform: translate(120%, -50%);
}

/*
||形式
*/
.format .flex-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.format .flex-box .flex-box-right video {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    border-radius: 1em;
    border: 3px solid var(--main-color);
}

/*
||参加対象
*/
.subject .subject-imgs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1em;
    max-width: 630px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2em;
}
.subject-imgs li img {
    width: 100%;
}

/*
||参加特典
*/
.benefits {
    background-color: #FFFCDE;
}
.benefits .flex-box img {
    width: 100%;
    border-radius: 1rem;
}
.benefits .flex-box .flex-box-left .benefits-img.pamphlet img {
    border-radius: 0;
}
.benefits ul + h3,
.benefits p + h3 {
    margin-top: 2em;
}
.benefits ul li {
    position: relative;
    padding-left: 1.8em;
}
.benefits ul li+li {
    top: 0.5em;
}
.benefits ul li::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: .2em;
    width: 1.2em;
    height: 1.35em;
    background-image: url('/img/pages/lp/square-check-regular.svg');
    background-size: cover;
}
.benefits .section-text.gift {
    position: relative;
    padding: 1em 2.5em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.benefits .section-text.gift .text {
    font-size: 100%;
    position: relative;
    z-index: 2;
}
.benefits .section-text.gift .text span {
    font-size: 125%;
    display: inline-block;
    background-color: var(--main-color);
    background-color: #F68B3F;
    color: #fff;
    padding: 0 .3em .1em;
    margin-right: 0.3em;
    line-height: 1.6;
}

.benefits .section-text.gift::before,
.benefits .section-text.gift::after {
    width: 2.5em;
    height: 2.5em;
    content: '';
    position: absolute;
}
.benefits .section-text.gift::before {
    top: 0;
    left: 0;
    border-top: 3px solid var(--main-color);
    border-left: 3px solid #F68B3F;
    left: 1em;
}
.benefits .section-text.gift::after {
    bottom: 0;
    right: 0;
    border-bottom: 3px solid var(--main-color);
    border-right: 3px solid #F68B3F;
    right: 1em;
}
.benefits .section-text.gift .bg {
    position: absolute;
    inset: .5em;
    display: block;
    background-color: #fff;
    z-index: 1;
}
.benefits-list dl dt {
  font-weight: 700;
  color: var(--main-color);
}

/*
||参加の流れ
*/
.flow .wrap {
    max-width: 600px;
}
.flow .flow-item+.flow-item {
    margin-top: 3em;
}
.flow .flow-item {
    position: relative;
}
.flow .flow-item:not(:last-of-type)::after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 20px 0 20px;
    border-color: var(--main-color) transparent transparent transparent;
    position: absolute;
    left: 50%;
    bottom: -1em;
    -webkit-transform: translate(-50%, 100%);
        -ms-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
}
.flow .flow-item {
    background-color: var(--gray-color);
    padding: 1.5em;
    border-radius: 1rem;
}
.flow .flow-item h3 span {
    font-size: 70%;
    margin-right: .5rem;
}
.flow .flow-item ul li+li {
    margin-top: 0.5em;
}
.flow .flow-item ul li {
    padding-left: 1.2em;
    position: relative;
}
.flow .flow-item ul li::before {
    content: '\30fb';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

/*
||参加学生の声
*/
.voice .swiper {
    overflow: hidden;
    padding-bottom: 1em;
}
.swiper-pagination.swiper-pagination-bullets {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .5em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}
.swiper-pagination-bullet-active {
    background-color: var(--main-color);
}
.voice .wrap {
    max-width: 800px;
}
.swiper-slide {
    height: auto;
}
.swiper-wrapper {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}
.swiper-content {
    height: 100%;
    border: 1px solid #d7d7d7;
    border-radius: .8rem;
    background-color: #fff;
    overflow: hidden;
}
.voice-item-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: .5em;
    padding: 0.5em 1em;
}
.voice-item-header .voice-item-img {
    border-radius: 50%;
    width: 42px;
    height: 42px;
}
.voice-item-header .voice-item-img img {
    width: 100%;
    height: 100%;
}
.voice-item-content {
    padding: 1em;
    border-top: 1px solid #d7d7d7;
    background-color: #fff;
}

/*
||高専Linkはこちら
*/
.about-kosenlink {
    padding-top: 7%;
    margin-top: 7%;
    margin-bottom: 7%;
    position: relative;
}
.about-kosenlink::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 45%;
    background-color: var(--gray-color);
    background-image: -o-linear-gradient(310deg, #8CCAE6AD 0%, #8BE7CAAB 100%);
    background-image: linear-gradient(140deg, #8CCAE6AD 0%, #8BE7CAAB 100%);
    z-index: -1;
}
.about-kosenlink h2 {
    text-align: left;
    padding: 0;
    margin-bottom: 1em;
}
.about-kosenlink .flex-box {
    margin-top: 0;
}
.about-kosenlink .flex-box-left img {
    width: 100%;
}
.about-kosenlink .button-wrap .button {
    font-size: 15px;
    letter-spacing: 0px;
    padding: 10px 10px 12px;
    color: var(--main-color);
    font-weight: 700;
    border: 2px solid var(--main-color);
    background-color: #fff;
    -webkit-transition: background-color .2s;
    -o-transition: background-color .2s;
    transition: background-color .2s;
    display: inline-block;
}
.about-kosenlink .button-wrap {
    margin-top: 1.5em;
}
.about-kosenlink .button-wrap .button:hover {
    background-color: #deedf0;
}

.about-kosenlink .button-wrap .button img {
    width: 1.2em;
    margin-right: .5em;
}

/*
||footer
*/
.footer {
    background-color: #474747;
    color: #fff;
    padding: 30px 20px;
}
.footer .button-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: .5em;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 0;
}
.footer .button {
    color: #fff;
    border-radius: .5rem;
    border: 1px solid #fff;
    padding: 10px 15px;
    display: block;
    -webkit-transition: background-color .2s, color .2s;
    -o-transition: background-color .2s, color .2s;
    transition: background-color .2s, color .2s;
}
.footer .button:hover {
    color: #414141;
}
.footer .copy {
    margin-top: 1em;
    text-align: center;
    font-size: 13px;
}




@media (max-width: 1120px) {
    header .cv-button a {
        padding: 12px 15px;
    }
    figure.logo {
        width: 140px;
    }
    .header-right .sub-menu {
        -webkit-transform: translateY(calc(100% + 20.3px));
            -ms-transform: translateY(calc(100% + 20.3px));
                transform: translateY(calc(100% + 20.3px));
    }
    section h2 span {
        font-size: 40px;
    }
    .company-list dt {
        font-size: 125%;
    }
    .company-list ul {
        font-size: 1rem;
    }
    section .section-text {
        font-size: 125%;
    }
    .benefits .flex-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    .benefits .flex-box .flex-box-left,
    .benefits .flex-box .flex-box-right {
        width: 100%;
    }
    .benefits .flex-box .flex-box-left {
        max-width: 300px;
    }
    .benefits .flex-box .flex-box-left.pamphlet {
        max-width: 500px;
    }
    .benefits .flex-box .flex-box-right {
        max-width: 600px;
    }
}
@media (max-width: 991px) {
    .company-list ul {
        font-size: .75rem;
    }
    figure.logo {
        width: 200px;
    }
    header .cv-button a {
        padding: 4px 15px;
    }
    .header-right .sub-menu {
        -webkit-transform: translateY(calc(100% + 10.3px));
            -ms-transform: translateY(calc(100% + 10.3px));
                transform: translateY(calc(100% + 10.3px));
    }
    .header-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: .5em;
        padding: 10px;
    }
    .header-left {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        width: 100%;
    }
    .header-right ul li a {
        font-size: 12px;
    }
    section h2 {
        padding: 2em 0 1em;
        text-align: center;
    }
    section h2 span {
        font-size: 35px;
    }
    section .section-text {
        font-size: 100%;
    }
    .button-wrap a.yellow {
        font-size: 125%;
    }
    .about-kosenlink {
        background-color: var(--gray-color);
        background-image: -o-linear-gradient(310deg, #8CCAE6AD 0%, #8BE7CAAB 100%);
        background-image: linear-gradient(140deg, #8CCAE6AD 0%, #8BE7CAAB 100%);
    }
    .event-date-held {
        font-size: 125%;
    }
    .format .flex-box,
    .about-kosenlink .flex-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    .format .flex-box .flex-box-left,
    .format .flex-box .flex-box-right,
    .about-kosenlink .flex-box .flex-box-left,
    .about-kosenlink .flex-box .flex-box-right {
        width: 100%;
    }
    .about-kosenlink .flex-box .flex-box-right {
        background-color: rgba(255,255,255,.9);
        padding: 1.5em;
        border-top: 3px solid var(--main-color);
    }
    .about-kosenlink .flex-box .flex-box-left img {
        border-radius: 1rem;
    }
    .about-kosenlink::before {
        display: none;
    }
    .about-kosenlink {
        text-align: center;
    }
    .about-kosenlink h2 {
        text-align: center;
    }
    .about-kosenlink .button-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .event-date-deadline {
        font-size: 1rem;
    }
    .closing-text {
        font-size: 1rem;
    }
}
@media (max-width: 575px) {
    figure.logo {
        width: 150px;
    }
    .header-right ul li a {
        padding: 1px 9px;
    }
    .time-table {
        width: 100%;
    }
    table {
        width: 100%;
    }
    .time-table th,
    .time-table td {
        display: block;
        text-align: left;
        padding: 0;
    }
    .time-table td {
        font-size: 1rem;
    }
    .time-table tr {
        display: block;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }
    .time-table tr + tr {
        border-top: 2px dashed rgba(56, 177, 200, .6);
    }
    .event-date-held {
        /* font-size: 100%; */
    }
    .event-date-deadline {
        font-size: 100%;
    }
}
@media (min-width: 451px) {
    .global-menu .sp {
        display: none;
    }
}
@media (max-width: 450px) {
    .sub-menu {
        display: none !important;
    }
    .header-right .menu-btn {
        display: none;
    }
    .header-right .sub-menu {
        /* display: flex !important;
        flex-wrap: wrap;
        position: static;
        border: 0 solid transparent;
        transform: translate(0); */
    }
    .header-right .sub-menu .sub-menu-item a {
        padding: 1px 9px;

    }
    .header-right .sub-menu .sub-menu-item::before {
        display: none;
    }
}

/* 企業一覧ページ *************************** */
.card-list {
    margin-top: 3em;
}
.card {
    padding: 1em 0;
    -webkit-transition: padding .2s, background-color .2s;
    -o-transition: padding .2s, background-color .2s;
    transition: padding .2s, background-color .2s;
}
.card + .card {
    border-top: 1px solid rgba(0,0,0,.1);
}
.card .card-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1em;
    width: 100%;
}
.card .open-card {
    display: none;
}

.card .card-content {
    height: 100%;
}
.card-right {
    width: calc(75% - 1em);
    position: relative;
    padding-bottom: 60px;
}
.card-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 801/451;
}
.card .card-left {
    width: 25%;
    min-width: 100px;
    position: relative;
}
.card .card-img {
    border-radius: 3px;
    overflow: hidden;
    border: 1px solid var(--main-color);
}
.card-left .part {
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 0 3px 0 0;
    background-color: var(--main-color);
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: .4em .5em;
}
.card .subject-desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .25em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 1em;
    font-size: 14px;
    position: relative;
}
.card .subject-desc dd {
    border: 1px solid #a3a3a3;
    background-color: #e5e5e5;
    color: #a3a3a3;
    padding: 0 .5em;
}
.card .subject-desc dd.on {
    border-color: #65520D;
    color: #65520D;
    background-color: #ffe380;
}
.card h3 {
    font-size: 125%;
    font-weight: 700;
}
.card .card-text {
    margin: .5em 0;
}
.card .detail-button {
    border: 2px solid var(--main-color);
    color: var(--main-color);
    display: block;
    padding: .5em;
    font-size: 1rem;
    margin-top: 1em;
    border-radius: 4rem;
    font-weight: 700;
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: #fff;
    min-width: 200px;
    margin-left: auto;
    margin-right: 0;
    -webkit-transition: background-color .2s, color .2s;
    -o-transition: background-color .2s, color .2s;
    transition: background-color .2s, color .2s;
}
.card .detail-button:hover {
    background-color: var(--main-color);
    color: #fff;
}
.card .detail-button::before {
    content: '詳細を見る';
}
.card .close {
    border: 0 solid transparent;
    background-color: var(--main-color);
    color: #fff;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 2em;
    height: 2em;
    border-radius: 3px;
    position: absolute;
    right: 0;
    top: 0;
}
.card .card-description {
    margin-top: 1em;
}
.card .card-description dt {
    font-size: 1rem;
    margin-bottom: .3em;
}
/* .card .card-description dd a {
    color: #3580bf;
    border-bottom: 1px solid #3580bf;
    -webkit-transition: background-color .2s;
    -o-transition: background-color .2s;
    transition: background-color .2s;
}
.card .card-description dd a:hover {
    background-color: rgba(53, 128, 191, .1);
} */
.card .card-description .d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1em;
    margin-top: 0.7em;
}
.card .card-description .hp-btn::before {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    border-right: 2px solid var(--main-color);
    border-top: 2px solid var(--main-color);
    width: 6px;
    height: 6px;
    -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
}
.card .card-description .hp-btn {
    display: block;
    font-size: 15px;
    letter-spacing: 0px;
    padding: 4px 30px 4px 15px;
    color: var(--main-color);
    font-weight: 700;
    border: 2px solid var(--main-color);
    background-color: #fff;
    -webkit-transition: background-color .2s, color .2s;
    -o-transition: background-color .2s, color .2s;
    transition: background-color .2s, color .2s;
    text-align: center;
    position: relative;
}
.card .card-description .hp-btn:hover::before {
    border-color: #fff;
}
.card .card-description .hp-btn:hover {
    background-color: var(--main-color);
    color: #fff;
}
/*
||企業詳細が開いた時
*/
.card.open .card-img {
    position: sticky;
    left: 0;
}
.card.open .detail-button::before {
    content: '閉じる';
}
.card.open .card-text {
    display: none;
}
.card.open + .card.open {
    margin-top: 1em;
}
.card.open {
    border: 3px solid var(--main-color);
    border-radius: 1rem;
    padding: 1em;
    background-color: #fff;
}
.card.open h3 {
    margin-right: 3em;
}

/*
||画面下のfix要素
*/
.footer-fixed {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    border-top: 3px solid var(--main-color);
    z-index: 99;
    -webkit-transition: opacity .2s, z-index .2s;
    -o-transition: opacity .2s, z-index .2s;
    transition: opacity .2s, z-index .2s;
}
.footer-fixed.none {
    opacity: 0;
    z-index: -1;
}
.footer-fixed .button-wrap {
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .5em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0.5em;
}
.footer-fixed .button-wrap .button {
    padding: .5em 1em;
    width: 150px;
    display: block;
    font-size: 15px;
    letter-spacing: 0px;
    padding: 15px 35px 15px 35px;
    color: var(--main-color);
    font-weight: 700;
    border: 2px solid var(--main-color);
    background-color: #fff;
    -webkit-transition: background-color .2s, color .2s;
    -o-transition: background-color .2s, color .2s;
    transition: background-color .2s, color .2s;
    text-align: center;
}
.footer-fixed .button-wrap .button:hover {
    background-color: var(--main-color);
    color: #fff;
}

@media (max-width: 575px) {
    .card .card-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .card .card-left {
        width: 100%;
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
    .card .card-right {
        width: 100%;
    }
    .card .detail-button {
        width: 100%;
    }
    .card .close {
        display: none;
    }
}
#part1 .attention-text-wrap,
#part2 .attention-text-wrap {
    margin-top: 0;
    margin-bottom: 1em;
}
#part1 .attention-text-wrap .attention-text,
#part2 .attention-text-wrap .attention-text {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
