/* ==========================================================================
  Font
  ========================================================================== */

/* ==========================================================================
  Foundation
  ========================================================================== */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;
    text-decoration: none;

    border: 0;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section
{
    display: block;
}

body
{
    line-height: 1;

    overflow: hidden;
}

ol,
ul
{
    list-style: none;
}

blockquote,
q
{
    quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before
{
    content: '';
    content: none;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

main
{
    display: block;
}

html
{
    font-size: 62.5%;

    overflow: auto;
}

*
{
    box-sizing: border-box;
    padding: 0;

    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;

    -webkit-appearance: none;
}

img
{
    display: block;

    width: 100%;
    height: auto;
}

*
{
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;

    box-sizing: border-box;
    padding: 0;

    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;

    -webkit-appearance: none;
}

body
{
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
}

/* Windows */

@font-face
{
    font-family: YuGothicM;
    font-weight: normal;

    src: local('YuGothic-Medium'), local('Yu Gothic Medium'), local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}

@font-face
{
    font-family: YuGothicM;
    font-weight: bold;

    src: local('YoGothic-Bold'), local('Yu Gothic'); /* Chrome用 */
}

img
{
    display: block;

    max-width: 100%;
    height: auto;
}

a,
area,
button,
[role=button],
input:not([type=range]),
label,
select,
summary,
textarea
{
    touch-action: manipulation;
}

*
{
    font-family: 'source-han-sans-japanese', sans-serif;
    font-size: 1.5rem;

    word-wrap: break-word;
    word-break: normal !important;

    line-break: strict;
    overflow-wrap: break-word;
}

html
{
    visibility: hidden;
}

html.wf-active,
html.loading-delay
{
    visibility: visible;
}

body
{
    font-family: 'source-han-sans-japanese', sans-serif;
    font-size: 1.5rem;
    line-height: 1.8;

    word-break: break-all;

    color: #333;

    line-break: strict;
}

a
{
    transition: .3s;
    text-decoration: none;

    color: #333;
}

a:hover
{
    opacity: .6;
}

.link
{
    text-decoration: underline;
}

li,
ul
{
    list-style: none;
}

/* ==========================================================================
  Layout
  ========================================================================== */

.inner
{
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
}

.l-page
{
    position: relative;

    display: block;

    margin-top: -1px;
    padding-top: 1px;
}

.l-content
{
    position: relative;

    display: flex;

    justify-content: space-between;
    flex-wrap: wrap;
}

.l-content::before
{
    position: absolute;
    z-index: -1;

    width: 100vw;
    height: 100%;
    margin-left: calc(50% - 50vw);

    content: '';

    background-image: url(../images/common/bg_l.png), url(../images/common/bg_r.png);
    background-repeat: no-repeat;
    background-position: left top, right top;
}

.l-main
{
    position: relative;

    width: calc(100% - 370px);
    padding-top: 116px;

    transition: .5s;
}

.l-lower .l-main
{
    padding-top: 30px;
}

.l-side
{
    width: 300px;
    padding-top: 116px;
}

.l-lower .l-side
{
    padding-top: 30px;
    padding-bottom: 50px;
}

/* ==========================================================================
  Object
  ========================================================================== */

/* Components
  ----------------------------------------------------------------- */

.fadeUp
{
    -webkit-animation-name: fadeUpAnime;
            animation-name: fadeUpAnime;
    -webkit-animation-duration: 1.2s;
            animation-duration: 1.2s;

    opacity: 0;

    -webkit-animation-fill-mode: forwards;

            animation-fill-mode: forwards;
}

/* スクロールをしたら出現する要素にはじめに透過0を指定 */

.fadeUpTrigger
{
    opacity: 0;
}

.c-btn
{
    font-size: 1.5rem;
    line-height: initial;
    line-height: 1;

    position: relative;

    display: flex;

    width: -webkit-max-content;

    width: -moz-max-content;

    width: max-content;
    min-width: 180px;
    height: 50px;

    text-decoration: none;

    color: #fff;
    border: 1px solid #0599d9;
    border-radius: 25px;
    background-color: #0599d9;

    justify-content: center;
    align-items: center;
}

.c-btn:hover
{
    opacity: 1;
    color: #0599d9;
    background-color: #fff;
}

.c-btn::after
{
    position: absolute;
    right: 15px;

    width: 12px;
    height: 12px;

    content: '';

    background: url(../images/common/icon_button_arrow.svg) no-repeat center center;
    background-size: contain;
}

.c-btn:hover::after
{
    background: url(../images/common/icon_button_arrow_blue.svg) no-repeat center center;
}

.c-btn.--campaign
{
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 45px;
    padding-left: 30px;

    text-decoration: none;

    color: #fff;
    border: 1px solid #ff653f;
    background-color: #ff653f;
}

.c-btn.--campaign:hover
{
    color: #ff653f;
    background-color: #fff;
}

.c-btn.--campaign:hover::after
{
    background: url(../images/common/icon_btn_arrow_orange.svg) no-repeat center center;
}

.c-bgcolor
{
    background-color: #fdf3f3;
}

.c-red
{
    color: #c03;
}

.c-entry h3
{
    font-size: 2rem;
    font-weight: bold;

    margin-top: 65px;
    padding-bottom: 5px;

    border-bottom: 1px solid #999;
}

.c-entry h4
{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 47px;

    height: 47px;
    margin-top: 60px;
    padding-left: 18px;

    background-color: #e5e5e5;
}

.c-entry p
{
    font-size: 1.5rem;
    line-height: 1.5;

    display: block;

    margin-top: 20px;
}

.c-entry strong,
.c-entry .strong
{
    font-weight: 700;
    font-weight: bold;
}

.c-entry .red
{
    color: #c00;
}

.c-entry .small
{
    font-size: 1.3rem;
    line-height: 1.6;

    display: block;

    margin-bottom: 8px;
}

.c-entry a
{
    text-decoration: underline;

    color: #36c;
}

.c-entry figure
{
    margin-top: 20px;

    background-color: #e5e5e5;
}

.c-entry figcaption
{
    font-size: 1.3rem;
    line-height: 35px;

    padding-left: 10px;
}

.c-entry > img
{
    max-width: 100%;
    height: auto;
    margin-top: 20px;
}

.c-entry .card
{
    display: flex;

    padding: 20px;

    text-decoration: none;

    color: #333;
    background-color: #efefef;

    justify-content: space-between;
    align-items: flex-start;
}

.c-entry .card + .card
{
    margin-top: 30px;
}

.c-entry .card > a
{
    width: 200px;
    margin-right: 20px;
}

.c-entry .card_detail
{
    width: calc(100% - 220px);
}

.c-entry .card_detail a
{
    text-decoration: none;

    color: #333;
}

.c-entry .card_ttl
{
    font-size: 1.7rem;
    font-weight: bold;

    margin-top: 0;
}

.c-entry .card_txt
{
    font-size: 1.3rem;

    margin-top: 15px;
}

.c-entry .c-btn
{
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
}

.c-entry .wp-block-buttons > .wp-block-button
{
    margin: 0 auto;
}

.c-entry .wp-block-button__link
{
    font-size: 1.5rem;
    line-height: initial;
    line-height: 1;

    position: relative;

    display: flex;

    width: -webkit-max-content;

    width: -moz-max-content;

    width: max-content;
    min-width: 180px;
    height: 50px;
    padding-right: 40px;
    padding-left: 30px;

    text-decoration: none;

    color: #fff;
    border: 1px solid #ff653f;
    border-radius: 25px;
    background-color: #ff653f;

    justify-content: center;
    align-items: center;
}

.c-entry .wp-block-button__link:hover
{
    opacity: 1;
    color: #ff653f;
    background-color: #fff;
}

.c-entry .wp-block-button__link::after
{
    position: absolute;
    right: 15px;

    width: 12px;
    height: 12px;

    content: '';

    background: url(../images/common/icon_button_arrow.svg) no-repeat center center;
    background-size: contain;
}

.c-entry .wp-block-button__link:hover::after
{
    background: url(../images/common/icon_btn_arrow_orange.svg) no-repeat center center;
}

.c-entry .--campaign .wp-block-button__link
{
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 45px;
    padding-left: 30px;

    text-decoration: none;

    color: #fff;
    border: 1px solid #ff653f;
    background-color: #ff653f;
}

.c-entry .--campaign .wp-block-button__link:hover
{
    color: #ff653f;
    background-color: #fff;
}

.c-entry .--campaign .wp-block-button__link:hover::after
{
    background: url(../images/common/icon_btn_arrow_orange.svg) no-repeat center center;
}

.c-entry .talk
{
    position: relative;

    display: block;

    padding-top: 1px;
    padding-left: 70px;
}

.c-entry .wp-block-media-text .wp-block-media-text__content
{
    height: 100%;
}

.c-entry .talk p
{
    display: block;
}

.c-entry .talk .name-red,
.c-entry .talk .name-blue
{
    font-weight: bold;

    position: absolute;
    left: 0;

    width: 60px;
    margin-top: 0;

    text-align: right;
}

.c-entry .talk .name-red
{
    color: #c69;
}

.c-entry .talk .name-blue
{
    color: #09c;
}

.c-entry .profile
{
    display: flex;

    margin-top: 70px;
    padding: 20px;

    background-color: #efefef;

    align-items: flex-start;
    justify-content: space-between;
}

.c-entry .profile > .wp-block-group__inner-container
{
    display: flex;

    align-items: flex-start;
    justify-content: space-between;
}

.c-entry .profile figure,
.c-entry .profile img
{
    width: 120px;
    margin: 0 !important;
}

.c-entry .profile + .profile
{
    margin-top: 20px;
}

.c-entry .profile-data
{
    width: calc(100% - 140px);
}

.c-entry .profile-data > p,
.c-entry .profile-data > div > p
{
    font-size: 1.3rem;

    margin-top: 10px;
}

.c-entry .profile-data p.name
{
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1;

    margin-top: 0;
}

.c-entry .profile-data p.txt
{
    margin-top: 10px;
}

.c-entry .profile-data p.link
{
    margin-top: 10px;

    text-decoration: none;
}

.hide-area
{
    display: none;
}

.modaal-close:after,
.modaal-close:before
{
    background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before
{
    background: #666;
}

.gallery-list
{
    display: flex;

    margin-top: 30px;

    flex-wrap: wrap;
}

.gallery-list li
{
    width: calc((100% - 20px) / 3);
    margin: 0 0 10px 0;
}

.gallery-list li:not(:nth-child(3n-2))
{
    margin-left: 10px;
}

/*wp-pagenavi 01*/

.c-news-pagenation .wp-pagenavi
{
    display: flex;

    margin-bottom: 80px;

    text-align: center;

    justify-content: center;
}

.c-news-pagenation a,
.c-news-pagenation span
{
    text-align: center;
}

.c-news-pagenation .wp-pagenavi a,
.c-news-pagenation .wp-pagenavi span
{
    font-family: initial;
    line-height: 38px;

    display: block;

    width: 40px;
    height: 40px;
    margin: 0 5px;

    color: #0599d9;
    border: 1px solid #0599d9;
}

.c-news-pagenation .wp-pagenavi a:hover
{
    opacity: 1;
    color: #fff;
    background-color: #0599d9;
}

.c-news-pagenation .wp-pagenavi span.current
{
    color: #fff;
    background-color: #0599d9;
}

.c-sec-base .c-sec-ttl
{
    margin-top: 30px;
    margin-bottom: 30px;
}

.c-sec-base .c-sec-subttl
{
    margin-top: 40px;
    margin-bottom: 15px;
}

.c-sec-base p
{
    line-height: 1.7;
}

.c-sec-base p:not(:last-child)
{
    margin-bottom: 20px;
}

.c-sec-base a
{
    text-decoration: underline;

    color: #36c;
}

.c-sec-bloglist
{
    display: flex;

    margin-bottom: 40px;

    flex-wrap: wrap;
}

.c-sec-bloglist-item
{
    width: calc((100% - 30px) / 2);
    margin-bottom: 30px;
}

.c-sec-bloglist-item:not(:nth-child(2n-1))
{
    margin-left: 30px;
}

.c-sec-bloglist-item a
{
    display: flex;

    width: 100%;

    align-items: flex-start;
}

.c-sec-bloglist-item a img
{
    width: 120px;
    margin-right: 18px;
}

.c-sec-bloglist-txt h3
{
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.4;

    margin-bottom: 5px;

    color: #0599d9;
}

.c-sec-bloglist-txt p
{
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.6;

    margin-bottom: 5px;
}

.c-sec-head
{
    display: flex;

    margin-bottom: 15px;

    justify-content: space-between;
    align-items: center;
}

.l-main h3{
	margin-bottom: 10px;
}

.c-sec-ttl
{
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 3.5rem;

    width: auto;
    padding-left: 16px;

    border-left: 6px solid #0599d9;
}

.c-sec-subttl
{
    font-size: 2rem;
    font-weight: bold;
}

.c-sec-btn
{
    font-size: 1.3rem;

    position: relative;

    display: flex;

    width: 110px;
    height: 30px;
    padding-right: 10px;

    color: #fff;
    border: 1px solid #0599d9;
    border-radius: 15px;
    background-color: #0599d9;

    align-items: center;
    justify-content: center;
}

.c-sec-btn:hover
{
    opacity: 1;
    color: #0599d9;
    background-color: #fff;
}

.c-sec-btn::after
{
    position: absolute;
    right: 10px;

    width: 12px;
    height: 12px;

    content: '';

    background: url(../images/common/icon_button_arrow.svg) no-repeat center center;
    background-size: contain;
}

.c-sec-btn:hover::after
{
    background: url(../images/common/icon_button_arrow_blue.svg) no-repeat center center;
}

.c-sec-read
{
    margin-top: 40px;
    margin-bottom: 40px;
}

.c-sec-read.--blue
{
    font-size: 2rem;
    font-weight: bold;

    color: #0599d9;
}

.c-sec-read.--lower
{
    margin-top: 25px;
}

.c-sec-read a
{
    text-decoration: underline;

    color: #36c;
}

.c-sec-mv
{
    margin-top: 40px;
}

.c-sec-ttl-mv
{
    margin-top: 0;
}

.c-sec-ttl-mv .c-sec-mv
{
    margin-top: 0;
}

.c-sec-indexlist
{
    display: flex;
    flex-direction: column;

    margin-bottom: 40px;

    border-bottom: 1px dotted #333;

    flex-wrap: wrap;
}

.c-sec-indexlist-item
{
    width: 100%;
}

.c-sec-indexlist-item a
{
    display: flex;

    width: 100%;
    padding: 20px 0;

    border-top: 1px dotted #333;

    align-items: flex-start;
    justify-content: space-between;
}

.c-sec-indexlist-item a img
{
    width: 300px;
    margin-right: 20px;
}

.c-sec-indexlist-txt
{
    width: calc(100% - 320px);
}

.c-sec-indexlist-txt h3
{
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.6;

    margin-bottom: 0;
}

.c-sec-indexlist-txt p
{
    font-size: 1.3rem;
    line-height: 1.6;

    margin-top: 15px;
}

.c-sec-list
{
    display: flex;

    margin-bottom: 10px;

    flex-wrap: wrap;
}

.c-sec-list-item
{
    margin-bottom: 50px;
}

.c-sec-list.--col2 .c-sec-list-item
{
    width: calc((100% - 30px) / 2);
}

.c-sec-list.--col2 .c-sec-list-item:not(:nth-child(2n-1))
{
    margin-left: 30px;
}

.c-sec-list.--col3 .c-sec-list-item
{
    width: calc((100% - 50px) / 3);
}

.c-sec-list.--col3 .c-sec-list-item:not(:nth-child(3n-2))
{
    margin-left: 25px;
}

.c-sec-list-item a img
{
    margin-bottom: 14px;
}

.c-sec-list.--col3 .c-sec-list-item a img
{
    margin-bottom: 10px;
}

.c-sec-list-item a p
{
    font-size: 1.7rem;
    font-weight: bold;
}

.c-sec-list.--col3 .c-sec-list-item a p
{
    font-size: 1.5rem;
}

.c-sec-list-txt h3
{
    font-weight: bold;
}

.c-sec-list-tag
{
    display: flex;

    margin-top: 20px;

    flex-wrap: wrap;
}

.c-sec-list-tag li
{
    font-size: 1.3rem;
    line-height: 2.8rem;

    display: block;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    height: 28px;
    padding: 0 10px;

    color: #fff;
    background-color: #ff653f;
}

.c-sec-list-tag li:not(:first-child)
{
    margin-left: 10px;
}

.c-sec-list-tag li.--member
{
    background-color: #0599d9;
}

.c-sec-date
{
    font-size: 1.3rem;

    position: relative;

    padding-left: 17px;

    color: #666;
}

.c-sec-date::before
{
    position: absolute;
    top: 50%;
    left: 0;

    display: block;

    width: 12px;
    height: 12px;

    content: '';
    transform: translateY(-50%);

    background: url(../images/common/icon_clock.svg) no-repeat center;
    background-size: contain;
}

.c-sec-date.--new::after
{
    font-size: 1.3rem;
    font-weight: bold;

    position: absolute;

    margin-left: 10px;

    content: 'NEW';

    color: #c03;
}

.c-sec-newslist
{
    margin-bottom: 70px;

    border-bottom: 1px dotted #333;
}

.c-sec-newslist-item a
{
    display: flex;

    padding: 20px 0;

    border-top: 1px dotted #333;

    align-items: flex-start;
}

.c-sec-category
{
    font-size: 1.2rem;
    line-height: 25px;

    width: 120px;
    height: 25px;
    margin-right: 18px;
    margin-left: 18px;

    text-align: center;

    background-color: #e5e5e5;
}

.c-sec-newsttl
{
    font-weight: bold;
	max-width: 585px;/*add*/
}

.c-sec-newsttl.--new::after
{
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 2.2;

    margin-left: 10px;

    content: 'NEW';

    color: #c03;
}

.c-sec-table
{
    width: 100%;
    margin-top: 40px;

    border-top: 1px solid #ccc;
}

.c-sec-table tr
{
    border-bottom: 1px solid #ccc;
}

.c-sec-table th,
.c-sec-table td
{
    padding: 15px 20px;
}

.c-sec-table th
{
    font-weight: 700;

    width: 200px;

    text-align: left;

    background-color: #f6f6f6;
}

.c-sec-table-list
{
    margin-left: 25px;
}

.c-sec-table-list li
{
    list-style: disc;
}

.c-sec-txtlist
{
    display: flex;
    flex-direction: column;

    margin-top: 40px;
    margin-bottom: 40px;

    border-bottom: 1px dotted #333;

    flex-wrap: wrap;
}

.c-sec-txtlist-item
{
    width: 100%;
}

.c-sec-txtlist-item a
{
    display: flex;

    width: 100%;
    padding: 20px 0;

    border-top: 1px dotted #333;

    align-items: center;
    flex-wrap: wrap;
}

.c-sec-txtlist-item a h3
{
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.6;

    width: 100%;
    margin-bottom: 0;
    margin-bottom: 10px;
}

.c-sec-txtlist-item a .c-sec-date.--new
{
    margin-right: 50px;
}

.c-sec-txtlist-item a .c-sec-category
{
    font-size: 1.2rem;
    line-height: 20px;

    width: auto;
    height: 20px;
    padding: 0 20px;
}

.c-sec-txtlist-item a p
{
    font-size: 1.3rem;
    line-height: 1.8;

    width: 100%;
    margin-top: 15px;
}

.c-sns
{
    margin-top: 70px;
    margin-bottom: 80px;

    text-align: center;
}

.c-sns h4
{
    font-weight: bold;
}

.c-sns-list
{
    display: flex;

    margin-top: 15px;

    justify-content: center;
}

.c-sns-list li
{
    border-radius: 50%;
}

.c-sns-list li + li
{
    margin-left: 10px;
}

.c-sns-list li:nth-child(1)
{
    background-color: #2e6db5;
}

.c-sns-list li:nth-child(2)
{
/*     background-color: #3495d3; */
	background-color: #000;
}

.c-sns-list li:nth-child(3)
{
    background-color: #3aad36;
}

.c-sns-list li:nth-child(4)
{
    background-color: #00a4de;
}

.c-sns-list a
{
    display: flex;

    width: 40px;
    height: 40px;

    align-items: center;
    justify-content: center;
}

.c-sns-list img
{
    max-width: 20px;
    max-height: 20px;
}

.c-ttl
{
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.6;

    position: relative;
}

.c-ttl::before
{
    position: absolute;

    width: 50px;
    height: 2px;

    content: '';

    background-color: #c03;
}

.c-ttl--en
{
    font-size: 1.2rem;

    display: block;

    padding-top: 30px;
    padding-bottom: 20px;

    color: #c03;
}

.c-subttl
{
    font-size: 2.5rem;
    font-weight: 700;
}

.c-top-sec
{
    padding-top: 80px;
    padding-bottom: 80px;
}

.c-marker
{
    background: linear-gradient(transparent 70%, #ffe558 70%);
}

.c-strong
{
    font-weight: bold;
}

/* Project
  ----------------------------------------------------------------- */

.l-breadcrumb
{
    font-size: 1.3rem;

    width: calc(100vw - 20px);
    max-width: unset;
    height: 60px;
    margin-left: calc(50% - 50vw + 40px);
    padding: 0;
}

.l-breadcrumb__wrap
{
    display: flex;

    width: -webkit-max-content;

    width: -moz-max-content;

    width: max-content;
    height: 60px;

    align-items: center;
}

.p-footer
{
    position: relative;

    padding-top: 50px;
    padding-bottom: 50px;

    color: #fff;
    background-color: #0599d9;
}

.p-footer-inner
{
    display: flex;

    max-width: 1200px;

    justify-content: space-between;
}

.p-footer__navi
{
    display: flex;

    width: calc(100% - 430px);

    align-items: flex-start;
}

.p-footer__menu-list
{
    display: flex;
    flex-direction: column;

    width: 250px;
    height: auto;
    padding-left: 20px;

    border-left: 1px solid #fff;
}

.p-footer__menu-list.--drawer
{
    border-left: none;
}

.p-footer__menu-link
{
    line-height: 1;

    display: block;

    margin-bottom: 20px;

    color: #fff;
}

.p-footer__ttl
{
    display: flex;
    flex-direction: column;

    width: 430px;
    margin-right: auto;
    margin-left: auto;

    border-left: 1px solid #fff;

    justify-content: space-between;
    align-items: center;
}

.p-footer__ttl a
{
    font-size: 1.2rem;

    text-align: center;

    color: #fff;
}

.p-footer__logo
{
    display: block;

    width: 250px;
    margin-bottom: 40px;
}

.p-footer__logo img
{
    margin-top: 12px;
}

.p-footer__sns
{
    display: flex;

    width: auto;
    margin-right: auto;
    margin-bottom: 50px;
    margin-left: auto;

    text-align: center;

    justify-content: center;
    flex-wrap: wrap;
}

.p-footer__sns-ttl
{
    width: 100%;
    margin-bottom: 15px;
}

.p-footer__sns a
{
    display: flex;

    width: 40px;
    height: 40px;
    margin-right: 5px;

    border: 1px solid #fff;
    border-radius: 50%;

    align-items: center;
    justify-content: center;
}

.p-footer__sns a img
{
    width: auto;
}

.p-footer__copyright
{
    font-size: 1.3rem;

    width: 100%;

    text-align: center;
}

.p-totop
{
    position: relative;

    max-width: 1200px;
}

.p-totop__link
{
    position: absolute;
    right: -20px;
    bottom: 0;

    display: block;

    width: 40px;
    height: 40px;

    border-radius: 8px;
    background: url(../images/common/icon_totop_arrow.svg) no-repeat center center #003d58;
}

.p-tomember
{
    position: fixed;
    z-index: 99;
    top: 50%;
    right: 0;

    transform: translateY(-50%);
}

.p-tomember__link
{
    display: flex;

    width: 60px;
    height: 180px;

    color: #fff;
    background-color: #ff653f;

    align-items: center;
    justify-content: center;
    -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
}

.p-tomember__link::before
{
    width: 14px;
    height: 16px;
    margin-bottom: 8px;

    content: '';

    background: url(../images/common/icon_member.svg) no-repeat center;
    background-size: contain;
}

.p-tomember.--drawer
{
    position: unset;

    transform: none;
}

.p-tomember.--drawer .p-tomember__link
{
    width: 100%;
    height: 60px;

    -ms-writing-mode: unset;

        writing-mode: unset;
}

.p-tomember.--drawer .p-tomember__link::before
{
    margin-right: 8px;
    margin-bottom: 0;
}

.l-header__lower
{
    display: flex;

    height: 150px;
    margin-top: 80px;
    padding-right: 60px;
    padding-left: 60px;

    transition: .2s;

    color: #fff;
    background-color: #0599d9;
    background-image: url(../images/common/lower_hd_bg.png), linear-gradient(90deg, #0599d9 0 10%, #92e6c7 100%);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;

    align-items: center;
    justify-content: flex-start;
}

.l-header__lower.--blog
{
    height: 100px;
}

.js-height-min + .l-header__lower
{
    margin-top: 70px;
}

.p-header__lower-ttl
{
    font-size: 3rem;
    font-weight: bold;

    display: flex;

    align-items: center;
}

.p-header__lower-ttl--en
{
    font-size: 1.5rem;
    font-weight: normal;

    margin-left: 30px;
}

.p-header
{
    position: fixed;
    z-index: 999;

    display: flex;

    width: 100%;

    background-color: white;
    box-shadow: 0 3px 3px rgba(0, 0, 0, .05);

    justify-content: center;
}

.p-header-inner
{
    display: flex;

    width: 100%;
    height: 80px;
    padding-right: 40px;
    padding-left: 40px;

    transition: .2s;

    justify-content: space-between;
    align-items: center;
}

.js-height-min .p-header-inner
{
    height: 70px;
}

.p-header__logo
{
    font-size: 1.2rem;
    line-height: 1;

    width: 250px;
}

.p-header__logo img
{
    width: 250px;
    margin-top: 8px;

    transition: .2s;
}

.js-height-min .p-header__logo img
{
    width: 190px;
}

.p-header__menu-wrapper
{
    width: calc(100% - 250px);
    height: 100%;

    transition: .2s;
}

.p-header__menu
{
    height: 100%;
}

.p-header__menu-list
{
    display: flex;

    height: 100%;

    justify-content: flex-end;
    align-items: center;
}

.p-header__menu-item
{
    height: 100%;
}

.p-header__menu-item:last-child
{
    padding-right: 0;
}

.p-header__menu-link
{
    font-size: 1.5rem;

    position: relative;

    display: flex;

    width: 100%;
    height: 100%;
    padding-right: 20px;
    padding-left: 20px;

    text-align: center;

    justify-content: center;
    align-items: center;
}

.--drawer
{
    display: none;
}

.p-header__ham
{
    display: none;
}

.p-side__blog
{
    margin-top: 50px;
}

.p-side__blog-profile
{
    display: flex;
    flex-direction: column;

    margin-bottom: 50px;
    padding: 20px;

    border: 1px solid #ccc;

    align-items: center;
    justify-content: center;
}

.p-side__blog-profile img
{
    width: 120px;
    height: 120px;
    margin-bottom: 20px;

    border-radius: 50%;
}

.p-side__blog-profile-furi
{
    font-size: 1rem;
}

.p-side__blog-profile-name
{
    font-size: 1.7rem;

    margin-bottom: 20px;
}

.p-side__blog-profile-txt
{
    font-size: 1.2rem;
}

.p-side__blog-rank
{
    display: flex;

    margin-bottom: 50px;
    padding-left: 20px;
}

.p-side__list .p-side__blog-rank li
{
    width: auto;
    margin-right: 10px;
}

.p-side__blog-rank li a img
{
    width: auto;
}

.p-side__blog-txtlist.c-sec-txtlist
{
    margin-top: 20px;
}

.p-side__blog-txtlist .c-sec-txtlist-item a
{
    padding: 12px 0;
}

.p-side__blog-txtlist .c-sec-txtlist-item a h3
{
    font-size: 1.4rem;
    font-weight: normal;

    margin-bottom: 5px;
}

.p-side__blog-list
{
    margin-top: 30px;
    margin-bottom: 50px;
    padding-left: 20px;
}

.p-side__blog-list li
{
    margin-bottom: 20px;
}

ul.p-side__blog-list li a
{
    display: inline;
}

.p-side__list li
{
    width: 300px;
    margin-bottom: 20px;
}

.p-side__list li a
{
    display: block;

    width: 100%;
}

.p-side__list .cat-item a
{
    display: inline;
}

.p-side__feature.--session
{
    margin-top: 50px;
}

.p-side__feature.--past
{
    margin-top: 35px;
}

.p-side__ttl
{
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.5rem;

    width: auto;
    margin-bottom: 20px;
    padding-left: 15px;

    border-left: 6px solid #0599d9;
}

.p-side__report li
{
    margin-bottom: 15px;
}

.p-side__report li a
{
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
}

.p-side__report li img
{
    width: 100px;
    margin-right: 10px;
}

.p-side__feature-txt
{
    width: calc(100% - 115px);
}

.p-side__feature-txt h3
{
    font-size: 1.4rem;
    line-height: 1.5;
}

.p-side__feature-txt .c-sec-list-tag
{
    margin-top: 8px;
}

.p-side__feature-txt .c-sec-list-tag li
{
    font-size: 1.1rem;
    line-height: 2.4rem;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    height: 24px;
    margin-bottom: 0;
}

.p-404__page-btn
{
    font-weight: normal;

    height: 50px;
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 50px;
}

.p-blog__detail-head
{
    line-height: 1;

    display: flex;

    margin-top: 40px;
    margin-bottom: 30px;
    padding: 30px 0 30px;

    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;

    flex-wrap: wrap;
    align-items: center;
}

.p-blog__detail-head .c-sec-date
{
    font-size: 1.5rem;
    line-height: 1.6;
}

.p-blog__detail-head .c-sec-category
{
    line-height: 20px;

    width: -webkit-max-content;

    width: -moz-max-content;

    width: max-content;
    height: 20px;
    margin-right: 18px;
    margin-left: 18px;
    padding: 0 10px;
}

.p-blog__detail-ttl
{
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.6;

    width: 100%;
    margin-bottom: 20px;
}

.p-blog__detail-entry.c-entry p
{
    line-height: 1.6;

    margin-top: 25px;
}

.p-blog__detail-entry.c-entry .gallery-list + p
{
    margin-top: 10px;
}

.p-blog__detail-entry.c-entry figure
{
    margin-top: 30px;
}

.p-blog__detail-entry.c-entry > img
{
    margin-top: 30px;
}

.p-blog__detail-entry.c-entry p + img
{
    margin-top: 50px;
}

.p-blog__detail-pager
{
    display: flex;

    margin-top: 70px;
    padding-top: 50px;

    border-top: 1px solid #ccc;

    justify-content: space-between;
}

.p-blog__detail-pager-link
{
    position: relative;

    display: flex;

    width: calc((100% - 10px) / 2);
    height: 60px;

    border: 1px solid #ccc;

    align-items: center;
    justify-content: center;
}

.p-blog__detail-pager-link::before
{
    position: absolute;
    top: 50%;

    width: 12px;
    height: 12px;

    content: '';
    transform-origin: top right;

    border-top: 1px solid #666;
    border-right: 1px solid #666;
}

.p-blog__detail-pager-link.--prev
{
    margin-right: auto;
    margin-left: 0;
}

.p-blog__detail-pager-link.--prev::before
{
    left: 8px;

    transform: rotate(-135deg);
}

.p-blog__detail-pager-link.--next
{
    margin-right: 0;
    margin-left: auto;
}

.p-blog__detail-pager-link.--next::before
{
    right: 20px;

    transform: rotate(45deg);
}

.p-blog__detail-banner
{
    display: flex;

    margin-top: 70px;

    flex-wrap: wrap;
    justify-content: space-between;
}

.p-blog__detail-banner-link
{
    display: block;

    width: calc((100% - 20px) / 2);
    max-width: 400px;
    margin-bottom: 30px;
}

.p-blog__detail-related
{
    margin-top: 40px;
    padding-bottom: 40px;
}

.p-campaign__detail-head
{
    margin-bottom: 70px;
}

.p-campaign__detail-head .c-sec-ttl
{
    margin-bottom: 40px;
}

.p-campaign__detail-head img
{
    margin-bottom: 50px;
}

.p-campaign__detail-btn
{
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
}

.p-campaign__detail-subttl
{
    font-size: 2rem;
    font-weight: bold;

    margin-top: 70px;
    margin-bottom: 30px;

    border-bottom: 1px solid #999;
}

.p-campaign__session
{
    margin-bottom: 70px;
}

.p-campaign__past
{
    margin-bottom: 80px;
}

.p-company__outline
{
    margin-top: 70px;
    margin-bottom: 80px;
}

.p-disclaimar__01
{
    margin-bottom: 70px;
}

.p-disclaimar__02
{
    margin-bottom: 70px;
}

.p-disclaimar__03
{
    margin-bottom: 70px;
}

.p-feature__detail-head
{
    line-height: 1;

    display: flex;

    margin-bottom: 30px;
    padding: 30px 0 30px;

    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;

    flex-wrap: wrap;
}

.p-feature__detail-head .c-sec-date
{
    font-size: 1.5rem;
}

.p-feature__detail-ttl
{
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.6;

    width: 100%;
    margin-bottom: 20px;
}

.p-feature__detail-entry.c-entry p
{
    line-height: 1.6;

    margin-top: 25px;
}

.p-feature__detail-entry.c-entry .gallery-list + p
{
    margin-top: 10px;
}

.p-feature__detail-entry.c-entry figure
{
    margin-top: 30px;
}

.p-feature__detail-entry.c-entry > img
{
    margin-top: 30px;
}

.p-feature__detail-entry.c-entry p + img
{
    margin-top: 50px;
}

.p-feature__session
{
    margin-bottom: 70px;
}

.p-feature__past
{
    margin-bottom: 80px;
}

.p-news__detail-head
{
    display: flex;

    padding: 30px 0;

    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;

    flex-wrap: wrap;
}

.p-news__detail-ttl
{
    font-size: 2.5rem;
    font-weight: bold;

    width: 100%;
    margin-bottom: 15px;
}

.p-news__detail-btn
{
    font-size: 1.3rem;

    width: 180px;
    height: 40px;
    margin-top: 50px;
    margin-right: auto;
    margin-bottom: 80px;
    margin-left: auto;
}

.p-news__detail-entry
{
    margin-bottom: 40px;
    padding-top: 30px;
}

.p-privacypolicy__attempt
{
    margin-bottom: 70px;
}

.p-privacypolicy__subject
{
    margin-bottom: 70px;
}

.p-privacypolicy__numlist
{
    margin-top: 20px;
    padding-left: 30px;
}

.p-privacypolicy__numlist li
{
    margin-bottom: 5px;
    padding-left: 10px;

    list-style: decimal;
}

.p-registration__about
{
    margin-bottom: 70px;
}

.p-registration__about-list
{
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
}

.p-registration__about-list li
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: calc((100% - 30px) / 2);
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 55px 25px 30px;

    border: 5px solid #ffc1b2;
    border-radius: 9px;
    background-color: #fffcf7;

    align-items: center;
}

.p-registration__about-list-num
{
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;

    position: absolute;
    top: -30px;
    left: 50%;

    display: flex;
    flex-direction: column;

    width: 60px;
    height: 60px;

    transform: translateX(-50%);

    color: #fff;
    border-radius: 50%;
    background-color: #ff653f;

    align-items: center;
    justify-content: center;
}

.p-registration__about-list-num-jp
{
    font-size: 1.2rem;

    margin-bottom: 2px;
}

.p-registration__about-list-img
{
    max-width: 100px;
    max-height: 100px;
    margin-bottom: 30px;
}

.p-registration__about-list-ttl
{
    font-size: 2rem;
    font-weight: bold;

    margin-bottom: 20px;
}

.p-registration__btn
{
    margin-right: auto;
    margin-left: auto;
}

.p-registration__campaign
{
    margin-bottom: 80px;
}

.p-seminar__session
{
    margin-bottom: 70px;
}

.p-seminar__past
{
    margin-bottom: 80px;
}

.p-terms__using
{
    margin-bottom: 70px;
}

.p-terms__about
{
    margin-bottom: 80px;
}

.p-top__mv
{
    position: relative;
    z-index: 10;

    margin-top: 70px;

    background-color: #095473;
}

.p-top__mv-slide
{
    position: relative;

    width: 100%;
    height: calc(40vw + 0px);
    margin-right: auto;
    margin-left: auto;

    transition: .2s;
}

.slide li
{
    display: block;

    width: 100%;
    height: 100%;
}

.slide li .img
{
    display: block;

    width: 100%;
    height: 40vw;

    transform-origin: center top;

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.slide li.s-01 .img
{
    background-image: url('../images/top/mv01.jpg');
}

.slide li.s-02 .img
{
    background-image: url('../images/top/mv02.jpg');
}

.slide li.s-03 .img
{
    background-image: url('../images/top/mv03.jpg');
}

.slick-dots
{
    position: relative;
    z-index: 11;

    display: flex;

    justify-content: center;
}

.slick-dots li
{
    width: 50px;
    height: 5px;
}

.slick-dots li button:before
{
    width: 50px;
    height: 5px;

    content: '';

    background-color: #ccc;
}

.slick-dots li.slick-active button:before
{
    background-color: #ff653f;
}

/* Utility
  ----------------------------------------------------------------- */

/* plugin
  ----------------------------------------------------------------- */

/*# sourceMappingURL=style.css.map */

@media screen and (min-width: 768px)
{
    .u-hidden-pc
    {
        display: none;
    }
}

@media screen and (min-width: 1024px)
{
    .p-header__menu-link:hover
    {
        opacity: 1;
    }

    .p-header__menu-link::after
    {
        position: absolute;

        display: block;

        content: '';
        transition: .2s;
    }

    .p-header__menu-link:hover::after,
    .p-header__menu-item.is-active .p-header__menu-link::after
    {
        bottom: 0;

        width: calc(100% - 1px);
        height: 3px;

        background-color: #0599d9;
    }

    .p-top__mv-slide
    {
        max-width: 1400px;
        max-height: 560px;
    }

    .slide li
    {
        max-width: 1400px;
        max-height: 560px;
    }

    .slide li .img
    {
        max-width: 1400px;
        max-height: 560px;
    }
}

@media screen and (max-width: 1200px)
{
    .inner
    {
        padding-right: 30px;
        padding-left: 30px;
    }

    .inner.--nest
    {
        padding-right: 0;
        padding-left: 0;
    }

    .l-content::before
    {
        margin-left: calc(50% - 50vw - 30px);
    }

    .l-breadcrumb
    {
        padding-right: 0;
        padding-left: 0;
    }

    .p-totop__link
    {
        right: 20px;
    }

    .p-header__menu-link
    {
        padding-right: 10px;
        padding-left: 10px;
    }
}

@media screen and (max-width: 1024px)
{
    .l-content
    {
        flex-direction: column;
    }

    .l-main
    {
        width: 100%;
        padding-top: 70px;
    }

    .l-side
    {
        width: 100%;
        padding-top: 30px;
        padding-bottom: 35px;
    }

    .c-sec-list.--col2 .c-sec-list-item
    {
        width: calc((100% - 30px) / 2);
    }

    .c-sec-list.--col2 .c-sec-list-item:not(::nth-child(2n-1))
    {
        margin-left: 20px;
    }

    .c-sec-list.--col3 .c-sec-list-item
    {
        width: calc((100% - 32px) / 3);
    }

    .c-sec-list.--col3 .c-sec-list-item:not(:nth-child(3n-2))
    {
        margin-left: 16px;
    }

    .c-sec-table
    {
        margin-bottom: 70px;
    }

    .l-breadcrumb
    {
        margin-left: calc(50% - 50vw + 30px);
        padding-right: 0;
        padding-left: 0;
    }

    .p-footer__navi
    {
        width: calc(100% - 300px);
    }

    .p-footer__ttl
    {
        width: 300px;

        border-left: none;
    }

    .p-footer__sns.--drawer
    {
        display: flex;
    }

    .l-header__lower
    {
        padding-right: 30px;
        padding-left: 30px;
    }

    .p-header-inner
    {
        padding-right: 30px;
        padding-left: 30px;
    }

    .p-header__menu-wrapper
    {
        position: fixed;
        z-index: 999;
        top: 80px;
        right: -100%;

        overflow: scroll;

        width: 100%;
        height: 100vh;
        margin-top: 0;
        padding-top: 30px;
        padding-bottom: 100px;

        transition: .5s;

        opacity: 0;
        color: #fff;
        background-color: #0599d9;
    }

    .js-height-min .p-header__menu-wrapper
    {
        top: 70px;
    }

    .p-header__menu-wrapper.is-open
    {
        right: 0;

        display: block;

        opacity: 1;
    }

    .p-header__menu
    {
        height: auto;
        margin-bottom: 40px;
        padding-right: 30px;
        padding-left: 30px;
    }

    .p-header__menu-list
    {
        flex-direction: column;

        height: auto;

        border-bottom: 1px solid #8fd2ee;

        justify-content: flex-start;
    }

    .p-header__menu-item
    {
        width: 100%;
        height: auto;
    }

    .p-header__menu-link
    {
        font-size: 1.6rem;

        position: relative;

        height: 46px;
        padding-right: 10px;
        padding-left: 10px;

        color: #fff;
        border-top: 1px solid #8fd2ee;

        justify-content: flex-start;
    }

    .p-header__menu-link:hover
    {
        opacity: 1;
        color: #0599d9;
        background-color: #fff;
    }

    .p-header__menu-link::after
    {
        position: absolute;
        right: 10px;

        width: 13px;
        height: 13px;

        content: '';

        background: url(../images/common/icon_button_arrow.svg) no-repeat center;
        background-size: contain;
    }

    .p-header__menu-link:hover::after
    {
        background: url(../images/common/icon_button_arrow_blue.svg) no-repeat center;
        background-size: contain;
    }

    .--drawer
    {
        display: block;
    }

    .p-header__ham
    {
        z-index: 9999;

        display: flex;
        display: flex;
        flex-direction: column;

        width: 26px;

        align-items: center;
        justify-content: center;
    }

    .p-header__ham:hover
    {
        cursor: pointer;
    }

    .p-header__ham.is-open .p-header__bar--01
    {
        top: 50%;

        width: 28px;

        transform: translateY(-50%) rotate(-45deg);
    }

    .p-header__ham.is-open .p-header__bar--02
    {
        bottom: 50%;

        width: 28px;

        transform: translateY(-50%) rotate(45deg);
    }

    .p-header__ham.is-open .p-header__bar--03
    {
        opacity: 0;
    }

    .p-header__bars
    {
        position: relative;

        width: 26px;
        height: 21px;

        transition: .2s;
    }

    .p-header__bars:hover
    {
        opacity: .6;
    }

    .p-header__ham.is-open .p-header__bars
    {
        width: 26px;
        height: 22px;
        margin-bottom: 5px;
    }

    .p-header__bar
    {
        position: absolute;
        left: 0;

        width: 26px;
        height: 3px;

        transition: .3s;

        background-color: #0599d9;
    }

    .p-header__bar--01
    {
        top: 0;
    }

    .p-header__bar--02
    {
        top: 50%;

        transform: translateY(-1px);
    }

    .p-header__bar--03
    {
        bottom: 0;
    }

    .p-side__blog-list
    {
        margin-top: 20px;
    }

    .p-side__blog-list li
    {
        margin-bottom: 10px;
    }

    .p-side.--drawer
    {
        margin-bottom: 22px;
    }

    .p-side__list
    {
        display: flex;

        flex-wrap: wrap;
    }

    .p-side__list li
    {
        width: calc((100% - 36px) / 3);
        margin-bottom: 18px;
    }

    .p-side__list li:not(:nth-child(3n-2))
    {
        margin-left: 18px;
    }

    .p-side__list li a
    {
        width: 100%;
    }

    .p-side__report
    {
        display: flex;

        justify-content: space-between;
        flex-wrap: wrap;
    }

    .p-side__report li
    {
        width: calc((100% - 20px) / 2);
    }

    .p-blog__detail-related
    {
        padding-bottom: 30px;
    }
}

@media screen and (max-width: 768px)
{
    .inner
    {
        padding-right: 15px;
        padding-left: 15px;
    }

    .l-content::before
    {
        margin-left: calc(50% - 50vw - 15px);

        background-image: url(../images/common/bg_l_sp.png), url(../images/common/bg_r_sp.png);
    }

    .c-entry h3
    {
        font-size: 1.8rem;

        margin-top: 50px;
        padding-bottom: 5px;
    }

    .c-entry p + p
    {
        margin-top: 15px;
    }

    .c-entry > img
    {
        margin-top: 15px;
    }

    .c-entry .card
    {
        flex-direction: column;

        align-items: center;
    }

    .c-entry .card + .card
    {
        margin-top: 25px;
    }

    .c-entry .card > img
    {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .c-entry .card_detail
    {
        width: 100%;
    }

    .c-entry .profile
    {
        flex-direction: column;

        align-items: center;
        justify-content: center;
    }

    .c-entry .profile img
    {
        margin-bottom: 20px;
    }

    .c-entry .profile-data
    {
        width: 100%;
    }

    .gallery-list li
    {
        width: calc((100% - 10px) / 2);
    }

    .gallery-list li:not(:nth-child(3n-2))
    {
        margin-left: 0;
    }

    .gallery-list li:not(:nth-child(2n-1))
    {
        margin-left: 10px;
    }

    .c-news-pagenation .wp-pagenavi a,
    .c-news-pagenation .wp-pagenavi span
    {
        line-height: 28px;

        width: 30px;
        height: 30px;
    }

    .c-sec-base .c-sec-ttl
    {
        margin-top: 0;
        margin-bottom: 20px;
    }

    .c-sec-base .c-sec-subttl
    {
        margin-top: 25px;
        margin-bottom: 8px;
    }

    .c-sec-bloglist
    {
        flex-direction: column;

        margin-bottom: 30px;
    }

    .c-sec-bloglist-item
    {
        width: 100%;
        margin-bottom: 20px;
    }

    .c-sec-bloglist-item:not(:nth-child(2n-1))
    {
        margin-left: 0;
    }

    .c-sec-bloglist-item a img
    {
        margin-right: 14px;
    }

    .c-sec-bloglist-txt h3
    {
        margin-bottom: 3px;
    }

    .c-sec-bloglist-txt p
    {
        line-height: 1.4;

        margin-bottom: 3px;
    }

    .c-sec-head
    {
        margin-bottom: 30px;
    }

    .c-sec-ttl
    {
        font-size: 2rem;
    }

    .c-sec-subttl
    {
        font-size: 1.8rem;
    }

    .c-sec-btn
    {
        font-size: 1.3rem;

        width: 70px;
    }

    .c-sec-read
    {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .c-sec-read.--blue
    {
        font-size: 1.8rem;

        margin-top: 20px;
    }

    .c-sec-read.--lower
    {
        margin-top: 20px;
    }

    .c-sec-mv
    {
        margin-top: 30px;
    }

    .c-sec-indexlist
    {
        flex-direction: column;

        margin-bottom: 30px;
    }

    .c-sec-indexlist-item
    {
        width: 100%;
    }

    .c-sec-indexlist-item a
    {
        flex-direction: column;
    }

    .c-sec-indexlist-item a img
    {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }

    .c-sec-indexlist-txt
    {
        width: 100%;
    }

    .c-sec-indexlist-txt h3
    {
        font-size: 1.5rem;
    }

    .c-sec-indexlist-txt p
    {
        line-height: 1.4;

        margin-bottom: 3px;
    }

    .c-sec-list
    {
        flex-direction: column;

        margin-bottom: 20px;
    }

    .c-sec-list-item
    {
        margin-bottom: 30px;
    }

    .c-sec-list.--col2 .c-sec-list-item
    {
        width: 100%;
    }

    .c-sec-list.--col2 .c-sec-list-item:not(:nth-child(2n-1))
    {
        margin-left: 0;
    }

    .c-sec-list.--col3 .c-sec-list-item
    {
        width: 100%;
    }

    .c-sec-list.--col3 .c-sec-list-item:not(:nth-child(3n-2))
    {
        margin-left: 0;
    }

    .c-sec-list.--sp_col2
    {
        flex-direction: row;
    }

    .c-sec-list.--sp_col2 .c-sec-list-item
    {
        width: calc((100% - 20px) / 2);
    }

    .c-sec-list.--sp_col2 .c-sec-list-item:not(:nth-child(2n-1))
    {
        margin-left: 20px;
    }

    .c-sec-list-item a img
    {
        margin-bottom: 15px;
    }

    .c-sec-list-item a p
    {
        font-size: 1.5rem;
    }

    .c-sec-list-tag
    {
        margin-top: 12px;
    }

    .c-sec-list-tag li
    {
        font-size: 1.1rem;
        line-height: 2.4rem;

        height: 24px;
    }

    .c-sec-newslist
    {
        margin-bottom: 50px;
    }

    .c-sec-newslist-item a
    {
        padding: 15px 0;

        flex-wrap: wrap;
    }

    .c-sec-newsttl
    {
        width: 100%;
        margin-top: 10px;
    }

    .c-sec-table
    {
        margin-bottom: 50px;
    }

    .c-sec-table tr
    {
        display: flex;
        flex-direction: column;

        border-bottom: none;
    }

    .c-sec-table th,
    .c-sec-table td
    {
        width: 100%;
        padding: 6px 10px;

        border-bottom: 1px solid #ccc;
    }

    .c-sec-txtlist
    {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .c-sec-txtlist-item a h3
    {
        font-size: 1.5rem;
    }

    .c-sec-txtlist-item a p
    {
        margin-bottom: 3px;
    }

    .c-sns
    {
        margin-top: 45px;
        margin-bottom: 50px;
    }

    .c-ttl
    {
        font-size: 2.2rem;
    }

    .c-ttl--en
    {
        padding-top: 25px;
        padding-bottom: 15px;
    }

    .c-subttl
    {
        font-size: 2rem;
    }

    .c-top-sec
    {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .l-breadcrumb
    {
        font-size: 1.1rem;

        height: 30px;
        margin-left: calc(50% - 50vw + 15px);
        padding-right: 0;
        padding-left: 0;
    }

    .l-breadcrumb__wrap
    {
        height: 30px;
    }

    .p-footer
    {
        padding-top: 40px;
        padding-bottom: 100px;
    }

    .p-footer__navi
    {
        display: none;
    }

    .p-footer__ttl
    {
        width: 100%;
    }

    .p-footer__logo
    {
        margin-bottom: 30px;
    }

    .p-footer__sns
    {
        margin-bottom: 30px;
    }

    .p-totop__link
    {
        right: 15px;
    }

    .p-tomember
    {
        top: unset;
        right: 0;
        bottom: -60px;

        width: 100%;

        transition: .9s;
        transform: none;

        opacity: 0;
    }

    .p-tomember.js-height-min
    {
        bottom: 0;

        opacity: 1;
    }

    .p-tomember__link
    {
        width: 100%;
        height: 60px;

        -ms-writing-mode: unset;

            writing-mode: unset;
    }

    .p-tomember__link::before
    {
        margin-right: 8px;
        margin-bottom: 0;
    }

    .p-tomember.--drawer
    {
        opacity: 1;
    }

    .l-header__lower
    {
        height: 80px;
        margin-top: 70px;
        padding-right: 15px;
        padding-left: 15px;
    }

    .l-header__lower.--blog
    {
        height: 80px;
    }

    .p-header__lower-ttl
    {
        font-size: 2rem;
        line-height: 1;

        flex-direction: column;

        align-items: flex-start;
    }

    .p-header__lower-ttl--en
    {
        font-size: 1.3rem;

        margin-top: 6px;
        margin-left: 0;
    }

    .p-header-inner
    {
        height: 70px;
        padding-right: 15px;
        padding-left: 15px;
    }

    .js-height-min .p-header-inner
    {
        height: 70px;
    }

    .p-header__logo img
    {
        width: 190px;
    }

    .js-height-min .p-header__logo img
    {
        width: 190px;
    }

    .p-header__menu-wrapper
    {
        top: 70px;
    }

    .p-header__menu
    {
        margin-bottom: 30px;
        padding-right: 15px;
        padding-left: 15px;
    }

    .p-side__blog
    {
        margin-top: 15px;
    }

    .p-side__blog-profile
    {
        margin-bottom: 30px;
    }

    .p-side__blog-profile-name
    {
        line-height: 1;

        margin-bottom: 15px;
    }

    .p-side__blog-profile-txt
    {
        line-height: 1.6;
    }

    .p-side__blog-rank
    {
        margin-bottom: 30px;
    }

    .p-side__blog-list
    {
        margin-bottom: 30px;
    }

    .p-side.--drawer
    {
        margin-bottom: 15px;
    }

    .p-side__list li
    {
        width: calc((100% - 15px) / 2);
        margin-bottom: 15px;
    }

    .p-side__list li:not(:nth-child(3n-2))
    {
        margin-left: 0;
    }

    .p-side__list li:not(:nth-child(2n-1))
    {
        margin-left: 15px;
    }

    .p-side__report li
    {
        width: 100%;
    }

    .p-side__ttl
    {
        font-size: 1.8rem;

        padding-left: 12px;
    }

    .p-404__page-btn
    {
        margin-top: 30px;
        margin-bottom: 50px;
    }

    .p-blog__detail-head
    {
        margin-top: 30px;
        margin-bottom: 20px;
        padding: 15px 0 15px;
    }

    .p-blog__detail-ttl
    {
        font-size: 2rem;
        line-height: 1.4;

        margin-bottom: 10px;
    }

    .p-blog__detail-entry.c-entry p
    {
        line-height: 1.8;

        margin-top: 10px;
    }

    .p-blog__detail-entry.c-entry figure
    {
        margin-top: 20px;
    }

    .p-blog__detail-entry.c-entry > img
    {
        margin-top: 20px;
    }

    .p-blog__detail-entry.c-entry p + img
    {
        margin-top: 30px;
    }

    .p-blog__detail-pager
    {
        margin-top: 50px;
        padding-top: 30px;
    }

    .p-blog__detail-pager-link
    {
        height: 40px;
    }

    .p-blog__detail-pager-link::before
    {
        width: 10px;
        height: 10px;
    }

    .p-blog__detail-pager-link.--prev::before
    {
        left: 0;
    }

    .p-blog__detail-pager-link.--next::before
    {
        right: 10px;
    }

    .p-blog__detail-banner
    {
        flex-direction: column;

        margin-top: 50px;
    }

    .p-blog__detail-banner-link
    {
        width: 100%;
        margin-bottom: 0;
    }

    .p-blog__detail-banner-link:not(:first-child)
    {
        margin-top: 20px;
    }

    .p-blog__detail-related
    {
        margin-top: 50px;
        padding-bottom: 20px;
    }

    .p-blog__detail-related .c-sec-ttl
    {
        font-size: 1.8rem;
        line-height: 2.5rem;
    }

    .p-blog__detail-related .c-sec-txtlist
    {
        margin-top: 15px;
    }

    .p-blog__detail-related .c-sec-txtlist-item a
    {
        padding: 18px 0 15px;
    }

    .p-blog__detail-related .c-sec-txtlist-item a h3
    {
        margin-bottom: 3px;
    }

    .p-campaign__detail-head
    {
        margin-bottom: 50px;
    }

    .p-campaign__detail-head .c-sec-ttl
    {
        margin-bottom: 30px;
    }

    .p-campaign__detail-head img
    {
        margin-bottom: 30px;
    }

    .p-campaign__detail-btn
    {
        margin-top: 30px;
        margin-right: auto;
        margin-left: auto;
    }

    .p-campaign__detail-subttl
    {
        font-size: 1.8rem;

        margin-top: 50px;
        margin-bottom: 20px;
    }

    .p-campaign__session
    {
        margin-bottom: 50px;
    }

    .p-campaign__past
    {
        margin-bottom: 30px;
    }

    .p-company__outline
    {
        margin-bottom: 50px;
    }

    .p-disclaimar__01
    {
        margin-bottom: 50px;
    }

    .p-disclaimar__02
    {
        margin-bottom: 50px;
    }

    .p-disclaimar__03
    {
        margin-bottom: 50px;
    }

    .p-feature__detail-head
    {
        margin-bottom: 30px;
        padding: 20px 0 20px;
    }

    .p-feature__detail-ttl
    {
        font-size: 2rem;

        margin-bottom: 10px;
    }

    .p-feature__detail-entry.c-entry p
    {
        line-height: 1.8;

        margin-top: 20px;
    }

    .p-feature__detail-entry.c-entry figure
    {
        margin-top: 20px;
    }

    .p-feature__detail-entry.c-entry > img
    {
        margin-top: 20px;
    }

    .p-feature__detail-entry.c-entry p + img
    {
        margin-top: 30px;
    }

    .p-feature__session
    {
        margin-bottom: 50px;
    }

    .p-feature__past
    {
        margin-bottom: 30px;
    }

    .p-news__detail-head
    {
        padding: 20px 0;
    }

    .p-news__detail-ttl
    {
        font-size: 2rem;

        margin-bottom: 10px;
    }

    .p-news__detail-btn
    {
        margin-top: 30px;
        margin-bottom: 40px;
    }

    .p-news__detail-entry
    {
        padding-top: 20px;
    }

    .p-privacypolicy__attempt
    {
        margin-bottom: 50px;
    }

    .p-privacypolicy__subject
    {
        margin-bottom: 50px;
    }

    .p-registration__about-list
    {
        flex-direction: column;
    }

    .p-registration__about-list li
    {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 30px;
    }

    .p-seminar__session
    {
        margin-bottom: 50px;
    }

    .p-seminar__past
    {
        margin-bottom: 30px;
    }

    .p-terms__using
    {
        margin-bottom: 50px;
    }

    .p-terms__about
    {
        margin-bottom: 50px;
    }

    .p-top__mv-slide
    {
        height: calc(133.3333333333vw + 0px);
    }

    .slide li .img
    {
        height: 133.3333333333vw;
        max-height: unset;
    }

    .slide li.s-01 .img
    {
        background-image: url('../images/top/mv01_sp.jpg');
    }

    .slide li.s-02 .img
    {
        background-image: url('../images/top/mv02_sp.jpg');
    }

    .slide li.s-03 .img
    {
        background-image: url('../images/top/mv03_sp.jpg');
    }

    .slick-dots li
    {
        width: 30px;
    }

    .slick-dots li button:before
    {
        width: 30px;
    }

    .u-hidden-sp
    {
        display: none;
    }
}

@-webkit-keyframes fadeUpAnime
{
    from
    {
        transform: translateY(50px);

        opacity: 0;
    }

    to
    {
        transform: translateY(0);

        opacity: 1;
    }
}

@keyframes fadeUpAnime
{
    from
    {
        transform: translateY(50px);

        opacity: 0;
    }

    to
    {
        transform: translateY(0);

        opacity: 1;
    }
}
