@charset "UTF-8";

/*---------------------------------
  Google Fonts
---------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");

.NotoSans {
    font-family: "Noto Sans JP", sans-serif;
}

.NotoSerif {
    font-family: "Noto Serif JP", serif;
}

.Poppins {
    font-family: "Poppins", sans-serif;
}

/*---------------------------------
  表示・非表示（PC / TB / SP）
---------------------------------*/
.pconly {
    display: block;
}

.tbonly {
    display: block;
}

.sponly {
    display: none !important;
}

.pcnone {
    display: none;
}

@media screen and (max-width: 767px) {
    .pconly {
        display: none !important;
    }

    .tbonly {
        display: none !important;
    }

    .sponly {
        display: block;
    }

    .pcnone {
        display: inline-block;
    }

    .spnone {
        display: none !important;
    }
}

/*---------------------------------
  html/bodyの設定
---------------------------------*/
html {
    font-size: 62.5%;
    /* 62.5%は10px */
    font-family: "Noto Sans JP", sans-serif;
}

body {
    color: #000000;
    background: #ffffff;
    overflow-x: hidden;
    word-wrap: break-word;
}

@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
        /* 62.5%は10px */
        font-family: "Noto Sans JP", sans-serif;
        overscroll-behavior: none;
    }

    body {
        color: #000000;
        background: #ffffff;
        overflow-x: hidden;
        word-wrap: break-word;
        overscroll-behavior: none;
    }
}

/*---------------------------------
  画像
---------------------------------*/
img {
    width: 100%;
    height: auto;
}

#maincontentswrap01 img {
    vertical-align: bottom;
}

#maincontentswrap01 a img {
    border-style: none;
}

#maincontentswrap01 img {
    width: 100%;
    height: auto;
    image-rendering: auto;
}

#maincontentswrap01 img[src$=".svg"] {
    width: 100%;
}

/*---------------------------------
  テキストリンク
---------------------------------*/
#maincontentswrap01 a:link {
    color: #008bd3;
    text-decoration: underline;
    transition: 1s;
}

#maincontentswrap01 a:visited {
    color: #008bd3;
    text-decoration: underline;
    transition: 1s;
}

#maincontentswrap01 a:active {
    color: #d7823f;
    text-decoration: underline;
    transition: 1s;
}

#maincontentswrap01 a:hover {
    color: #d7823f;
    text-decoration: underline;
    opacity: 0.8;
    transition: 1s;
}

/*---------------------------------
  クリックイベント
---------------------------------*/
.noevent {
    pointer-events: none;
}

/*---------------------------------
  画像リンク
---------------------------------*/
a img {
    display: block;
    transition: 1s;
}

a:hover img {
    display: block;
    opacity: 0.8 !important;
    transition: 1s;
}

/*---------------------------------
  フォントカラー
---------------------------------*/
.font-white01 {
    color: #ffffff;
}

.font-blue01 {
    color: #2b457d;
}

.font-black01 {
    color: #000000;
}

.font-black02 {
    color: #333333;
}

.font-red01 {
    color: #c50018;
}

.font-redwhiteborder01 {
    color: #c50018;
    text-shadow:
        1px 1px 1px #ffffff,
        -1px 1px 1px #ffffff,
        1px -1px 1px #ffffff,
        -1px -1px 1px #ffffff;
}

.font-green01 {
    color: #26b7bc;
}

.font-pink01 {
    color: #e7364a;
}

.font-pink02 {
    color: #e8528d;
}

.font-pink03 {
    color: #E85093;
}

/*---------------------------------
  テキスト頭揃え
---------------------------------*/
.indent01-01 {
    text-indent: -1em;
    padding: 0 0 0 1em;
}

.indent01-05 {
    text-indent: -1.5em;
    padding: 0 0 0 1.5em;
}

/*---------------------------------
  文字間調整用
---------------------------------*/
.letterspace01 {
    letter-spacing: -0.02em;
}

/*---------------------------------
  テキスト位置
---------------------------------*/
.textleft {
    text-align: left !important;
}

.textcenter {
    text-align: center !important;
}

.textright {
    text-align: right !important;
}

/*---------------------------------
  改行設定
---------------------------------*/
.break:before {
    content: "\A";
    white-space: pre;
}

.pcno-break:before {
    content: "";
    white-space: pre;
}

.spno-break:before {
    content: "\A";
    white-space: pre;
}

@media screen and (max-width: 767px) {
    .break:before {
        content: "\A";
        white-space: pre;
    }

    .pcno-break:before {
        content: "\A";
        white-space: pre;
    }

    .spno-break:before {
        content: "";
        white-space: pre;
    }
}

/*---------------------------------
  アンカー位置設定
---------------------------------*/
#link01,
#link02,
#link03,
#link04,
#link05,
#link06,
#link07,
#link08,
#link09,
#link10,
#link11,
#main {
    margin: -243px 0 0;
    padding: 243px 0 0;
    position: absolute;
    z-index: 0;
}

@media screen and (max-width: 767px) {
    #link01,
    #link02,
    #link03,
    #link04,
    #link05,
    #link06,
    #link07,
    #link08,
    #link09,
    #link10,
    #link11,
    #main {
        margin: -20vw 0 0;
        padding: 20vw 0 0;
        position: absolute;
        z-index: 0;
    }
}

/*---------------------------------
  ローディング
---------------------------------*/
#splash {
    position: fixed;
    width: 100%;
    height: 100%;
    /* background: repeating-linear-gradient(0deg, #f6e1e9, #f6e1e9 8px, #fbf0f4 8px, #fbf0f4 11px); */
		background-color: #FFF9ED;
    background-size: 100%;
    z-index: 999999;
    text-align: center;
    color: #fff;
}

#splash-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定 */
#splash-logo img {
    width: 80%;
}

#k-splash {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #ffffff;
    background-size: 10%;
    z-index: 999999;
    text-align: center;
    color: #fff;
}

/* fadeUpをするアイコンの動き */
.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*画面遷移アニメーション*/
/*画面遷移の後現れるコンテンツ設定*/
#wrapper {
    opacity: 0;
    /*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #wrapper {
    animation-name: PageAnimeAppear;
    animation-duration: 1s;
    animation-delay: 0.2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes PageAnimeAppear {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media screen and (max-width: 767px) {
    #splash {
        position: fixed;
        width: 100%;
        height: 100%;
        background: repeating-linear-gradient(0deg, #f6e1e9, #f6e1e9 8px, #fbf0f4 8px, #fbf0f4 11px);
        background-size: 30%;
        z-index: 999999;
        text-align: center;
        color: #fff;
    }

    #splash-logo {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    /* Loading アイコンの大きさ設定 */
    #splash-logo img {
        width: 80%;
    }

    #k-splash {
        position: fixed;
        width: 100%;
        height: 100%;
        background: #ffffff;
        background-size: 30%;
        z-index: 999999;
        text-align: center;
        color: #fff;
    }
}

/*---------------------------------
  ヘッダースキップ（読み上げ対策）
---------------------------------*/
#headerskip {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    overflow: hidden;
    background-color: #999;
    text-align: center;
    color: #0a2530;
    z-index: 3000;
}

#headerskip a {
    color: #0a2530;
    overflow: hidden;
    background-color: transparent;
}

.show {
    line-height: 1.5 !important;
    background-color: #f6f6f6 !important;
    border-bottom: solid 1px #999 !important;
    color: #0a2530;
}

.show a {
    color: #000 !important;
    line-height: 150% !important;
    font-size: 100% !important;
    background-color: transparent;
}

/*---------------------------------
  ヘッダー
---------------------------------*/
header {
    width: 100%;
    padding: 30px 0 22px;
    position: fixed;
    z-index: 1;
    background: rgba(255, 255, 255, 1);
}

header.transform {
    background: rgba(255, 255, 255, 1);
    -webkit-box-shadow: 0px 10px 9px -6px rgba(102, 102, 102, 0.2);
    -moz-box-shadow: 0px 10px 9px -6px rgba(102, 102, 102, 0.2);
    box-shadow: 0px 10px 9px -6px rgba(102, 102, 102, 0.2);
    transition: 0.5s;
}

#headwrap01 {
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.headinner01 {
}

.headinner01.headlogo {
    width: 75%;
    order: 1;
}

.headinner01.headlogo a {
    width: 320px;
    display: block;
}

.headinner01.headlogo img {
    width: 320px;
}

.headinner01.headreadspeaker {
    width: 120px;
    margin: 0 10px 0 0;
    order: 2;
}

.headinner01.headinstagram {
    width: 27px;
    margin: 0 10px 0 0;
    order: 3;
}

.headinner01.headfacebook {
    width: 102px;
    margin: 0 10px 0 0;
    order: 4;
}

.headinner01.headnavbtn {
    display: none;
    order: 5;
}

#readspeakerwrap01 {
    display: table;
    margin: 0 auto;
}

#readspeakerwrap01 #xp1.rsexpanded {
    margin: 15px 0 0;
}

#readspeakerwrap01 #xp1 ul {
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    header {
        width: 100%;
        /*padding: 1.7333333333333332vw 2.933333333333333vw;*/
        padding: 0 0 1.7333333333333332vw;
        position: fixed;
        z-index: 1;
        /*background: rgba(232, 82, 141, 1.00);*/
        background: rgba(211, 109, 129, 1);
        /*background: rgba(159, 82, 103, 1.00);*/
    }

    header.transform {
        /*background: rgba(232, 82, 141, 1.00);*/
        background: rgba(211, 109, 129, 1);
        /*background: rgba(159, 82, 103, 1.00);*/
        -webkit-box-shadow: 0px 10px 9px -6px rgba(102, 102, 102, 0.2);
        -moz-box-shadow: 0px 10px 9px -6px rgba(102, 102, 102, 0.2);
        box-shadow: 0px 10px 9px -6px rgba(102, 102, 102, 0.2);
        transition: 0.5s;
    }

    #headwrap01 {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .headinner01 {
    }

    .headinner01.headlogo {
        width: 100%;
        order: 1;
        background: #ffffff;
        padding: 1.7333333333333332vw 2.933333333333333vw;
        text-align: center;
    }

    .headinner01.headlogo a {
        width: 69.33333333333334vw;
        display: block;
        margin: 0 auto;
    }

    .headinner01.headlogo img {
        width: 69.33333333333334vw;
        margin: 0 auto;
    }

    .headinner01.headreadspeaker {
        width: 10.666666666666668vw;
        margin: 1.7333333333333332vw 1.3333333333333335vw 0 0;
        order: 4;
    }

    .headinner01.headinstagram {
        width: 42vw;
        margin: 1.7333333333333332vw 1.3333333333333335vw 0 0;
        padding: 0 0 0 2.933333333333333vw;
        order: 2;
        text-align: right;
    }

    .headinner01.headinstagram:after {
        content: "";
        clear: both;
        display: block;
    }

    .headinner01.headinstagram a {
        float: right;
        display: block;
        width: 7.199999999999999vw !important;
    }

    .headinner01.headinstagram a img {
        width: 7.199999999999999vw !important;
    }

    .headinner01.headfacebook {
        width: 26vw;
        margin: 1.7333333333333332vw 1.3333333333333335vw 0 0;
        order: 3;
    }

    .headinner01.headnavbtn {
        display: block;
        order: 5;
    }

    #readspeakerwrap01 {
        display: table;
        margin: 0 auto;
    }

    #readspeakerwrap01 #xp1.rsexpanded {
        margin: 1.3333333333333335vw 0 0;
    }
}

/*---------------------------------
  ハンバーガーメニュー
---------------------------------*/

.nolink {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

/* Toggle(Button) */
#navToggle {
    display: block;
    position: absolute;
    /*to body*/
    right: 5.333333333333334vw;
    top: 10vw;
    width: 30px;
    height: 25px;
    cursor: pointer;
}

#navToggle div {
    position: relative;
}

#navToggle span {
    display: block;
    position: absolute;
    /*to div*/
    width: 100%;
    border-bottom: solid 5px #ffffff;
    border-radius: 20px;
    -webkit-transition: 0.35s ease-in-out;
    -moz-transition: 0.35s ease-in-out;
    transition: 0.35s ease-in-out;
}

#navToggle span:nth-child(1) {
    top: 0;
}

#navToggle span:nth-child(2) {
    top: 11px;
}

#navToggle span:nth-child(3) {
    top: 22px;
}

@media screen and (min-width: 768px) {
    header nav {
        display: block;
        text-align: center;
        /*font-size: 0.9090909090909091vw;*/
        font-size: calc(100vw / 91);
    }

    header ul {
        width: 96%;
        max-width: 1100px;
        margin: 15px auto 0;
        /*display: table;*/
        display: flex;
        justify-content: center;
        align-items: center;
    }

    header ul li {
        /*width: 11.714285714285714%;*/
        width: calc(100% / 6);
        color: #ffffff;
        font-weight: 600;
        /*display: table-cell;
        vertical-align: middle;*/
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: none;
        line-height: 120%;
    }

    header ul li.subnav {
        position: relative;
        z-index: 1;
    }

    header ul li.subnav .subnavwrap01 {
        width: 198.5%;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transition: 0.8s;
        top: 4em;
        left: 0;
        padding: 0;
        /*background:rgba(89,119,186,1.0);*/
        box-sizing: border-box;
        text-align: left;
        border: 1px solid #ca0043;
    }

    header ul li.subnav .subnavwrap01 a {
        margin: 0;
        padding: 10px;
        border: none;
    }

    header ul li.subnav:hover .subnavwrap01 {
        visibility: visible;
        opacity: 1;
    }

    header ul li a {
        width: 100%;
        background: #ffef62;
        display: block;
        padding: 5px;
        margin: 0 3px 0 0;
        border: 1px solid #ca0043;
    }

    header ul li a.navon {
        color: #ffffff !important;
        background: #e7364a;
        pointer-events: none;
    }

    header ul li a.navispace {
        /*padding: 13px 0 0;*/
        padding: 10px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 3.6em;
    }

    header ul li:first-child a {
        border-radius: 10px 0 0 10px;
    }

    header ul li:last-child a {
        margin: 0;
        border-radius: 0 10px 10px 0;
    }

    header ul li a:link {
        color: #e7364a;
        text-decoration: none;
        transition: 1s;
    }

    header ul li a:visited {
        color: #e7364a;
        text-decoration: none;
        transition: 1s;
    }

    header ul li a:hover {
        color: #ffffff;
        background: #e7364a;
        transition: 1s;
    }

    header ul li a.nolink:link {
        color: #fb8c98;
    }

    header ul li a.nolink:visited {
        color: #fb8c98;
    }
}

@media screen and (min-width: 1101px) {
    header nav {
        font-size: 14px;
    }

    header ul li.subnav .subnavwrap01 {
        top: 4em;
    }
}

@media screen and (max-width: 767px) {
    header nav {
        position: absolute;
        right: 0;
        top: -240vw;
        /*top: -160vw;*/
        /*通常時はビュー外*/
        /*background: rgba(232, 82, 141, 1.0);*/
        background: rgba(211, 109, 129, 1);
        /*background: rgba(159, 82, 103, 1.0);*/
        width: 100%;
        /*padding: 0 2%;*/
        padding: 0 2% 10%;
        -webkit-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        -o-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
        /*font-size: 2.666666666666667vw;*/
        font-size: 3.6vw;
        font-weight: 700;

        text-align: center;

        height: calc(100vh - 18vw);
        overflow-x: scroll;
        margin-top: 1%;
    }

    header ul {
        margin: 0;
        padding-bottom: 10vh;
    }

    .navi-title-sp {
        width: 50%;
        min-width: 8em;
        margin: 0 auto 0.5em;
        padding-bottom: 0.5em;
        border-bottom: 1px solid #ffffff;
    }

    header ul li {
        display: block;
        margin: 0;
        padding: 0.5em 0;
        border-bottom: dotted 1px #ffffff;
        /*line-height: 2.7;*/
        font-size: 4vw;
        line-height: 1.5em;
    }

    header ul li a {
        display: block;
        padding: 0.5em 0 0.5em;
    }

    header ul li a:link {
        color: #ffffff;
        text-decoration: none;
        transition: 1s;
    }

    header ul li a:visited {
        color: #ffffff;
        text-decoration: none;
        transition: 1s;
    }

    header ul li a:active {
        color: #ffffff;
        text-decoration: none;
        transition: 1s;
    }

    header ul li a:hover {
        color: #ffffff;
        text-decoration: none;
        transition: 1s;
    }

    header ul li a.nolink:link {
        color: #e8a5d5;
    }

    header ul li a.nolink:visited {
        color: #e8a5d5;
    }

    header ul li::after {
        content: "";
    }

    header ul li:last-child {
        border-bottom: none;
    }

    /* Toggle(Button) */
    #navToggle {
        display: block;
    }

    /* Click Toggle(Button) */
    .openNav #navToggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .openNav #navToggle span:nth-child(2),
    .openNav #navToggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    /*header menu*/
    .openNav nav {
        /*-moz-transform: translateY(178vw);
        -webkit-transform: translateY(178vw);
        transform: translateY(178vw)*/
        -moz-transform: translateY(258vw);
        -webkit-transform: translateY(258vw);
        transform: translateY(258vw);
    }
}

/*---------------------------------
  フローティングバナー
---------------------------------*/
#floatbannerwrap01 {
    width: 3.0714285714285716vw;
    /* 1400px基準でwidth: 43px;  */
    position: fixed;
    bottom: 20%;
    right: 0;
    z-index: 6003;
}

#floatbannerwrap01 a {
    display: block;
    margin: 0 0 15px;
}

#floatbannerwrap01 a:last-child {
    margin: 0;
}

@media screen and (min-width: 0px) and (max-width: 768px) {
    #floatbannerwrap01 {
        width: 6.666666666666667vw;
        /* 750px基準でwidth: 50px;  */
        position: fixed;
        bottom: 10%;
        right: 0;
        z-index: 6003;
        animation-name: blink;
        -webkit-animation: blink 1.3s ease-in-out infinite alternate;
        -moz-animation: blink 1.3s ease-in-out infinite alternate;
        animation: blink 1.3s ease-in-out infinite alternate;
    }

    #floatbannerwrap01 a {
        display: block;
        margin: 0 0 15px;
    }

    #floatbannerwrap01 a:last-child {
        margin: 0;
    }
}

@-webkit-keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/*---------------------------------
  メインコンテンツ
---------------------------------*/
#maincontentswrap01 {
    width: 100%;
    font-size: 1.6rem;
    padding: 150px 0 0;
}

@media screen and (max-width: 767px) {
    #maincontentswrap01 {
        width: 100%;
        font-size: 2.666666666666667vw;
        padding: 18.6vw 0 0;
    }
}

/*---------------------------------
  コンテンツ（共通）
---------------------------------*/
.contentswrap01 {
    width: 100%;
    padding: 0 0 34px;
}

.contentswrap01:last-child {
    padding: 0;
}

.contentswrap01:after {
    content: "";
    clear: both;
    display: block;
}

.contentswrap01 img {
    display: block;
    width: 100%;
    height: auto;
}

.contentswrap01.-idcourse,
.contentswrap01.-idcampaign {
    background-color: #FFF9ED;
}

/* 白バックグラウンド包含用 */
.contentsbgwrap01 {
    width: 100%;
}

.contentsinner01 {
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 0 34px;
}

.contentsinner01.-idtop {
    width: 100%;
		max-width: unset;
    margin: 0 auto;
    padding: 0;
		background-color: #fff;
}

.contentsinner01.-idtop > .inner {
		width: 100%;
    max-width: 1060px;
    margin: 0 auto;
		padding: 50px 0 100px;
		background-image: url(../img/aboutbg_pc_rr.webp);
		background-size: contain;
		background-position: bottom 50px center;
		background-repeat: no-repeat;
}

.contentsinner01:after {
    content: "";
    clear: both;
    display: block;
}

.contentsinner02,
.contentsinner02b {
    display: block;
    padding: 20px 40px;
}

.contentsinner02:after,
.contentsinner02b:after {
    content: "";
    clear: both;
    display: block;
}

.contentsinner03 {
    display: block;
}

.contentsinner03:after {
    content: "";
    clear: both;
    display: block;
}

.contentsinner04 {
    display: block;
    padding: 0 0 40px;
    position: relative;
}

.contentsinner04:last-child {
    padding: 0;
}

.contentsinner04:after {
    content: "";
    clear: both;
    display: block;
}

.contentsinner05 {
    display: block;
    padding: 0 0 40px;
}

.contentsinner05:last-child {
    padding: 0;
}

.contentsinner05:after {
    content: "";
    clear: both;
    display: block;
}

.contentsinner06 {
    display: block;
    padding: 0 40px 20px;
}

.contentsinner06:after {
    content: "";
    clear: both;
    display: block;
}

.contentsinner07 {
    display: block;
    padding: 0 0 100px;
    position: relative;
}

.contentsinner07:last-child {
    padding: 0;
}

.contentsinner07:after {
    content: "";
    clear: both;
    display: block;
}

.contentsborderinner01 {
    display: block;
    padding: 45px;
    border: 2px solid #ffffff;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 160%;
}

.contentsborderinner01:after {
    content: "";
    clear: both;
    display: block;
}


.button-unit {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	line-height: 1;
	background-color: #E85093;
	color: #fff;
	font-size: 26px;
	padding: .75em 2em;
	box-shadow: 0 6px 0 #AC004C;
	border-radius: 100px;
	margin: 0 auto 6px;
}

.buttonunit-area .button-unit:hover {
	color: #fff !important;
}

.button-unit::after {
	content: '';
	position: absolute;
	right: 24px;
	width: 32px;
	height: 32px;
	background-image: url(../img/arrow_right.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.button-unit.-contact {
	max-width: 600px;
	margin-bottom: 2em;
}

.button-unit.-course {
	background-color: #fff;
	font-size: 18px;
	text-decoration: none !important;
}
#course-cards .button-unit.-c01:hover,
.button-unit.-c01 {
	color: #E5036E !important;
	box-shadow: 0 6px 0 #E5036E;
	opacity: 1;
}
#course-cards .button-unit.-c02:hover,
.button-unit.-c02 {
	color: #FF5E00 !important;
	box-shadow: 0 6px 0 #FF5E00;
	opacity: 1;
}
#course-cards .button-unit.-c03:hover,
.button-unit.-c03 {
	color: #888310 !important;
	box-shadow: 0 6px 0 #888310;
	opacity: 1;
}
#course-cards .button-unit.-c04:hover,
.button-unit.-c04 {
	color: #3B9B5A !important;
	box-shadow: 0 6px 0 #3B9B5A;
	opacity: 1;
}
#course-cards .button-unit.-c05:hover,
.button-unit.-c05 {
	color: #0073A7 !important;
	box-shadow: 0 6px 0 #0073A7;
	opacity: 1;
}
#course-cards .button-unit.-c06:hover,
.button-unit.-c06 {
	color: #005D96 !important;
	box-shadow: 0 6px 0 #005D96;
	opacity: 1;
}
#course-cards .button-unit.-c07:hover,
.button-unit.-c07 {
	color: #EF6500 !important;
	box-shadow: 0 6px 0 #EF6500;
	opacity: 1;
}
#course-cards .button-unit.-c08:hover,
.button-unit.-c08 {
	color: #008B8E !important;
	box-shadow: 0 6px 0 #008B8E;
	opacity: 1;
}
#course-cards .button-unit.-c09:hover,
.button-unit.-c09 {
	color: #5C66A6 !important;
	box-shadow: 0 6px 0 #5C66A6;
	opacity: 1;
}
#course-cards .button-unit.-c10:hover,
.button-unit.-c10 {
	color: #349A38 !important;
	box-shadow: 0 6px 0 #349A38;
	opacity: 1;
}
#course-cards .button-unit.-c11:hover,
.button-unit.-c11 {
	color: #20729D !important;
	box-shadow: 0 6px 0 #20729D;
	opacity: 1;
}
#course-cards .button-unit.-c12:hover,
.button-unit.-c12 {
	color: #E95631 !important;
	box-shadow: 0 6px 0 #E95631;
	opacity: 1;
}
#course-cards .button-unit.-c13:hover,
.button-unit.-c13 {
	color: #007479 !important;
	box-shadow: 0 6px 0 #007479;
	opacity: 1;
}
#course-cards .button-unit.-c14:hover,
.button-unit.-c14 {
	color: #DB4E5F !important;
	box-shadow: 0 6px 0 #DB4E5F;
	opacity: 1;
}
#course-cards .button-unit.-c15:hover,
.button-unit.-c15 {
	color: #40A344 !important;
	box-shadow: 0 6px 0 #40A344;
	opacity: 1;
}

.button-unit.-course::after {
	right: 12px;
	width: 24px;
	height: 24px;
}
.button-unit.-c01::after {
	background-image: url(../course/img/arrow_right_01.svg);
}
.button-unit.-c02::after {
	background-image: url(../course/img/arrow_right_02.svg);
}
.button-unit.-c03::after {
	background-image: url(../course/img/arrow_right_03.svg);
}
.button-unit.-c04::after {
	background-image: url(../course/img/arrow_right_04.svg);
}
.button-unit.-c05::after {
	background-image: url(../course/img/arrow_right_05.svg);
}
.button-unit.-c06::after {
	background-image: url(../course/img/arrow_right_06.svg);
}
.button-unit.-c07::after {
	background-image: url(../course/img/arrow_right_07.svg);
}
.button-unit.-c08::after {
	background-image: url(../course/img/arrow_right_08.svg);
}
.button-unit.-c09::after {
	background-image: url(../course/img/arrow_right_09.svg);
}
.button-unit.-c10::after {
	background-image: url(../course/img/arrow_right_10.svg);
}
.button-unit.-c11::after {
	background-image: url(../course/img/arrow_right_11.svg);
}
.button-unit.-c12::after {
	background-image: url(../course/img/arrow_right_12.svg);
}
.button-unit.-c13::after {
	background-image: url(../course/img/arrow_right_13.svg);
}
.button-unit.-c14::after {
	background-image: url(../course/img/arrow_right_14.svg);
}
.button-unit.-c15::after {
	background-image: url(../course/img/arrow_right_15.svg);
}


@media screen and (max-width: 767px) {
    .contentswrap01 {
        width: 100%;
        padding: 0 0 4.666666666666667vw;
    }

    .contentswrap01:last-child {
        padding: 0;
    }

    .contentswrap01:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentswrap01 img {
        display: block;
        width: 100%;
        height: auto;
    }

    /* 白バックグラウンド包含用 */
    .contentsbgwrap01 {
        width: 100%;
    }

    .contentsinner01 {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 0 4.666666666666667vw;
    }

    .contentsinner01:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentsinner02 {
        display: block;
        padding: 2.666666666666667vw 5.333333333333334vw;
    }

    .contentsinner02b {
        display: block;
        padding: 2.666666666666667vw 0;
    }

    .contentsinner02:after,
    .contentsinner02b:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentsinner03 {
        display: block;
    }

    .contentsinner03:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentsinner04 {
        display: block;
        padding: 0 0 5.333333333333334vw;
        position: relative;
    }

    .contentsinner04:last-child {
        padding: 0;
    }

    .contentsinner04:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentsinner05 {
        display: block;
        padding: 0 5.333333333333334vw 5.333333333333334vw;
    }

    .contentsinner05:last-child {
        padding: 0 5.333333333333334vw;
    }

    .contentsinner05:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentsinner06 {
        display: block;
        padding: 0 5.333333333333334vw 2.666666666666667vw;
    }

    .contentsinner06:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentsinner07 {
        display: block;
        padding: 0 0 16vw;
        position: relative;
    }

    .contentsinner07:last-child {
        padding: 0;
    }

    .contentsinner07:after {
        content: "";
        clear: both;
        display: block;
    }

    .contentsborderinner01 {
        width: 90%;
        margin: 0 auto;
        display: block;
        padding: 6.666666666666667vw;
        border: 2px solid #ffffff;
        font-size: 2.666666666666667vw;
        font-weight: 700;
        line-height: 140%;
    }

    .contentsborderinner01:after {
        content: "";
        clear: both;
        display: block;
    }


		.contentsinner01.-idtop > .inner {
				padding: 50px 0 120px;
				background: none;
				background-image: url(../img/aboutbg1_sp_rr.webp), url(../img/aboutbg2_sp_rr.webp);
				background-size: contain;
				background-position: top 50px center, bottom center;
				background-repeat: no-repeat;

		}
		.button-unit.-course,
		.button-unit {
			font-size: 5vw;
		}

}

/*---------------------------------
  バックグラウンド（共通）
---------------------------------*/
.yallowborderbg01 {
    background: repeating-linear-gradient(0deg, #fff69b, #fff69b 8px, #fffbcd 8px, #fffbcd 11px);
    background-size: 100%;
}

.blueborderbg01 {
    background: repeating-linear-gradient(0deg, #1d4293, #1d4293 8px, #232583 8px, #232583 11px);
    background-size: 100%;
}

.blueborderbg01 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.blueborderbg01 a:visited {
    color: #ffffff !important;
}

.blueborderbg01 a:active {
    color: #f8e100 !important;
}

.blueborderbg01 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.blueborderbg02 {
    background: repeating-linear-gradient(0deg, #668cc6, #668cc6 8px, #7394ca 8px, #7394ca 11px);
    background-size: 100%;
}

.blueborderbg02 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.blueborderbg02 a:visited {
    color: #ffffff !important;
}

.blueborderbg02 a:active {
    color: #f8e100 !important;
}

.blueborderbg02 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.blueborderbg03 {
    background: repeating-linear-gradient(0deg, #1372bc, #1372bc 8px, #2b80c3 8px, #2b80c3 11px);
    background-size: 100%;
}

.blueborderbg03 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.blueborderbg03 a:visited {
    color: #ffffff !important;
}

.blueborderbg03 a:active {
    color: #f8e100 !important;
}

.blueborderbg03 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.blueborderbg04 {
    background: repeating-linear-gradient(0deg, #54c3f1, #54c3f1 8px, #59cdfd 8px, #59cdfd 11px);
    background-size: 100%;
}

.blueborderbg04 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.blueborderbg04 a:visited {
    color: #ffffff !important;
}

.blueborderbg04 a:active {
    color: #f8e100 !important;
}

.blueborderbg04 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.bluebg01 {
    background: #004097;
}

.bluebg04 {
    background: #00a0e9;
}

.bluediagonalborderbg01 {
    background: repeating-linear-gradient(-10deg, #1d4293, #1d4293 8px, #232583 8px, #232583 11px);
    background-size: 100%;
}

.bluediagonalborderbg01 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.bluediagonalborderbg01 a:visited {
    color: #ffffff !important;
}

.bluediagonalborderbg01 a:active {
    color: #f8e100 !important;
}

.bluediagonalborderbg01 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.orangeborderbg01 {
    background: repeating-linear-gradient(0deg, #eaa258, #eaa258 8px, #ecab69 8px, #ecab69 11px);
    background-size: 100%;
}

.orangeborderbg01 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.orangeborderbg01 a:visited {
    color: #ffffff !important;
}

.orangeborderbg01 a:active {
    color: #f8e100 !important;
}

.orangeborderbg01 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.orangeborderbg02 {
    background: repeating-linear-gradient(0deg, #f9c270, #f9c270 8px, #fcc883 8px, #fcc883 11px);
    background-size: 100%;
}

.orangeborderbg02 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.orangeborderbg02 a:visited {
    color: #ffffff !important;
}

.orangeborderbg02 a:active {
    color: #f8e100 !important;
}

.orangeborderbg02 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.orangebg01 {
    background: #e27f00;
}

.orangebg02 {
    background: #f08300;
}

.pinkborderbg01 {
    /* background: repeating-linear-gradient(0deg, #f6e1e9, #f6e1e9 8px, #fbf0f4 8px, #fbf0f4 11px); */
    background-size: 100%;
		background-color: #FFF9ED;
}

.pinkborderbg01 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pinkborderbg01 a:visited {
    color: #ffffff !important;
}

.pinkborderbg01 a:active {
    color: #f8e100 !important;
}

.pinkborderbg01 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.pinkborderbg02 {
    background: repeating-linear-gradient(0deg, #dd6c7f, #dd6c7f 8px, #e07b8c 8px, #e07b8c 11px);
    background-size: 100%;
		/* background-color: #FFF9ED; */
}

.pinkborderbg02 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pinkborderbg02 a:visited {
    color: #ffffff !important;
}

.pinkborderbg02 a:active {
    color: #f8e100 !important;
}

.pinkborderbg02 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.pinkborderbg03 {
    background: repeating-linear-gradient(0deg, #ee869a, #ee869a 8px, #f78fa9 8px, #f78fa9 11px);
    background-size: 100%;
		/* background-color: #FFF9ED; */
}

.pinkborderbg03 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pinkborderbg03 a:visited {
    color: #ffffff !important;
}

.pinkborderbg03 a:active {
    color: #f8e100 !important;
}

.pinkborderbg03 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.pinkbg03 {
    background: #e5006e;
}

.pinkborderbg04 {
    background: repeating-linear-gradient(0deg, #f3b1bf, #f3b1bf 8px, #fccfd8 8px, #fccfd8 11px);
    background-size: 100%;
}

.pinkborderbg04 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pinkborderbg04 a:visited {
    color: #ffffff !important;
}

.pinkborderbg04 a:active {
    color: #f8e100 !important;
}

.pinkborderbg04 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.purpleborderbg01 {
    background: repeating-linear-gradient(0deg, #757cbb, #757cbb 8px, #8389c2 8px, #8389c2 11px);
    background-size: 100%;
}

.purpleborderbg01 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.purpleborderbg01 a:visited {
    color: #ffffff !important;
}

.purpleborderbg01 a:active {
    color: #f8e100 !important;
}

.purpleborderbg01 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.purplebg01 {
    background: #6356a3;
}

.greenborderbg01 {
    background: repeating-linear-gradient(0deg, #4dc1c1, #4dc1c1 8px, #5fc7c7 8px, #5fc7c7 11px);
    background-size: 100%;
}

.greenborderbg01 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.greenborderbg01 a:visited {
    color: #ffffff !important;
}

.greenborderbg01 a:active {
    color: #f8e100 !important;
}

.greenborderbg01 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.greenborderbg02 {
    background: repeating-linear-gradient(0deg, #86bc60, #86bc60 8px, #8fc16c 8px, #8fc16c 11px);
    background-size: 100%;
}

.greenborderbg02 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.greenborderbg02 a:visited {
    color: #ffffff !important;
}

.greenborderbg02 a:active {
    color: #f8e100 !important;
}

.greenborderbg02 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.greenborderbg03 {
    background: repeating-linear-gradient(0deg, #26b7bc, #26b7bc 8px, #3cbec3 8px, #3cbec3 11px);
    background-size: 100%;
}

.greenborderbg03 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.greenborderbg03 a:visited {
    color: #ffffff !important;
}

.greenborderbg03 a:active {
    color: #f8e100 !important;
}

.greenborderbg03 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.greenborderbg04 {
    background: repeating-linear-gradient(0deg, #7dc058, #7dc058 8px, #8ac669 8px, #8ac669 11px);
    background-size: 100%;
}

.greenborderbg04 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.greenborderbg04 a:visited {
    color: #ffffff !important;
}

.greenborderbg04 a:active {
    color: #f8e100 !important;
}

.greenborderbg04 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.greenborderbg05 {
    background: repeating-linear-gradient(0deg, #a5d4ad, #a5d4ad 8px, #afdbb5 8px, #afdbb5 11px);
    background-size: 100%;
}

.greenborderbg05 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.greenborderbg05 a:visited {
    color: #ffffff !important;
}

.greenborderbg05 a:active {
    color: #f8e100 !important;
}

.greenborderbg05 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.greenbg01 {
    background: #008f8e;
}

.greenbg02 {
    background: #00a73c;
}

.greenbg03 {
    background: #69bd83;
}

.yellowborderbg02 {
    background: repeating-linear-gradient(0deg, #e7e865, #e7e865 8px, #f7f36f 8px, #f7f36f 11px);
    background-size: 100%;
}

.yellowborderbg02 a:link {
    color: #ffffff !important;
    text-decoration: none !important;
}

.yellowborderbg02 a:visited {
    color: #ffffff !important;
}

.yellowborderbg02 a:active {
    color: #f8e100 !important;
}

.yellowborderbg02 a:hover {
    color: #f8e100 !important;
    opacity: 1 !important;
}

.yellowbg02 {
    background: #c2bb00;
}

.whitemaskbg01 {
    background: repeating-linear-gradient(180deg, #ffffff, #ffffff 75%, transparent 75%, transparent 100%);
}

.whitemaskbg02 {
    background: repeating-linear-gradient(180deg, #ffffff, #ffffff 88.5%, transparent 88.5%, transparent 100%);
}

.whitemaskbg03 {
    background: repeating-linear-gradient(180deg, #ffffff, #ffffff 92.5%, transparent 92.5%, transparent 100%);
}

@media screen and (max-width: 767px) {
    .yallowborderbg01 {
        background: repeating-linear-gradient(0deg, #fff69b, #fff69b 8px, #fffbcd 8px, #fffbcd 11px);
        background-size: 30%;
    }

    .blueborderbg01 {
        background: repeating-linear-gradient(0deg, #1d4293, #1d4293 8px, #232583 8px, #232583 11px);
        background-size: 30%;
    }

    .blueborderbg01 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .blueborderbg01 a:visited {
        color: #ffffff !important;
    }

    .blueborderbg01 a:active {
        color: #f8e100 !important;
    }

    .blueborderbg01 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .blueborderbg02 {
        background: repeating-linear-gradient(0deg, #668cc6, #668cc6 8px, #7394ca 8px, #7394ca 11px);
        background-size: 30%;
    }

    .blueborderbg02 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .blueborderbg02 a:visited {
        color: #ffffff !important;
    }

    .blueborderbg02 a:active {
        color: #f8e100 !important;
    }

    .blueborderbg02 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .blueborderbg03 {
        background: repeating-linear-gradient(0deg, #1372bc, #1372bc 8px, #2b80c3 8px, #2b80c3 11px);
        background-size: 100%;
    }

    .blueborderbg03 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .blueborderbg03 a:visited {
        color: #ffffff !important;
    }

    .blueborderbg03 a:active {
        color: #f8e100 !important;
    }

    .blueborderbg03 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .blueborderbg04 {
        background: repeating-linear-gradient(0deg, #54c3f1, #54c3f1 8px, #59cdfd 8px, #59cdfd 11px);
        background-size: 100%;
    }

    .blueborderbg04 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .blueborderbg04 a:visited {
        color: #ffffff !important;
    }

    .blueborderbg04 a:active {
        color: #f8e100 !important;
    }

    .blueborderbg04 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .bluebg01 {
        background: #004097;
    }

    .greenborderbg04 {
        background: repeating-linear-gradient(0deg, #7dc058, #7dc058 8px, #8ac669 8px, #8ac669 11px);
        background-size: 100%;
    }

    .greenborderbg04 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .greenborderbg04 a:visited {
        color: #ffffff !important;
    }

    .greenborderbg04 a:active {
        color: #f8e100 !important;
    }

    .greenborderbg04 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .bluediagonalborderbg01 {
        background: repeating-linear-gradient(0deg, #1d4293, #1d4293 8px, #232583 8px, #232583 11px);
        background-size: 30%;
    }

    .bluediagonalborderbg01 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .bluediagonalborderbg01 a:visited {
        color: #ffffff !important;
    }

    .bluediagonalborderbg01 a:active {
        color: #f8e100 !important;
    }

    .bluediagonalborderbg01 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .orangeborderbg01 {
        background: repeating-linear-gradient(0deg, #eaa258, #eaa258 8px, #ecab69 8px, #ecab69 11px);
        background-size: 30%;
    }

    .orangeborderbg01 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .orangeborderbg01 a:visited {
        color: #ffffff !important;
    }

    .orangeborderbg01 a:active {
        color: #f8e100 !important;
    }

    .orangeborderbg01 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .orangeborderbg02 {
        background: repeating-linear-gradient(0deg, #f9c270, #f9c270 8px, #fcc883 8px, #fcc883 11px);
        background-size: 30%;
    }

    .orangeborderbg02 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .orangeborderbg02 a:visited {
        color: #ffffff !important;
    }

    .orangeborderbg02 a:active {
        color: #f8e100 !important;
    }

    .orangeborderbg02 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .orangebg01 {
        background: #e27f00;
    }

    .orangebg02 {
        background: #f08300;
    }

    .pinkborderbg01 {
        /* background: repeating-linear-gradient(0deg, #f6e1e9, #f6e1e9 8px, #fbf0f4 8px, #fbf0f4 11px); */
        background-size: 30%;
				background-color: #FFF9ED;
    }

    .pinkborderbg01 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .pinkborderbg01 a:visited {
        color: #ffffff !important;
    }

    .pinkborderbg01 a:active {
        color: #f8e100 !important;
    }

    .pinkborderbg01 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .pinkborderbg02 {
        background: repeating-linear-gradient(0deg, #dd6c7f, #dd6c7f 8px, #e07b8c 8px, #e07b8c 11px);
        background-size: 100%;
    }

    .pinkborderbg02 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .pinkborderbg02 a:visited {
        color: #ffffff !important;
    }

    .pinkborderbg02 a:active {
        color: #f8e100 !important;
    }

    .pinkborderbg02 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .pinkborderbg03 {
        background: repeating-linear-gradient(0deg, #ee869a, #ee869a 8px, #f78fa9 8px, #f78fa9 11px);
        background-size: 100%;
    }

    .pinkborderbg03 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .pinkborderbg03 a:visited {
        color: #ffffff !important;
    }

    .pinkborderbg03 a:active {
        color: #f8e100 !important;
    }

    .pinkborderbg03 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .pinkbg03 {
        background: #e5006e;
    }

    .purpleborderbg01 {
        background: repeating-linear-gradient(0deg, #757cbb, #757cbb 8px, #8389c2 8px, #8389c2 11px);
        background-size: 100%;
    }

    .purpleborderbg01 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .purpleborderbg01 a:visited {
        color: #ffffff !important;
    }

    .purpleborderbg01 a:active {
        color: #f8e100 !important;
    }

    .purpleborderbg01 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .purplebg01 {
        background: #6356a3;
    }

    .greenborderbg01 {
        background: repeating-linear-gradient(0deg, #4dc1c1, #4dc1c1 8px, #5fc7c7 8px, #5fc7c7 11px);
        background-size: 30%;
    }

    .greenborderbg01 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .greenborderbg01 a:visited {
        color: #ffffff !important;
    }

    .greenborderbg01 a:active {
        color: #f8e100 !important;
    }

    .greenborderbg01 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .greenborderbg02 {
        background: repeating-linear-gradient(0deg, #86bc60, #86bc60 8px, #8fc16c 8px, #8fc16c 11px);
        background-size: 30%;
    }

    .greenborderbg02 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .greenborderbg02 a:visited {
        color: #ffffff !important;
    }

    .greenborderbg02 a:active {
        color: #f8e100 !important;
    }

    .greenborderbg02 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .greenborderbg03 {
        background: repeating-linear-gradient(0deg, #26b7bc, #26b7bc 8px, #3cbec3 8px, #3cbec3 11px);
        background-size: 100%;
    }

    .greenborderbg03 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .greenborderbg03 a:visited {
        color: #ffffff !important;
    }

    .greenborderbg03 a:active {
        color: #f8e100 !important;
    }

    .greenborderbg03 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .greenborderbg05 {
        background: repeating-linear-gradient(0deg, #a5d4ad, #a5d4ad 8px, #afdbb5 8px, #afdbb5 11px);
        background-size: 100%;
    }

    .greenborderbg05 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .greenborderbg05 a:visited {
        color: #ffffff !important;
    }

    .greenborderbg05 a:active {
        color: #f8e100 !important;
    }

    .greenborderbg05 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .greenbg01 {
        background: #008f8e;
    }

    .greenbg02 {
        background: #00a73c;
    }

    .yellowborderbg02 {
        background: repeating-linear-gradient(0deg, #e7e865, #e7e865 8px, #f7f36f 8px, #f7f36f 11px);
        background-size: 100%;
    }

    .yellowborderbg02 a:link {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .yellowborderbg02 a:visited {
        color: #ffffff !important;
    }

    .yellowborderbg02 a:active {
        color: #f8e100 !important;
    }

    .yellowborderbg02 a:hover {
        color: #f8e100 !important;
        opacity: 1 !important;
    }

    .yellowbg02 {
        background: #c2bb00;
    }

    .whitemaskbg01 {
        background: repeating-linear-gradient(180deg, #ffffff, #ffffff 85%, transparent 85%, transparent 100%);
    }

    .whitemaskbg02 {
        background: repeating-linear-gradient(180deg, #ffffff, #ffffff 140vw, transparent 140vw, transparent 100%);
    }

    .whitemaskbg03 {
        background: repeating-linear-gradient(180deg, #ffffff, #ffffff 88vw, transparent 88vw, transparent 100%);
    }
}

/*---------------------------------
  メインビジュアル
---------------------------------*/
#mainvisualwrap01 {
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 0 25px;
}

#topmainvisualwrap01 {
	width: 100%;
}

#topmainvisualwrap01 > .inner {
	max-width: 1440px;
	width: 100%;
	padding: 25px 0 50px;
	margin: auto;
	background-image: url(../img/mainvisual2025_bg_pc.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

#topmainvisualwrap01 a:hover img {
    opacity: 1 !important;
}

.topmaivisualbg {
    background: #e7728b !important;
}

.topmaivisualbg-2024 {
    background: #af435a;
}

#mainvisualwrap02 {
    width: 60%;
    max-width: 660px;
    margin: 0 auto;
    padding: 25px 0 0;
    /*padding: 0 0 25px;*/
}

#mainvisualwrap03 {
    width: 40%;
    max-width: 360px;
    margin: 0 auto;
    padding: 0 0 25px;
}

#mainvisualwrap04 {
    width: 80%;
    margin: 0 auto;
    padding: 25px 0 25px;
    text-align: center;
    color: #ffffff;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.5em;
}

#mainvisualwrap04 p {
    padding: 0.5em 1em;
    border: 2px solid #ffffff;
    display: inline-block;
}

#mainvisualbannerwrap01 {
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 15px;
}

.mainvisualbannerinner01 {
    width: calc(calc(100% - 15px - 15px) / 3);
    position: relative;
}

.mainvisualbannerinner01:nth-child(1) {
    width: calc(calc(100% - 15px) / 2);
}

.mainvisualbannerinner01:nth-child(2) {
    width: calc(calc(100% - 15px) / 2);
}

#k-mainvisualwrap01 {
    width: 100%;
    background: #fff9ed;
    padding: 25px 0 0;
    margin: 0 0 50px;
}

#k-mainvisualwrap01.-idcourseindex {
	background-color: #d3ecfb;
	margin-bottom: 0;
	padding: 0;
}

#k-mainvisualwrap01.-idcourseindex >.inner {
		width: 100%;
		max-width: 1440px;
		margin: auto;
		background-image: url(../app/campaign/img/mainvisual_bg_pc.webp);
		background-size: cover;
}

#k-mainvisualwrap01.-idrule,
#k-mainvisualwrap01.-idfaq,
#k-mainvisualwrap01.-idsitemap,
#k-mainvisualwrap01.-idprivacy,
#k-mainvisualwrap01.-idlink,
#k-mainvisualwrap01.-idcontact,
#k-mainvisualwrap01.-idapphowto,
#k-mainvisualwrap01.-idappindex,
#k-mainvisualwrap01.-idcampaign {
	background-color: #d3ecfb;
	padding: 0;
}

#k-mainvisualwrap01.-idrule .inner,
#k-mainvisualwrap01.-idfaq .inner,
#k-mainvisualwrap01.-idsitemap .inner,
#k-mainvisualwrap01.-idprivacy .inner,
#k-mainvisualwrap01.-idlink .inner,
#k-mainvisualwrap01.-idcontact .inner,
#k-mainvisualwrap01.-idapphowto .inner,
#k-mainvisualwrap01.-idappindex .inner,
#k-mainvisualwrap01.-idcampaign .inner {
		width: 100%;
		max-width: 1440px;
		margin: auto;
		background-image: url(../app/campaign/img/mainvisual_bg_pc.webp);
		background-size: cover;
}

#k-mainvisualwrap02 {
    width: auto;
    max-width: 1100px;
    margin: 0 auto;
    display: table;
}

.k-mainvisualinner01 {
    display: table-cell;
    vertical-align: bottom;
}

.k-mainvisualinner01:nth-child(1) {
    width: 105px;
}

.k-mainvisualinner01:nth-child(2) {
    padding: 0 50px 30px;
}

.k-mainvisualinner01:nth-child(3) {
    width: 140px;
}

/* 各ページタイトル */
.walking-event-mv {
    /*width: 622px;*/
    width: 786px;
}

.entry-mv {
    width: 425px;
}

.confirmation-mv {
    width: 386px;
}

.complete-mv {
    width: 381px;
}

.privacy-policy-mv {
    width: 743px;
}

.rules-mv {
    width: 314px;
}

.news-mv {
    width: 362px;
}

.links-mv {
    width: 282px;
}

.sitemap-mv {
    width: 436px;
}

.contact-mv {
    width: 464px;
}

.contact-confirmation-mv {
    width: 320px;
}

.contact-complete-mv {
    width: 312px;
}

.faq-mv {
    width: 444px;
}

.course2022-mv {
    width: 671px;
}

.course2022-mv.-coursetop{
    width: 400px;
}

.how-to-use-mv {
    width: 786px;
}

.walking-event-mv.-campaign {
	width: 500px;
}

/* コースページのメインビジュアル */
#k-coursemainvisualwrap01 {
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    display: table;
    padding: 0 0 50px;
}

#k-coursemainvisualwrap02 {
    width: auto;
    max-width: 1100px;
    margin: 0 auto;
    display: table;
}

.k-coursemainvisualinner01 {
    display: table-cell;
    vertical-align: bottom;
    font-weight: 500;
    line-height: 140%;
    text-align: center;
}

.k-coursemainvisualinner01:nth-child(1) {
    width: 140px;
}

.k-coursemainvisualinner01:nth-child(2) {
    padding: 0 50px 30px;
}

.k-coursemainvisualinner01:nth-child(3) {
    width: 140px;
}

/* アプリウォークページのメインビジュアル */
#appmainvisualwrap01 {
    width: 544px;
    margin: 0 auto;
    display: table;
    padding: 0 0 20px;
}

#appmainvisualwrap02 {
    width: auto;
    max-width: 1100px;
    margin: 0 auto;
    display: table;
}

.appmainvisualinner01 {
    display: table-cell;
    vertical-align: bottom;
    font-weight: 500;
    line-height: 140%;
    text-align: center;
}

.appmainvisualinner01:nth-child(1) {
    width: 140px;
}

.appmainvisualinner01:nth-child(2) {
    padding: 0 50px 30px;
}

.appmainvisualinner01:nth-child(3) {
    width: 140px;
}

.go-appprivacy {
	margin-bottom: 2em;
}

.go-appprivacy a:link,
.go-appprivacy a:hover,
.go-appprivacy a:visited,
.go-appprivacy a {
	color: #e7364a !important;
}

@media screen and (max-width: 767px) {
    #mainvisualwrap01 {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 0 15px;
    }

    #topmainvisualwrap01 {
        width: 100%;
        background: #fff9ed;
        padding: 0;
    }

    #topmainvisualwrap01 a:hover img {
        opacity: 1 !important;
    }

		#topmainvisualwrap01 > .inner {
			background-image: url(../img/mainvisual2025_bg_sp.webp);
		}

    .topmaivisualbg {
        background: #e7728b !important;
    }

    #mainvisualwrap02 {
        width: 84%;
        /*width: 75vw;*/
        /* 750px基準でwidth: 570px;*/
        margin: 0 auto;
        padding: 15px 0 0;
    }

    #mainvisualwrap03 {
        width: 50%;
        margin: 0 auto;
        padding: 0 0 15px;
    }

    #mainvisualwrap04 {
        width: 90%;
        margin: 0 auto;
        padding: 15px 0 15px;
        text-align: center;
        color: #ffffff;
        font-size: 1.375em;
        font-weight: bold;
        line-height: 1.5em;
    }

    #mainvisualwrap04 p {
        padding: 0.5em 1em;
        border: 2px solid #ffffff;
        display: inline-block;
    }

    #mainvisualbannerwrap01 {
        width: 89.33333333333333vw;
        /* 750px基準でwidth: 670px;*/
        max-width: 89.33333333333333vw;
        /* 750px基準でwidth: 670px;*/
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        gap: 2.933333333333333vw 0;
        /* 750px基準でgap: 22px 0; */
    }

    .mainvisualbannerinner01 {
        width: 100%;
        position: relative;
    }

    .mainvisualbannerinner01:nth-child(1) {
        width: 100%;
    }

    .mainvisualbannerinner01:nth-child(2) {
        width: 100%;
    }

    #k-mainvisualwrap01 {
        width: 100%;
        background: #fff9ed;
        /*padding: 25px 0 0;*/
        padding: 0;
        margin: 0 0 30px;
    }

    #k-mainvisualwrap02 {
        width: auto;
        max-width: 100%;
        margin: 0 auto;
        display: table;
    }

    .k-mainvisualinner01 {
        display: table-cell;
        vertical-align: bottom;
    }

    .k-mainvisualinner01:nth-child(1) {
        display: none;
        width: 105px;
    }

    .k-mainvisualinner01:nth-child(2) {
        padding: 5.066666666666666vw 0 0;
        /* 750px基準でpadding: 30px 0 0; */
        margin: 0 auto;
    }

    .k-mainvisualinner01:nth-child(3) {
        display: none;
        width: 140px;
    }

    /* 各ページタイトル */
    .walking-event-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .entry-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .confirmation-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .complete-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .privacy-policy-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .rules-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .news-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .links-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .sitemap-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .contact-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .contact-confirmation-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .contact-complete-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .faq-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .course2022-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    .how-to-use-mv {
        width: 90.66666666666666vw;
        /* 750px基準でwidth: 680px; */
    }

    /* コースページのメインビジュアル */
    #k-coursemainvisualwrap01 {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        display: table;
        padding: 5vw 0 5.066666666666666vw;
        /* 750px基準でpadding: 0 0 30px; */
    }

    #k-coursemainvisualwrap02 {
        width: auto;
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
    }

    .k-coursemainvisualinner01 {
        display: block;
        vertical-align: bottom;
        font-weight: 500;
        line-height: 140%;
        text-align: center;
    }

    .k-coursemainvisualinner01 img {
        width: 30% !important;
        margin: 0 auto;
    }

    .k-coursemainvisualinner01:nth-child(1) {
        width: 50%;
        order: 2;
    }

    .k-coursemainvisualinner01:nth-child(2) {
        width: 100%;
        padding: 0 6.666666666666667vw 5.066666666666666vw;
        /* 750px基準でpadding: 0 50px 30px; */
        order: 1;
        text-align: left;
    }

    .k-coursemainvisualinner01:nth-child(3) {
        width: 50%;
        order: 3;
    }

    /* アプリウォークページのメインビジュアル */
    #appmainvisualwrap01 {
        width: 92%;
        margin: 0 auto;
        display: table;
        padding: 0 0 5.066666666666666vw;
        /* 750px基準でpadding: 0 0 30px; */
    }

    #appmainvisualwrap02 {
        width: auto;
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
    }

    .appmainvisualinner01 {
        display: block;
        vertical-align: bottom;
        font-weight: 500;
        line-height: 140%;
        text-align: center;
    }

    .appmainvisualinner01 img {
        width: 30% !important;
        margin: 0 auto;
    }

    .appmainvisualinner01:nth-child(1) {
        width: 50%;
        order: 2;
    }

    .appmainvisualinner01:nth-child(2) {
        width: 100%;
        padding: 0 6.666666666666667vw 5.066666666666666vw;
        /* 750px基準でpadding: 0 50px 30px; */
        order: 1;
        text-align: left;
    }

    .appmainvisualinner01:nth-child(3) {
        width: 50%;
        order: 3;
    }
}

/*---------------------------------
  トップページ
---------------------------------*/
.topinfowrap01 {
    padding: 0;
    margin: 0 0 0px;
    background: #fff9ed;
}

.topaboutwrap01 {
    width: 48%;
    float: left;
    text-align: center;
    line-height: 160%;
    background: url("../img/aboutbg.png") no-repeat;
    background-position: 0 70%;
    background-size: contain;
}

.topaboutwrap02 {
    width: 80%;
    margin: 0 auto;
    font-size: 1.125em;
    text-align: center;
    line-height: 160%;
    background: url("../img/aboutbg.png") no-repeat;
    background-position: bottom center;
    background-size: contain;
}

.topabouttitlewrap01 {
    padding: 0 0 30px;
}

.topabouttitlewrap02 {
    width: 80%;
    margin: 0 auto;
    padding: 0 0 30px;
}

.topyoutubewrap01 {
    width: 48%;
    float: right;
}

.topyoutubeinner01 {
    border: 1px solid #000000;
    border-radius: 3px;
}

.topyoutubeinner01 iframe {
    width: 100%;
    height: 310px;
}

/* ニュース一覧 */
#topnewswrap01 {
    display: block;
}

#topsnswrap01 {
    width: 36%;
    float: right;
}

#topnewswrap01:after {
    content: "";
    clear: both;
    display: block;
}

#topnewslistwrap01 {
    width: 60%;
    float: left;
    display: block;
    background: #ffffff;
    border: 1px solid #000000;
    border-radius: 3px;
    padding: 20px 40px;
}

#topnewslistwrap01:after {
    content: "";
    clear: both;
    display: block;
}

#topnewstitlewrap01 {
    text-align: center;
    padding: 0 0 20px;
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: -0.05em;
}

.topnewstitlesmallfont01 {
    font-size: 1.8rem;
}

#topnewslistwrap01 ul {
    display: block;
    min-height: 276px;
    max-height: 276px;
    overflow-y: scroll;
}

#topnewslistwrap01 ul li {
    display: table;
    width: 100%;
    margin: 0 0 15px;
    line-height: 160%;
}

#topnewslistwrap01 ul li p {
    display: table-cell;
    width: calc(100% - 8em);
    word-break: break-all;
}

#topnewslistwrap01 ul li p:nth-child(1) {
    width: 8em;
}

#topnewslistwrap01 ul li a:link {
    color: #000000 !important;
    text-decoration: underline;
    transition: 1s;
}

#topnewslistwrap01 ul li a:visited {
    color: #000000 !important;
    text-decoration: underline;
    transition: 1s;
}

#topnewslistwrap01 ul li a:active {
    color: #e7364a !important;
    text-decoration: underline;
    transition: 1s;
}

#topnewslistwrap01 ul li a:hover {
    color: #e7364a !important;
    text-decoration: underline;
    opacity: 1 !important;
    transition: 1s;
}

#topnewslistbtnwrap01 {
    width: 100px;
    float: right;
}



/* アプリバナー */
#appbannerwrap01 {
    position: relative;
    display: block;
}

#appbannerwrap01 a {
    width: 250px;
    position: absolute;
    bottom: 10px;
    right: 20px;
}

/* 5つのコース */
#topcoursetitle01 {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 20px;
}

#topcoursetitle02 {
    width: 425px;
    margin: 0 auto;
    padding: 0 0 15px;
}

#topcoursewrap01 {
    width: 100%;
    display: flex;
    margin: 0 0 15px;
    color: #ffffff;
}

.topcourseinner2023-01 {
    width: calc(100% - 25px / 5);
    margin: 0 5px 0 0;
    position: relative;
}

.topcourseinner2023-01 a {
    display: block;
    width: 90%;
    position: absolute;
    bottom: 2%;
    left: 50%;
    transform: translate(-50%, 0);
}

.topcourseinner01 {
    width: calc(100% - 25px / 5);
    margin: 0 5px 0 0;
    padding: 15px 0;
    border-radius: 3px;
}

.topcourseinner01:nth-child(1) {
    background: #668cc6;
}

.topcourseinner01:nth-child(2) {
    background: #eaa258;
}

.topcourseinner01:nth-child(3) {
    background: #4cc1c1;
}

.topcourseinner01:nth-child(4) {
    background: #dd6c7f;
}

.topcourseinner01:nth-child(5) {
    background: #92c860;
    margin: 0;
}

.topcoursedetailinner01 {
    text-align: center;
    padding: 0 0 15px;
}

.topcoursedetailinner01 ul {
    width: 100%;
    display: block;
}

.topcoursedetailinner01 ul li {
    width: 100%;
    display: block;
    font-weight: 600;
}

.topcoursedetailinner02 {
    display: block;
}

.topcoursedetailimgwrap01 {
    display: block;
}

.topcoursedetailtextwrap01 {
    display: block;
    padding: 15px 15px 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 140%;
}

.topcoursedetailbtnwrap01 {
    display: block;
    padding: 15px 0 0;
}

.topcoursedetailnumber01 {
    font-size: 6rem;
    font-weight: 600;
}

.topcoursedetailnumber02 {
    font-size: 2.4rem;
    font-weight: 600;
}

.topcoursedetailcourse01 {
    font-size: 1.8rem;
    font-weight: 600;
}

.topcoursedetailcourse02 {
    font-size: 1.8rem;
    font-weight: 900;
}

.topcoursedetailcoursename01 {
    font-size: 2.2rem;
    font-weight: 600;
}

.topnews-con {
  scrollbar-width: auto;
  scrollbar-color: #1FA7F0 #B9E6FF;
}

/* Chrome, Safari, Edge */
.topnews-con::-webkit-scrollbar {
  width: 20px; /* ← ここで太さ調整（デフォルト: 16px）*/
}

.topnews-con::-webkit-scrollbar-track {
  background: #B9E6FF;
  border-radius: 100px;
}

.topnews-con::-webkit-scrollbar-thumb {
  background-color: #1FA7F0;
  border-radius: 100px;
  border: 4px solid #B9E6FF; /* レールとの間に余白を作る */
}

.top-dlapp {
	background-color: rgba(232, 80, 147, .12);
	margin-top: 2em;
	padding: 2em 1em;
	border-radius: 1em;
}


ul.courseattention01 {
    display: block;
    line-height: 140%;
}

/* ウォーキングイベントバナー */
#walking-eventbannerwrap01 {
    position: relative;
    display: block;
}

#walking-eventbannerwrap01 a {
    width: 50%;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translate(-50%, 0);
}

.tophowtojoin-text-wrap01.-howto {
	margin-bottom: 2em;
}


@media screen and (max-width: 767px) {
    .topinfowrap01 {
        padding: 0;
        margin: 0 0 25px;
        background: #fff9ed;
    }

    .topaboutwrap01 {
        width: 89.33333333333333vw;
        /* 750px基準でwidth: 670px; */
        float: none;
        margin: 0 auto;
        text-align: center;
        line-height: 160%;
        background: url("../img/aboutbg.png") no-repeat;
        background-position: 0 100%;
        background-size: contain;
    }

    .topaboutwrap02 {
        width: 90%;
        margin: 0 auto 30px;
        font-size: 1.375em;
        text-align: center;
        line-height: 160%;
        background: url("../img/aboutbg.png") no-repeat;
        background-position: bottom center;
        background-size: contain;
    }

    .topabouttitlewrap01 {
        padding: 0 0 30px;
    }

    .topabouttitlewrap02 {
        width: 100%;
        margin: 0 auto;
        padding: 0 0 15px;
    }

    .topyoutubewrap01 {
        width: 89.33333333333333vw;
        /* 750px基準でwidth: 670px; */
        float: none;
        margin: 0 auto;
        padding: 30px 0 0;
    }

    .topyoutubeinner01 {
        border: 1px solid #000000;
        border-radius: 3px;
    }

    .topyoutubeinner01 iframe {
        width: 100%;
        height: 310px;
    }

    /* ニュース一覧 */
    #topnewswrap01 {
        display: block;
    }

    #topsnswrap01 {
        width: 89.33333333333333vw;
        /* 750px基準でwidth: 670px; */
        float: none;
        margin: 0 auto;
    }

    #topnewswrap01:after {
        content: "";
        clear: both;
        display: block;
    }

    #topnewslistwrap01 {
        width: 100%;
        float: none;
        display: block;
        background: #ffffff;
        border: 1px solid #000000;
        border-radius: 3px;
        padding: 2.666666666666667vw 5.333333333333334vw;
        margin: 0 0 5.333333333333334vw;
    }

    #topnewslistwrap01:after {
        content: "";
        clear: both;
        display: block;
    }

    #topnewstitlewrap01 {
        text-align: center;
        padding: 0 0 2.666666666666667vw;
        font-size: 4vw;
        font-weight: 900;
        letter-spacing: -0.05em;
    }

    .topnewstitlesmallfont01 {
        font-size: 2.666666666666667vw;
    }

    #topnewslistwrap01 ul {
        display: block;
        min-height: 0;
        max-height: 300px;
        overflow-y: scroll;
    }

    #topnewslistwrap01 ul li {
        display: table;
        width: 100%;
        margin: 0 0 2vw;
        line-height: 160%;
    }

    #topnewslistwrap01 ul li p {
        display: table-cell;
        width: calc(100% - 8em);
        word-break: break-all;
    }

    #topnewslistwrap01 ul li p:nth-child(1) {
        width: 8em;
    }

    #topnewslistwrap01 ul li a:link {
        color: #000000 !important;
        text-decoration: underline;
        transition: 1s;
    }

    #topnewslistwrap01 ul li a:visited {
        color: #000000 !important;
        text-decoration: underline;
        transition: 1s;
    }

    #topnewslistwrap01 ul li a:active {
        color: #e7364a !important;
        text-decoration: underline;
        transition: 1s;
    }

    #topnewslistwrap01 ul li a:hover {
        color: #e7364a !important;
        text-decoration: underline;
        opacity: 1 !important;
        transition: 1s;
    }

    #topnewslistbtnwrap01 {
        width: 21.333333333333336vw;
        float: right;
    }

    /* アプリバナー */
    #appbannerwrap01 {
        position: relative;
        display: block;
    }

    #appbannerwrap01 a {
        width: 90.26666666666667vw;
        /* 750px基準でwidth: 677px; */
        position: absolute;
        bottom: 2vw;
        left: 50%;
        right: auto;
        transform: translate(-50%, 0);
    }

    /* 5つのコース */
    #topcoursetitle01 {
        width: 100%;
        margin: 0 auto;
        padding: 0 0 2.933333333333333vw;
        /* 750px基準でpadding: 0 0 22px; */
    }

    #topcoursetitle02 {
        width: 86.66666666666667vw;
        /* 750px基準でwidth: 650px; */
        margin: 0 auto;
        padding: 0 0 4.933333333333334vw;
        /* 750px基準でpadding: 0 0 37px; */
    }

    #topcoursewrap01 {
        width: 100%;
        display: flex;
        /*flex-flow: column-reverse;*/
        flex-flow: column;
        margin: 0 0 2vw;
        color: #ffffff;
    }

    .topcourseinner2023-01 {
        width: 100%;
        margin: 0 0 2vw;
        position: relative;
    }

    .topcourseinner2023-01 a {
        display: block;
        width: 30%;
        position: absolute;
        bottom: 4%;
        left: 4%;
        transform: translate(0, 0);
    }

    .topcourseinner01 {
        width: 100%;
        margin: 0 0 2vw;
        padding: 3.3333333333333335vw;
        border-radius: 3px;
    }

    .topcourseinner01:nth-child(1) {
        background: #668cc6;
    }

    .topcourseinner01:nth-child(2) {
        background: #eaa258;
    }

    .topcourseinner01:nth-child(3) {
        background: #4cc1c1;
    }

    .topcourseinner01:nth-child(4) {
        background: #dd6c7f;
    }

    .topcourseinner01:nth-child(5) {
        background: #92c860;
        margin: 0;
    }

    .topcoursedetailinner01 {
        text-align: left;
        padding: 0 0 2vw;
    }

    .topcoursedetailinner01 ul {
        width: 100%;
        display: table;
    }

    .topcoursedetailinner01 ul li {
        width: calc(100% - 10vw);
        display: table-cell;
        vertical-align: top;
        font-weight: 600;
    }

    .topcoursedetailinner01 ul li:nth-child(1) {
        width: 10vw;
        text-align: center;
    }

    .topcoursedetailinner02 {
        display: flex;
    }

    .topcoursedetailimgwrap01 {
        display: block;
        order: 2;
        width: calc(100% - 62vw);
    }

    .topcoursedetailtextwrap01 {
        display: block;
        padding: 0 2vw 0 0;
        font-size: 2.666666666666667vw;
        font-weight: 500;
        line-height: 140%;
        order: 1;
        width: 60vw;
    }

    .topcoursedetailbtnwrap01 {
        display: block;
        width: 25.333333333333336vw;
        padding: 2vw 0 0;
    }

    .topcoursedetailnumber01 {
        font-size: 6.933333333333333vw;
        font-weight: 600;
        display: block;
        line-height: 100%;
        margin: 0 0 0 -3.2vw;
    }

    .topcoursedetailnumber02 {
        font-size: 3.2vw;
        font-weight: 600;
    }

    .topcoursedetailcourse01 {
        font-size: 2.2666666666666666vw;
        font-weight: 600;
        margin: 0 0 0 -3.2vw;
    }

    .topcoursedetailcourse02 {
        font-size: 2.666666666666667vw;
        font-weight: 900;
    }

    .topcoursedetailcoursename01 {
        font-size: 5.333333333333334vw;
        font-weight: 600;
    }

    ul.courseattention01 {
        display: block;
        line-height: 140%;
        width: 98%;
        margin: 0 auto;
    }

    /* ウォーキングイベントバナー */
    #walking-eventbannerwrap01 {
        position: relative;
        display: block;
    }

    #walking-eventbannerwrap01 a {
        width: 90%;
        position: absolute;
        bottom: 6vw;
        left: 50%;
        transform: translate(-50%, 0);
    }
}

/*---------------------------------
  ページトップ
---------------------------------*/
#pagetopwrap01 {
    width: 96%;
    max-width: 1100px;
    margin: 20px auto 0;
		position: relative;
		z-index: 100;
	}

	#pagetopwrap01:after {
		content: "";
    clear: both;
    display: block;
	}

	#pagetopwrap02 {
		width: 56px;
    float: right;
		transform: translateY(28px);
}

@media screen and (max-width: 767px) {
    #pagetopwrap01 {
        width: 98%;
        max-width: 98%;
        margin: 0 auto;
    }

    #pagetopwrap01:after {
        content: "";
        clear: both;
        display: block;
    }

    #pagetopwrap02 {
        width: 10vw;
        float: right;
    }
}

/*---------------------------------
  フッター
---------------------------------*/
footer {
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    font-size: 1.6rem;
    font-weight: 500;
    padding: 45px 0;
    background: #ffffff;
    color: #000000;
}

#footernavwrap01 {
    width: 82%;
    display: table;
    margin: 0 auto;
}

.footernavinner01 {
    width: calc(100% - 230px);
    display: table-cell;
    vertical-align: top;
}

.footernavinner01:nth-child(1) {
    width: 230px;
    padding: 0 45px 0 0;
}

.footernavinner01 table {
    width: 100%;
}

.footernavinner01 table td {
    padding: 0 0 20px;
}

.footernavinner01 table td:nth-child(3) {
    width: 30%;
}

.footernavinner01 table td:nth-child(4) {
    width: 27%;
}

.footernavinner01 table td:lang() {
    padding: 0;
}

footer a:link {
    color: #000000 !important;
    text-decoration: none !important;
    transition: 1s !important;
}

footer a:visited {
    color: #000000 !important;
    text-decoration: none !important;
    transition: 1s;
}

footer a:active {
    color: #e7364a !important;
    text-decoration: underline !important;
    transition: 1s;
}

footer a:hover {
    color: #e7364a !important;
    text-decoration: underline !important;
    opacity: 1 !important;
    transition: 1s !important;
}

/* pinkborderbg01クラスの影響を受けないようにフッターのリンクを明示的に指定 */
.pinkborderbg01 footer a:link,
.pinkborderbg01 footer a:visited {
    color: #000000 !important;
    text-decoration: none !important;
}

.pinkborderbg01 footer a:active,
.pinkborderbg01 footer a:hover {
    color: #e7364a !important;
    text-decoration: underline !important;
}

footer a.nolink:link {
    color: #cccccc !important;
}

#footerinfowrap01 {
    display: table;
    margin: 0 auto;
    padding: 10px 0 30px;
}

.footerinfoinner01 {
    display: table-cell;
    vertical-align: middle;
}

.footerinfoinner01:nth-child(1) {
    padding: 0 30px 0 0;
    font-size: 1.4rem;
}

.footerinfoinner01:nth-child(1) p {
    display: table-cell;
}

.footerinfoinner01:nth-child(1) p:nth-child(1) {
    padding: 0 1em 0 0;
    vertical-align: middle;
    letter-spacing: 1em;
}

.footerinfoinner01:nth-child(1) p:nth-child(2) {
    width: 92px;
}

.footerinfoinner01:nth-child(2) {
    padding: 0 2em 0 0;
    font-size: 1.4rem;
}

#copyright {
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
}

@media screen and (max-width: 767px) {
    footer {
        width: 98%;
        max-width: 98%;
        margin: 0 auto;
        /*font-size: 2.666666666666667vw;*/
        font-size: 3.2vw;
        font-weight: 500;
        padding: 5.333333333333334vw 0;
        background: #ffffff;
        text-align: center;
        line-height: 160%;
        color: #000000;
    }

    #footernavwrap01 {
        width: 100%;
        display: table;
    }

    .footernavinner01 {
        /*width: calc(100% - 0);*/
        width: 100%;
        display: block;
        vertical-align: top;
        margin: 0 auto;
    }

    .footernavinner01:nth-child(1) {
        width: 47.199999999999996vw;
        padding: 0 0 4vw;
    }

    .footernavinner01 table {
        width: 100%;
        font-size: 3.6vw;
        line-height: 2.5rem;
    }

    .footernavinner01 table td {
        display: block;
        padding: 0;
    }

    .footernavinner01 table td:nth-child(3) {
        width: 100%;
    }

    .footernavinner01 table td:nth-child(4) {
        width: 100%;
    }

    footer a:link {
        color: #000000 !important;
        text-decoration: none !important;
        transition: 1s;
    }

    footer a:visited {
        color: #000000 !important;
        text-decoration: none !important;
        transition: 1s;
    }

    footer a:active {
        color: #e7364a !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    footer a:hover {
        color: #e7364a !important;
        text-decoration: underline !important;
        opacity: 0.6;
        transition: 1s;
    }

    /* pinkborderbg01クラスの影響を受けないようにフッターのリンクを明示的に指定（スマートフォン版） */
    .pinkborderbg01 footer a:link,
    .pinkborderbg01 footer a:visited {
        color: #000000 !important;
        text-decoration: none !important;
    }

    .pinkborderbg01 footer a:active,
    .pinkborderbg01 footer a:hover {
        color: #e7364a !important;
        text-decoration: underline !important;
    }

    #footerinfowrap01 {
        display: flex;
        flex-flow: column;
        margin: 0 auto;
        padding: 4vw 0;
    }

    .footerinfoinner01 {
        display: table;
        margin: 0 auto;
        vertical-align: middle;
    }

    .footerinfoinner01:nth-child(1) {
        padding: 2.666666666666667vw 0 0;
        /*font-size: 2.666666666666667vw;*/
        font-size: 3.2vw;
        order: 3;
    }

    .footerinfoinner01:nth-child(1) p {
        display: table-cell;
    }

    .footerinfoinner01:nth-child(1) p:nth-child(1) {
        padding: 0 1em 0 0;
        vertical-align: middle;
        letter-spacing: 1em;
    }

    .footerinfoinner01:nth-child(1) p:nth-child(2) {
        width: 21.066666666666666vw;
    }

    .footerinfoinner01:nth-child(2) {
        padding: 0 0 0.5em;
        /*font-size: 2.666666666666667vw;*/
        font-size: 3.6vw;
        order: 1;
    }

    .footerinfoinner01:nth-child(3) {
        order: 2;
        padding: 0 0 2.666666666666667vw;
    }

    #copyright {
        font-size: 2.1333333333333333vw;
        font-weight: 400;
        text-align: center;
    }
}

/*---------------------------------
  タイトル（共通）
---------------------------------*/
.btnwrap01 {
    width: 481px;
    margin: 0 auto;
    padding: 30px 0 0;
}

.btnwrap02 {
    width: 481px;
    margin: 0 auto;
    padding: 0;
}

.btnwrap03 {
    width: 67%;
    margin: 0 auto;
    padding: 0;
}

@media screen and (max-width: 767px) {
    .btnwrap01 {
        width: 100%;
        margin: 0 auto;
        padding: 4vw 0 0;
    }

    .btnwrap02 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    .btnwrap03 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }
}

/*---------------------------------
  タイトル（共通）
---------------------------------*/
.titlewrap01 {
    padding: 0 0 20px;
    font-size: 3rem;
    font-weight: 600;
}

.titlewrap02 {
    padding: 0 0 20px;
    font-size: 4rem;
    font-weight: 600;
}

.titlewrap03 {
    padding: 0 0 20px;
    font-size: 2.4rem;
    font-weight: 600;
}

.titlewrap04 {
    padding: 20px 0;
    font-size: 4rem;
    font-weight: 600;
}

.titlewrap05 {
    padding: 0 0 60px;
    font-size: 4rem;
    font-weight: 600;
}

@media screen and (max-width: 767px) {
    .titlewrap01 {
        padding: 0 0 2.666666666666667vw;
        font-size: 4vw;
        font-weight: 600;
    }

    .titlewrap02 {
        padding: 0 0 2.666666666666667vw;
        font-size: 4.8vw;
        font-weight: 600;
    }

    .titlewrap03 {
        padding: 0 0 2.666666666666667vw;
        font-size: 4vw;
        font-weight: 600;
    }

    .titlewrap04 {
        padding: 2.666666666666667vw 0;
        font-size: 4.8vw;
        font-weight: 600;
    }

    .titlewrap05 {
        padding: 0 0 2.666666666666667vw;
        font-size: 4.8vw;
        font-weight: 600;
    }
}

/*---------------------------------
  プライバシーポリシーページ
---------------------------------*/
ul.privacy-policy01 {
    display: block;
}

ul.privacy-policy01 li {
    width: 100%;
    margin: 0 0 30px;
    line-height: 160%;
}

ul.privacy-policy01 li:last-child {
    margin: 0;
    padding: 20px 0 0;
}

@media screen and (max-width: 767px) {
    ul.privacy-policy01 {
        display: block;
    }

    ul.privacy-policy01 li {
        width: 100%;
        margin: 0 0 4vw;
        line-height: 160%;
    }

    ul.privacy-policy01 li:last-child {
        margin: 0;
        padding: 2.666666666666667px 0 0;
    }
}

/*---------------------------------
  利用規約ページ
---------------------------------*/
ul.rurles01 {
    display: block;
    margin: 0 0 30px;
}

ul.rurles01:last-child {
    margin: 0;
}

ul.rurles01 li {
    width: 100%;
    line-height: 160%;
}

@media screen and (max-width: 767px) {
    ul.rurles01 {
        display: block;
        margin: 0 0 4vw;
    }

    ul.rurles01:last-child {
        margin: 0;
    }

    ul.rurles01 li {
        width: 100%;
        line-height: 160%;
    }
}

/*---------------------------------
  フォーム（共通）
---------------------------------*/
ul.form-attention01 {
    display: block;
}

    ul.form-attention01  a:link {
			color: inherit !important;
    }

ul.form-attention01 li {
    width: 100%;
    margin: 0 0 30px;
    line-height: 160%;
		font-size: 20px;
		font-weight: bold;
}

ul.form-attention01 li:last-child {
    margin: 0;
    padding: 20px 0 0;
}

#formwrap01 {
    display: block;
    padding: 45px;
    border: 2px solid #000000;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 160%;
}

.formcontentswrap01 {
    display: block;
    padding: 0 0 50px;
}

.formcontentswrap01:last-child {
    padding: 0;
}

.formdetailwrap01 {
    display: block;
    padding: 0 0 20px;
}

.formdetailwrap01:last-child {
    padding: 0;
}

.formdetailwrap01 ul {
    display: block;
}

.formdetailwrap01 ul li {
    display: block;
}

.formdetailwrap01 ul li:nth-child(1) {
    padding: 0 0 5px;
}

.formdetailwrap01 table {
    width: 100%;
}

.formdetailwrap01 table td {
    width: auto;
}

.formdetailwrap01 table td:nth-child(4) {
    width: 26%;
}

.formdetailwrap01 table td:nth-child(5) {
    width: 26%;
}

.formdetailwrap01 a:link {
    color: #406fb8 !important;
    text-decoration: underline !important;
}

.formdetailwrap01 a:visited {
    color: #406fb8 !important;
}

.formdetailwrap01 a:active {
    color: #e7364a !important;
}

.formdetailwrap01 a:hover {
    color: #e7364a !important;
    opacity: 1 !important;
}

.formdetailwrap01 input[type="checkbox"],
.formdetailwrap01 input[type="radio"] {
    margin-top: -0.5rem;
    margin-right: 1rem;
    accent-color: #e7364a;
    transform: scale(1.75);
}

.courselabel01-2024 {
    display: flex;
    padding-bottom: 0.75rem;
}

.input-2024 {
    margin-right: 0.5rem;
}

.formtable-2024 {
    display: flex;
    flex-wrap: wrap;
    /*padding-bottom: 0.75rem;*/
}

.formbox-2024 {
    margin-right: 4rem;
}

.formattention01 {
    font-size: 2rem;
}

.formattention02 {
    font-size: 1.6rem;
}

.formattention03 {
    border: 1px solid #000000;
    padding: 20px;
}

.formspace01 {
    margin: 0 0 0 -0.5em;
}

.formbtnwrap01 {
    width: 481px;
    margin: 0 auto;
}

.formbtnwrap02 {
    width: 473px;
    margin: 0 auto;
}

.formbtnwrap02:after {
    content: "";
    clear: both;
    display: block;
}

.formbtnwrap02 a:hover {
    opacity: 1 !important;
}

.formbtnwrap03 {
    width: 225px;
    margin: 0 auto;
}

.formbtninner01 {
    width: 225px;
    float: left;
}

.formbtninner01:nth-child(3) {
    float: right;
}

.fonmbtn {
    background: #000000;
    padding: 3px 3px 9px 3px;
    border-radius: 10px;
}

.fonmbtn:active {
    padding: 3px;
    transform: translateY(6px);
    transition: 0.8s;
}

.fonmbluebtn {
    background: #1d4293;
    padding: 3px 3px 9px 3px;
    border-radius: 10px;
}

.fonmbluebtn:active {
    padding: 3px;
    transform: translateY(6px);
    transition: 0.8s;
}

.requiredicon01 {
    background: #e7364a;
    padding: 0.05em 0.2em;
    margin: 0 0 0 0.5em;
    border-radius: 3px;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
}

.optionalicon01 {
    padding: 0.05em 0.2em;
    margin: 0 0 0 0.5em;
    border: 1px solid #000000;
    border-radius: 3px;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
}

.categoryicon01 {
    background: #e7364a;
    padding: 0px 3px 9px;
    border-radius: 8px;
}

.categoryicon01 span {
    font-size: 2rem;
    font-weight: 600;
    line-height: 120%;
    color: #e7364a;
    background: #ffffff;
    text-align: center;
    padding: 9px 0.5em 6px;
    border-radius: 6px;
}

ul li.courselabel01 label {
    display: block;
}

@media screen and (max-width: 767px) {
    ul.form-attention01 {
        display: block;
    }

    ul.form-attention01  a:link {
			color: inherit !important;
    }

    ul.form-attention01 li {
        width: 100%;
        margin: 0 0 4vw;
        line-height: 160%;
				font-size: 3.2vw;
    }

    ul.form-attention01 li:last-child {
        margin: 0;
        padding: 2.666666666666667px 0 0;
    }

    #formwrap01 {
        width: 90%;
        margin: 0 auto;
        display: block;
        padding: 6.666666666666667vw;
        border: 2px solid #000000;
        font-size: 2.666666666666667vw;
        font-weight: 500;
        line-height: 140%;
    }

    .formcontentswrap01 {
        display: block;
        padding: 0 0 4vw;
        font-size: 3.2vw;
        line-height: 1.5em;
    }

    .formcontentswrap01:last-child {
        padding: 0;
    }

    .formdetailwrap01 {
        display: block;
        padding: 0 0 2.666666666666667vw;
        font-size: 3.2vw;
        line-height: 1.5em;
    }

    .formdetailwrap01:last-child {
        padding: 0;
    }

    .formdetailwrap01 ul {
        display: block;
    }

    .formdetailwrap01 ul li {
        display: block;
    }

    .formdetailwrap01 ul li:nth-child(1) {
        padding: 0 0 0.6666666666666667vw;
    }

    .formdetailwrap01 table {
        width: 100%;
    }

    .formdetailwrap01 table td {
        width: 100%;
        display: block;
    }

    .formdetailwrap01 table td:nth-child(4) {
        width: 100%;
    }

    .formdetailwrap01 table td:nth-child(5) {
        width: 100%;
    }

    .formdetailwrap01 a:link {
        color: #406fb8 !important;
        text-decoration: underline !important;
    }

    .formdetailwrap01 a:visited {
        color: #406fb8 !important;
    }

    .formdetailwrap01 a:active {
        color: #e7364a !important;
    }

    .formdetailwrap01 a:hover {
        color: #e7364a !important;
        opacity: 1 !important;
    }

    .formdetailwrap01 input[type="checkbox"],
    .formdetailwrap01 input[type="radio"] {
        margin-top: 0.5em;
        margin-right: 0.5em;
        margin-bottom: 0.75em;
        accent-color: #e7364a;
        transform: scale(1.25);
    }

    .courselabel01-2024 {
        display: flex;
        margin-top: 0.5em;
    }

    .input-2024 {
        margin-top: -0.5em;
        margin-right: 0.5rem;
    }

    .formtable-2024 {
        display: flex;
        flex-wrap: wrap;
        /*padding-bottom: 0.75rem;*/
    }

    .formbox-2024 {
        /*width: 40%;*/
        margin-right: 2rem;
    }

    .formattention01 {
        font-size: 4.266666666666667vw;
    }

    .formattention02 {
        font-size: 3.4666666666666663vw;
    }

    .formattention03 {
        border: 1px solid #000000;
        padding: 2.666666666666667vw;
        /* 750px基準でpadding: 20px; */
    }

    .formspace01 {
        margin: 0 0 0 -0.5em;
    }

    .formbtnwrap01 {
        width: 100%;
        margin: 0 auto;
    }

    .formbtnwrap02 {
        width: 68vw;
        margin: 0 auto;
    }

    .formbtnwrap02:after {
        content: "";
        clear: both;
        display: block;
    }

    .formbtnwrap02 a:hover {
        opacity: 1 !important;
    }

    .formbtnwrap03 {
        width: 32.666666666666664vw;
        margin: 0 auto;
    }

    .formbtninner01 {
        width: 32.666666666666664vw;
        float: left;
    }

    .formbtninner01:nth-child(3) {
        float: right;
    }

    .fonmbtn {
        background: #000000;
        padding: 0.4vw 0.4vw 1.2vw 0.4vw;
        border-radius: 1.3333333333333335vw;
    }

    .fonmbtn:active {
        padding: 0.4vw;
        transform: translateY(0.8vw);
        transition: 0.8s;
    }

    .fonmbluebtn {
        background: #1d4293;
        padding: 0.4vw 0.4vw 1.2vw 0.4vw;
        border-radius: 1.3333333333333335vw;
    }

    .fonmbluebtn:active {
        padding: 0.4vw;
        transform: translateY(0.8vw);
        transition: 0.8s;
    }

    .requiredicon01 {
        background: #e7364a;
        padding: 0.05em 0.2em;
        margin: 0 0 0 0.5em;
        border-radius: 3px;
        font-size: 2.1333333333333333vw;
        font-weight: 600;
        text-align: center;
        color: #ffffff;
    }

    .optionalicon01 {
        padding: 0.05em 0.2em;
        margin: 0 0 0 0.5em;
        border: 1px solid #000000;
        border-radius: 3px;
        font-size: 2.1333333333333333vw;
        font-weight: 600;
        text-align: center;
    }

    .categoryicon01 {
        background: #e7364a;
        padding: 0 0.4vw 1.2vw;
        border-radius: 1.0666666666666667vw;
    }

    .categoryicon01 span {
        font-size: 3.2vw;
        font-weight: 600;
        line-height: 120%;
        color: #e7364a;
        background: #ffffff;
        text-align: center;
        padding: 1.2vw 0.5em 0.8vw;
        border-radius: 0.8vw;
    }

    ul li.courselabel01 label {
        display: block;
    }
}

/*---------------------------------
  テキストボックス
---------------------------------*/
input,
select,
textarea {
    color: #000000 !important;
}

.textbox {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    background-image: none;
    border: 2px solid rgba(0, 0, 0, 1);
    color: inherit;
    font-family: inherit;
    font-size: 1em;
    padding: 0.2em 0.4em;
    width: 100%;
}

.textarea-2024 {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    background-image: none;
    border: 2px solid rgba(0, 0, 0, 1);
    color: inherit;
    font-family: inherit;
    font-size: 1em;
    padding: 0.2em 0.4em;
    width: 100%;
    height: 6em;
}

.textarea02-2024 {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    background-image: none;
    border: 2px solid rgba(0, 0, 0, 1);
    color: inherit;
    font-family: inherit;
    font-size: 1em;
    padding: 0.2em 0.4em;
    width: 100%;
    height: 4em;
}

/*.textbox:focus {
	border: 1px solid rgba(0, 0, 0, 0.32);
	box-shadow: none;
	outline: none;
}*/

.zip01 {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    background-image: none;
    border: 2px solid rgba(0, 0, 0, 1);
    color: inherit;
    font-family: inherit;
    font-size: 1em;
    padding: 0.2em 0.4em;
    width: 4em;
}

.zip01::placeholder {
    color: transparent;
}

.zip02 {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    background-image: none;
    border: 2px solid rgba(0, 0, 0, 1);
    color: inherit;
    font-family: inherit;
    font-size: 1em;
    padding: 0.2em 0.4em;
    width: 5em;
}

@media screen and (max-width: 767px) {
    input,
    select,
    textarea {
        color: #000000 !important;
    }

    .textbox {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: #ffffff;
        background-image: none;
        border: 2px solid rgba(0, 0, 0, 1);
        color: inherit;
        font-family: inherit;
        font-size: 1em;
        padding: 0.2em 0.4em;
        width: 100%;
    }

    .textarea-2024 {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: #ffffff;
        background-image: none;
        border: 2px solid rgba(0, 0, 0, 1);
        color: inherit;
        font-family: inherit;
        font-size: 1em;
        padding: 0.2em 0.4em;
        width: 100%;
        height: 8em;
    }

    .textarea02-2024 {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: #ffffff;
        background-image: none;
        border: 2px solid rgba(0, 0, 0, 1);
        color: inherit;
        font-family: inherit;
        font-size: 1em;
        padding: 0.2em 0.4em;
        width: 100%;
        height: 4em;
    }

    /*.textbox:focus {
	border: 1px solid rgba(0, 0, 0, 0.32);
	box-shadow: none;
	outline: none;
}*/
    .zip01 {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: #ffffff;
        background-image: none;
        border: 2px solid rgba(0, 0, 0, 1);
        color: inherit;
        font-family: inherit;
        font-size: 1em;
        padding: 0.2em 0.4em;
        width: 4em;
    }

    .zip01::placeholder {
        color: transparent;
    }

    .zip02 {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: #ffffff;
        background-image: none;
        border: 2px solid rgba(0, 0, 0, 1);
        color: inherit;
        font-family: inherit;
        font-size: 1em;
        padding: 0.2em 0.4em;
        width: 5em;
    }
}

/*---------------------------------
  セレクトボックス
---------------------------------*/
.cp_ipselect100 {
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    text-align: left;
}

.cp_ipselect100 select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.cp_ipselect100 select::-ms-expand {
    display: none;
}

.cp_ipselect100.cp_sl01 {
    position: relative;
    border: 2px solid #000000;
    background: #ffffff;
}

.cp_ipselect100.cp_sl01::before {
    position: absolute;
    top: 0.8em;
    right: 0.8em;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #000000;
    pointer-events: none;
}

.cp_ipselect100.cp_sl01 select {
    padding: 0.2em 0.4em;
    color: black;
}

.cp_ipselect03 {
    overflow: hidden;
    width: 4em;
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
}

.cp_ipselect03 select {
    width: 4em;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.cp_ipselect03 select::-ms-expand {
    display: none;
}

.cp_ipselect03.cp_sl01 {
    position: relative;
    border: 2px solid #000000;
    background: #ffffff;
}

.cp_ipselect03.cp_sl01::before {
    position: absolute;
    top: 0.8em;
    right: 0.8em;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #000000;
    pointer-events: none;
}

.cp_ipselect03.cp_sl01 select {
    padding: 0.2em 0.4em;
    color: black;
}

.cp_ipselect04 {
    overflow: hidden;
    width: 5em;
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
}

.cp_ipselect04 select {
    width: 5em;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.cp_ipselect04 select::-ms-expand {
    display: none;
}

.cp_ipselect04.cp_sl01 {
    position: relative;
    border: 2px solid #000000;
    background: #ffffff;
}

.cp_ipselect04.cp_sl01::before {
    position: absolute;
    top: 0.8em;
    right: 0.8em;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #000000;
    pointer-events: none;
}

.cp_ipselect04.cp_sl01 select {
    padding: 0.2em 0.4em;
    color: black;
}

.cp_ipselect07 {
    overflow: hidden;
    width: 7em;
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
}

.cp_ipselect07 select {
    width: 7em;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.cp_ipselect07 select::-ms-expand {
    display: none;
}

.cp_ipselect07.cp_sl01 {
    position: relative;
    border: 2px solid #000000;
    background: #ffffff;
}

.cp_ipselect07.cp_sl01::before {
    position: absolute;
    top: 0.8em;
    right: 0.8em;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #000000;
    pointer-events: none;
}

.cp_ipselect07.cp_sl01 select {
    padding: 0.2em 0.4em;
    color: black;
}

.cp_ipselect10 {
    width: 10em;
}

.cp_ipselect10 select {
    width: 10em;
}

.cp_ipselect15 {
    width: 15em;
}

.cp_ipselect15 select {
    width: 15em;
}

.cp_ipselect10,
.cp_ipselect15 {
    overflow: hidden;
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
}

.cp_ipselect10 select,
.cp_ipselect15 select {
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.cp_ipselect10 select::-ms-expand,
.cp_ipselect15 select::-ms-expand {
    display: none;
}

.cp_ipselect10.cp_sl01,
.cp_ipselect15.cp_sl01 {
    position: relative;
    border: 2px solid #000000;
    background: #ffffff;
}

.cp_ipselect10.cp_sl01::before,
.cp_ipselect15.cp_sl01::before {
    position: absolute;
    top: 0.8em;
    right: 0.8em;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #000000;
    pointer-events: none;
}

.cp_ipselect10.cp_sl01 select,
.cp_ipselect15.cp_sl01 select {
    padding: 0.2em 0.4em;
    color: black;
}

@media screen and (max-width: 767px) {
    .cp_ipselect100 {
        overflow: hidden;
        width: 100%;
        margin: 0 auto;
        text-align: left;
    }

    .cp_ipselect100 select {
        width: 100%;
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .cp_ipselect100 select::-ms-expand {
        display: none;
    }

    .cp_ipselect100.cp_sl01 {
        position: relative;
        border: 2px solid #000000;
        background: #ffffff;
    }

    .cp_ipselect100.cp_sl01::before {
        position: absolute;
        top: 1.6666666666666667vw;
        right: 1.3333333333333335vw;
        width: 0;
        height: 0;
        padding: 0;
        content: "";
        border-left: 1.3333333333333335vw solid transparent;
        border-right: 1.3333333333333335vw solid transparent;
        border-top: 2vw solid #000000;
        pointer-events: none;
    }

    .cp_ipselect100.cp_sl01 select {
        padding: 0.2em 0.4em;
        color: black;
    }

    .cp_ipselect03 {
        overflow: hidden;
        width: 4em;
        margin: 0 auto;
        text-align: left;
    }

    .cp_ipselect03 select {
        width: 4em;
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .cp_ipselect03 select::-ms-expand {
        display: none;
    }

    .cp_ipselect03.cp_sl01 {
        position: relative;
        border: 2px solid #000000;
        background: #ffffff;
    }

    .cp_ipselect03.cp_sl01::before {
        position: absolute;
        top: 1.6666666666666667vw;
        right: 1.3333333333333335vw;
        width: 0;
        height: 0;
        padding: 0;
        content: "";
        border-left: 1.3333333333333335vw solid transparent;
        border-right: 1.3333333333333335vw solid transparent;
        border-top: 2vw solid #000000;
        pointer-events: none;
    }

    .cp_ipselect03.cp_sl01 select {
        padding: 0.2em 0.4em;
        color: black;
    }

    .cp_ipselect04 {
        overflow: hidden;
        width: 5em;
        margin: 0 auto;
        text-align: left;
    }

    .cp_ipselect04 select {
        width: 5em;
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .cp_ipselect04 select::-ms-expand {
        display: none;
    }

    .cp_ipselect04.cp_sl01 {
        position: relative;
        border: 2px solid #000000;
        background: #ffffff;
    }

    .cp_ipselect04.cp_sl01::before {
        position: absolute;
        top: 1.6666666666666667vw;
        right: 1.3333333333333335vw;
        width: 0;
        height: 0;
        padding: 0;
        content: "";
        border-left: 1.3333333333333335vw solid transparent;
        border-right: 1.3333333333333335vw solid transparent;
        border-top: 2vw solid #000000;
        pointer-events: none;
    }

    .cp_ipselect04.cp_sl01 select {
        padding: 0.2em 0.4em;
        color: black;
    }

    .cp_ipselect07 {
        overflow: hidden;
        width: 7em;
        margin: 0 auto;
        text-align: left;
    }

    .cp_ipselect07 select {
        width: 7em;
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .cp_ipselect07 select::-ms-expand {
        display: none;
    }

    .cp_ipselect07.cp_sl01 {
        position: relative;
        border: 2px solid #000000;
        background: #ffffff;
    }

    .cp_ipselect07.cp_sl01::before {
        position: absolute;
        top: 1.6666666666666667vw;
        right: 1.3333333333333335vw;
        width: 0;
        height: 0;
        padding: 0;
        content: "";
        border-left: 1.3333333333333335vw solid transparent;
        border-right: 1.3333333333333335vw solid transparent;
        border-top: 2vw solid #000000;
        pointer-events: none;
    }

    .cp_ipselect07.cp_sl01 select {
        padding: 0.2em 0.4em;
        color: black;
    }

    .cp_ipselect10 {
        width: 10em;
    }

    .cp_ipselect10 select {
        width: 10em;
    }

    .cp_ipselect15 {
        width: 15em;
    }

    .cp_ipselect15 select {
        width: 15em;
    }

    .cp_ipselect10,
    .cp_ipselect15 {
        overflow: hidden;
        margin: 0 auto;
        text-align: left;
    }

    .cp_ipselect10 select,
    .cp_ipselect15 select {
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .cp_ipselect10 select::-ms-expand,
    .cp_ipselect15 select::-ms-expand {
        display: none;
    }

    .cp_ipselect10.cp_sl01,
    .cp_ipselect15.cp_sl01 {
        position: relative;
        border: 2px solid #000000;
        background: #ffffff;
    }

    .cp_ipselect10.cp_sl01::before,
    .cp_ipselect15.cp_sl01::before {
        position: absolute;
        top: 1.6666666666666667vw;
        right: 1.3333333333333335vw;
        width: 0;
        height: 0;
        padding: 0;
        content: "";
        border-left: 1.3333333333333335vw solid transparent;
        border-right: 1.3333333333333335vw solid transparent;
        border-top: 2vw solid #000000;
        pointer-events: none;
    }

    .cp_ipselect10.cp_sl01::before,
    .cp_ipselect15.cp_sl01::before {
        position: absolute;
        top: 1.6666666666666667vw;
        right: 1.3333333333333335vw;
        width: 0;
        height: 0;
        padding: 0;
        content: "";
        border-left: 1.3333333333333335vw solid transparent;
        border-right: 1.3333333333333335vw solid transparent;
        border-top: 2vw solid #000000;
        pointer-events: none;
    }

    .cp_ipselect10.cp_sl01 select,
    .cp_ipselect15.cp_sl01 select {
        padding: 0.2em 0.4em;
        color: black;
    }
}

/*---------------------------------
  ラジオボタンとチェックボックス
label.check01 {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
}

label.check01::before,
label.check01::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

label.check01::before {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}

label.check01::after {
  background-color: #e7364a;
  border-radius: 50%;
  opacity: 0;
  width: 16px;
  height: 16px;
  left: 7px
}

input:checked + label.check01::after {
  opacity: 1;
}

.visually-hidden {
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}
@media screen and (max-width: 767px) {
label.check01 {
  position: relative;
  cursor: pointer;
  padding-left: 4vw;
}

label.check01::before,
label.check01::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

label.check01::before {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 2.666666666666667vw;
  height: 2.666666666666667vw;
  left: 0.6666666666666667vw;
}

label.check01::after {
  background-color: #e7364a;
  border-radius: 50%;
  opacity: 0;
  width: 2.1333333333333333vw;
  height: 2.1333333333333333vw;
  left: 0.9333333333333335vw
}

input:checked + label.check01::after {
  opacity: 1;
}

.visually-hidden {
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}
}
---------------------------------*/
legend.cennterwrap01 {
    display: table;
    margin: 0 auto;
}

/*---------------------------------
  モーダルウィンドウ（共通）
---------------------------------*/
/* これが無いとモーダルウィンドウ表示の際に余白が出る */
* {
    margin: 0;
    padding: 0;
}

/* モーダル全体(背景＋本体) */
.modal {
    display: none;
    position: fixed;
    top: 0;
    height: 100vh;
    width: 100%;
    z-index: 80001;
}

/* モーダル背景 */
.modal-bg {
    position: absolute;
    height: 100vh;
    width: 100%;
    background: rgba(255, 255, 255, 0.7);
}

/* モーダル本体 */
.modal-content {
    width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-x: hidden;
    overflow-y: auto;
    height: auto;
    max-height: 65%;
    padding: 0;
    border-radius: 3px;
    border: solid 3px rgba(231, 54, 74, 1);
    background: #ffffff;
}

/* モーダルウィンドウ内容 */
.modal-detailwrap01 {
    position: relative;
}

.modal-detailbtninner01 {
    width: 35px;
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.modal-detailinner01 {
    display: table;
    width: auto;
    max-width: 94%;
    margin: 0 auto;
    padding: 20px 0 30px;
}

.modal-detailinner01 ul {
    display: block;
    font-size: 1.6rem;
    line-height: 160%;
    color: #000000;
}

@media screen and (max-width: 767px) {
    .modal-content {
        width: 80%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        overflow-x: hidden;
        overflow-y: auto;
        height: auto;
        max-height: 50%;
        padding: 0;
        border-radius: 3px;
        border: solid 3px rgba(231, 54, 74, 1);
        background: #ffffff;
    }

    /* モーダルウィンドウ内容 */
    .modal-detailwrap01 {
        position: relative;
    }

    .modal-detailbtninner01 {
        width: 5.333333333333334vw;
        position: absolute;
        bottom: 2.666666666666667vw;
        right: 2.666666666666667vw;
    }

    .modal-detailinner01 {
        display: table;
        width: auto;
        max-width: 94%;
        margin: 0 auto;
        padding: 2.666666666666667vw 0;
    }

    .modal-detailinner01 ul {
        display: block;
        font-size: 2.666666666666667vw;
        line-height: 160%;
        color: #000000;
    }
}

/* モーダルウィンドウ表示中に記事本体を固定 */
body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}

.modal-content-inner {
    width: 100%;
    position: relative;
}

.js-modal-close-btn {
    z-index: 20;
}

.js-modal-close-btn img {
    width: 100%;
}

/*---------------------------------
  サイトマップ
---------------------------------*/
ul.sitemaplist01 {
    display: block;
    padding: 0 0 20px;
}

ul.sitemaplist01:last-child {
    padding: 0;
}

ul.sitemaplist01 li {
    padding: 0 0 10px;
}

ul.sitemaplist01 li:last-child {
    padding: 0;
}

ul.sitemaplist01 li a:before {
    content: url("../sitemap/img/arrow.svg");
    width: 30px;
    height: auto;
    display: inline-block;
    padding: 0 10px 0 0;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
    ul.sitemaplist01 {
        display: block;
        padding: 0 0 2.666666666666667vw;
    }

    ul.sitemaplist01:last-child {
        padding: 0;
    }

    ul.sitemaplist01 li {
        padding: 0 0 1.3333333333333335vw;
    }

    ul.sitemaplist01 li:last-child {
        padding: 0;
    }

    ul.sitemaplist01 li a:before {
        content: url("../sitemap/img/arrow.svg");
        width: 4.666666666666667vw;
        height: auto;
        display: inline-block;
        padding: 0 1.3333333333333335vw 0 0;
        vertical-align: middle;
    }
}

/*---------------------------------
  リンク集
---------------------------------*/
.linkstitle01 {
    font-size: 2.4rem;
    font-weight: 600;
    color: #e7364a;
}

.linkstitle01.firstlist {
    padding: 15px 0 0;
}

ul.linklist01 {
    display: block;
    padding: 10px 0 0;
}

ul.linklist01 li {
    padding: 0 0 10px;
}

ul.linklist01 li:last-child {
    padding: 0;
}

ul.linklist01 li a:before {
    content: url("../links/img/arrow.svg");
    width: 30px;
    height: auto;
    display: inline-block;
    padding: 0 10px 0 0;
    vertical-align: middle;
}

ul.linklist01 li a:after {
    content: url("../links/img/linksicon.svg");
    width: 40px;
    height: auto;
    display: inline-block;
    padding: 0 0 0 10px;
    vertical-align: middle;
}

ul.linklist02 {
    display: block;
    padding: 15px 0 0 23px;
}

ul.linklist02 li {
    padding: 0 0 10px;
}

ul.linklist02 li:last-child {
    padding: 0;
}

ul.linklist02 li a:before {
    content: url("../links/img/arrow.svg");
    width: 30px;
    height: auto;
    display: inline-block;
    padding: 0 10px 0 0;
    vertical-align: middle;
}

ul.linklist02 li a:after {
    content: url("../links/img/linksicon.svg");
    width: 40px;
    height: auto;
    display: inline-block;
    padding: 0 0 0 10px;
    vertical-align: middle;
}

ul.linklist02 li.multiple:before {
    content: url("../links/img/arrow.svg");
    width: 30px;
    height: auto;
    display: inline-block;
    padding: 0 10px 0 0;
    vertical-align: middle;
}

ul.linklist02 li.multiple a:before {
    content: url("../links/img/arrow.svg");
    width: 30px;
    height: auto;
    display: none;
    padding: 0 10px 0 0;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
    .linkstitle01 {
        font-size: 3.733333333333334vw;
        /* 750px基準でfont-size: 28px; */
        font-weight: 600;
        color: #e7364a;
    }

    .linkstitle01.firstlist {
        padding: 1.3333333333333335vw 0 0;
    }

    ul.linklist01 {
        display: block;
        padding: 1.3333333333333335vw 0 0;
    }

    ul.linklist01 li {
        padding: 0 0 1.3333333333333335vw;
    }

    ul.linklist01 li:last-child {
        padding: 0;
    }

    ul.linklist01 li a:before {
        content: url("../links/img/arrow.svg");
        width: 4.666666666666667vw;
        height: auto;
        display: inline-block;
        padding: 0 1.3333333333333335vw 0 0;
        vertical-align: middle;
    }

    ul.linklist01 li a:after {
        content: url("../links/img/linksicon.svg");
        width: 4.666666666666667vw;
        height: auto;
        display: inline-block;
        padding: 0 0 0 1.3333333333333335vw;
        vertical-align: middle;
    }

    ul.linklist02 {
        display: block;
        padding: 2vw 0 0 3.0666666666666664vw;
        /* 750px基準でpadding: 15px 0 0 23px; */
    }

    ul.linklist02 li {
        padding: 0 0 1.3333333333333335vw;
    }

    ul.linklist02 li:last-child {
        padding: 0;
    }

    ul.linklist02 li a:before {
        content: url("../links/img/arrow.svg");
        width: 4.666666666666667vw;
        height: auto;
        display: inline-block;
        padding: 0 1.3333333333333335vw 0 0;
        vertical-align: middle;
    }

    ul.linklist02 li a:after {
        content: url("../links/img/linksicon.svg");
        width: 4.666666666666667vw;
        height: auto;
        display: inline-block;
        padding: 0 0 0 1.3333333333333335vw;
        vertical-align: middle;
    }

    ul.linklist02 li.multiple:before {
        content: url("../links/img/arrow.svg");
        width: 4.666666666666667vw;
        height: auto;
        display: inline-block;
        padding: 0 1.3333333333333335vw 0 0;
        vertical-align: middle;
    }

    ul.linklist02 li.multiple a:before {
        content: url("../links/img/arrow.svg");
        width: 4.666666666666667vw;
        height: auto;
        display: none;
        padding: 0 1.3333333333333335vw 0 0;
        vertical-align: middle;
    }
}

/*---------------------------------
  一覧ページ共通（ニュース＆トピックス、リンク集）
---------------------------------*/
.listwrap01 {
    display: table;
    width: 100%;
    padding: 0 0 50px;
    line-height: 140%;
}

.listwrap01:last-child {
    padding: 0;
}

.listwrap01 a:link {
    color: #000000 !important;
}

.listwrap01 a:visited {
    color: #000000 !important;
}

.listwrap01 a:hover {
    color: #e7364a !important;
}

.listwrap01 a:active {
    color: #e7364a !important;
}

.listinner01 {
    display: table-cell;
    width: calc(100% - 313px - 40px);
    vertical-align: top;
}

.listinner01:nth-child(2) {
    width: 313px;
    padding: 0 0 0 40px;
}

#pagenationwrap01 {
    display: table;
    margin: 0 auto;
}

ul#pagenation01 {
    display: flex;
    align-items: center;
    margin: 0 auto;
    text-align: center;
}

.pagenationitem {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.pagenationitem a:link {
    width: 58px;
    height: auto;
    padding: 3px 0;
    margin: 0 10px;
    background: #848484;
    border: solid 3px #000000;
    border-radius: 10px;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
    color: #ffffff;
    transition: all 0.15s linear;
}

.pagenationitem a:hover {
    padding: 3px 0;
    background: #e8528d;
    border: solid 3px #000000;
    color: #ffffff !important;
    transition: all 0.15s linear;
}

.pagenationitem.pageon {
    width: 58px;
    height: auto;
    padding: 3px 21.5px;
    margin: 0 10px;
    background: #e8528d;
    border: solid 3px #000000;
    border-radius: 10px;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
    color: #ffffff;
}

.pagenationprevnext {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: auto;
    height: auto;
}

.pagenationprevnext.pageon {
    padding: 16px 1em;
    margin: 0 10px;
    background: #ffffff;
    border: solid 3px #000000;
    border-radius: 10px;
    font-size: 2rem;
    font-weight: 700;
    color: #f44660;
}

.pagenationprevnext a:link {
    flex-wrap: wrap;
    width: auto;
    height: auto;
    padding: 16px 1em;
    margin: 0 10px;
    background: #ffffff;
    border: solid 3px #000000;
    border-radius: 10px;
    font-size: 2rem;
    font-weight: 700;
    color: #f44660 !important;
    transition: all 0.15s linear;
}

.pagenationprevnext a:hover {
    background: #e8528d;
    border: solid 3px #000000;
    border-radius: 10px;
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff !important;
    transition: all 0.15s linear;
}

@media screen and (max-width: 767px) {
    .listwrap01 {
        display: block;
        width: 100%;
        padding: 0 0 6.666666666666667vw;
        line-height: 140%;
    }

    .listwrap01:last-child {
        padding: 0;
    }

    .listwrap01 a:link {
        color: #000000 !important;
    }

    .listwrap01 a:visited {
        color: #000000 !important;
    }

    .listwrap01 a:hover {
        color: #e7364a !important;
    }

    .listwrap01 a:active {
        color: #e7364a !important;
    }

    .listinner01 {
        display: block;
        width: 100%;
        vertical-align: top;
    }

    .listinner01:nth-child(2) {
        width: 100%;
        padding: 2.666666666666667vw 0 0;
    }

    #pagenationwrap01 {
        display: table;
        margin: 0 auto;
    }

    ul#pagenation01 {
        display: flex;
        align-items: center;
        margin: 0 auto;
        text-align: center;
    }

    .pagenationitem {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }

    .pagenationitem a:link {
        width: 7.733333333333333vw;
        height: auto;
        padding: 0.4vw 0;
        margin: 0 1.3333333333333335vw;
        background: #848484;
        border: solid 3px #000000;
        border-radius: 1.3333333333333335vw;
        font-size: 5.333333333333334vw;
        font-weight: 700;
        text-align: center;
        color: #ffffff;
        transition: all 0.15s linear;
    }

    .pagenationitem a:hover {
        padding: 0.6vw 0;
        background: #e8528d;
        border: solid 3px #000000;
        color: #ffffff !important;
        transition: all 0.15s linear;
    }

    .pagenationitem.pageon {
        width: 7.733333333333333vw;
        height: auto;
        padding: 0.6vw 2.8666666666666667vw;
        margin: 0 1.3333333333333335vw;
        background: #e8528d;
        border: solid 3px #000000;
        border-radius: 1.3333333333333335vw;
        font-size: 5.333333333333334vw;
        font-weight: 700;
        text-align: center;
        color: #ffffff;
    }

    .pagenationprevnext {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: auto;
        height: auto;
    }

    .pagenationprevnext.pageon {
        padding: 2.1333333333333333vw 2.666666666666667vw;
        margin: 0 1.3333333333333335vw;
        background: #ffffff;
        border: solid 3px #000000;
        border-radius: 1.3333333333333335vw;
        font-size: 2.4vw;
        font-weight: 700;
        color: #f44660;
    }

    .pagenationprevnext a:link {
        flex-wrap: wrap;
        width: auto;
        height: auto;
        padding: 2.1333333333333333vw 2.666666666666667vw;
        margin: 0 1.3333333333333335vw;
        background: #ffffff;
        border: solid 3px #000000;
        border-radius: 1.3333333333333335vw;
        font-size: 2.4vw;
        font-weight: 700;
        color: #f44660 !important;
        transition: all 0.15s linear;
    }

    .pagenationprevnext a:hover {
        background: #e8528d;
        border: solid 3px #000000;
        border-radius: 1.3333333333333335vw;
        font-size: 2.4vw;
        font-weight: 700;
        color: #ffffff !important;
        transition: all 0.15s linear;
    }

    .pagenationprevnext a:active {
        background: #e8528d;
        border: solid 3px #000000;
        border-radius: 1.3333333333333335vw;
        font-size: 2.4vw;
        font-weight: 700;
        color: #ffffff !important;
        transition: all 0.15s linear;
    }
}

/*---------------------------------
  ウォーキングアプリについてページ
  アプリウォークの始め方ページ
---------------------------------*/
.appditailwrap01 {
    line-height: 160%;
}

.appditailwrap02 {
    display: flex;
    line-height: 160%;
}

.appditailborder01 {
    border-bottom: 4px solid #e7364a;
    padding: 30px 0 0;
}

.appditailinner01 {
    width: calc(100% - 396px - 30px);
}

.appditailinner01:nth-child(2) {
    width: 396px;
    padding: 0 0 0 30px;
}

.appditailinner02 {
    width: calc(100% - 396px - 30px);
    order: 2;
}

.appditailinner02:nth-child(2) {
    width: 396px;
    padding: 0 30px 0 0;
    order: 1;
}

.appditailinner03 {
    width: calc(100% - 257px - 30px);
}

.appditailinner03:nth-child(2) {
    width: 257px;
    padding: 0 0 0 30px;
}

.appditailinner04 {
    display: block;
    padding: 0 0 40px 165px;
    position: relative;
}

.appditailinner04 a:link {
    color: #e7364a !important;
    text-decoration: underline !important;
    transition: 1s;
}

.appditailinner04 a:visited {
    color: #e7364a !important;
    text-decoration: underline !important;
    transition: 1s;
}

.appditailinner04 a:active {
    color: #0d6fbc !important;
    text-decoration: underline !important;
    transition: 1s;
}

.appditailinner04 a:hover {
    color: #0d6fbc !important;
    text-decoration: underline !important;
    opacity: 0.8;
    transition: 1s;
}

.appditailinner05 {
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 140%;
    text-align: right;
}

.appditailinner05:nth-child(1) {
    padding: 0 20px 0 0;
}

.appdetailbannerwrap01 {
    width: 300px;
    position: absolute;
    top: -65px;
    right: 0;
}

.apptitlewrap01 {
    padding: 0 0 20px;
    font-size: 3rem;
    font-weight: 600;
    text-align: center;
}

.apptitlewrap02 {
    padding: 0 0 20px;
    font-size: 3rem;
    font-weight: 600;
    text-align: center;
}

.apptitlewrap03 {
    padding: 0 0 40px;
}

.appcatchwrap01 {
    width: 100%;
    display: table;
    padding: 0 0 20px;
    font-size: 3rem;
    font-weight: 600;
}

.appcatchinner01 {
    display: table-cell;
    vertical-align: middle;
}

.appcatchinner01:nth-child(1) {
    width: 190px;
    padding: 0 15px 0 0;
}

.appcatchinner02 {
    display: table-cell;
    vertical-align: top;
}

.appcatchinner02:nth-child(1) {
    width: 190px;
    padding: 0 15px 0 0;
}

.appcatchinner02:nth-child(2) {
    content: "";
    clear: both;
    display: block;
}

.appcatchfloatwrap01 {
    width: 174px;
    float: left;
    font-size: 1.4rem;
    font-weight: 400;
}

.appcatchfloatwrap01:nth-child(2) {
    width: calc(100% - 174px - 15px);
    float: right;
    padding: 0 0 0 15px;
}

.appcatchicon01 {
    background: #e7364a;
    padding: 0px 0.2em 9px;
    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
}

.appcatchicon01 span {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 140%;
    color: #ffffff;
    text-align: center;
}

.appcatchicon01 span.number01 {
    font-size: 3.6rem !important;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    background: transparent;
    vertical-align: -4px;
}

.appcatchicon02 {
    background: #e7364a;
    padding: 0px 3px 9px;
    border-radius: 8px;
}

.appcatchicon02 span {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 140%;
    color: #ffffff;
    text-align: center;
    padding: 0 1.5em;
    border-radius: 6px;
}

.appcatchicon02 span.number01 {
    font-size: 3.6rem !important;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    background: transparent;
    padding: 0;
    vertical-align: -4px;
}

.appcatchicon03 {
    background: #26b7bc;
    padding: 0px 3px 9px;
    border-radius: 8px;
}

.appcatchicon03 span {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 140%;
    color: #ffffff;
    text-align: center;
    padding: 0 1.5em;
    border-radius: 6px;
}

.appcatchicon03 span.number01 {
    font-size: 3.6rem !important;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    background: transparent;
    padding: 0;
    vertical-align: -4px;
}

.appcatch01 {
    line-height: 120%;
}

.appcatch02 {
    line-height: 100%;
}

.appcatch03 {
    width: 100%;
    display: table;
    padding: 0 0 20px;
    font-size: 3rem;
    font-weight: 600;
}

.appattention01 {
    font-size: 1.6rem;
    font-weight: 500;
}

.appattention02 {
    font-size: 1.2rem;
}

.appattention03 {
    font-size: 1.4rem;
    line-height: 140%;
}

.appattention03 a:link {
    color: #000000 !important;
}

.appattention03 a:visited {
    color: #000000 !important;
}

.appattention03 a:active {
    color: #e7364a !important;
}

.appattention03 a:hover {
    color: #e7364a !important;
}

.appdlwrap01 {
    width: calc(228px + 258px + 20px);
    margin: 0 auto;
}

.appdlwrap01:after {
    content: "";
    clear: both;
    display: block;
}

.appdlinner01 {
}

.appdlinner01:nth-child(1) {
    width: 228px;
    padding: 0 20px 0 0;
    float: left;
}

.appdlinner01:nth-child(2) {
    width: 258px;
    float: right;
}

/* アプリウォークについて */
.appentrywrap01 {
    display: table;
}

.appentryinner01 {
    display: table-cell;
    vertical-align: bottom;
    font-size: 2.6rem;
    line-height: 120%;
    padding: 0 0 0 15px;
}

.appentryinner01:nth-child(1) {
    width: 90px;
}

.apparrowwrap01 {
    width: 52px;
    margin: 0 auto;
}

.apparrowwrap02 {
    width: 616px;
    margin: 0 auto;
    padding: 0 0 20px;
}

.appwalkdlwrap01 {
    width: 100%;
    display: table;
    padding: 30px 0 0;
}

.appwalkdlinner01 {
    width: 195px;
    display: table-cell;
    padding: 0 20px 0 0;
    vertical-align: top;
}

.appwalkdlinner01:nth-child(2) {
    width: calc(100% - 195px - 20px);
    padding: 0;
}

.appwalkdlinner01:after {
    content: "";
    clear: both;
    display: block;
}

.appwalkdltitle01 {
    font-size: 2.5rem;
    font-weight: 900;
}

.appwalkdlqrwrap01 {
    width: 100px;
    float: right;
    padding: 0 0 0 20px;
}

.appwalkflowwrap01 {
    width: 100%;
    padding: 20px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.appwalkflowwrap02 {
    width: 100%;
    padding: 0 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.appwalkflowwrap02:last-child {
    padding: 0;
}

.appwalkflowwrap03 {
    width: 260px;
    padding: 20px 0 0;
}

.appwalkflowwrap04 {
    width: calc(250px + 250px + 70px);
    padding: 0 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.appwalkflowwrap04:last-child {
    padding: 0;
}

.appwalkflowwrap05 {
    width: calc(250px + 250px + 70px);
    padding: 20px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.appwalkflowinner01 {
}

.appwalkflowinner01:nth-child(2n) {
    flex-basis: 70px;
}

.appwalkflowinner01:nth-child(2n) img {
    width: 16px !important;
    margin: 0 auto;
}

.appwalkflowinner01 ul {
    display: block;
}

.appwalkflowinner01 ul li {
    display: block;
}

.appwalkflowinner01 ul li:nth-child(1) {
    padding: 0 0 5px;
}

.appwalkflowinner02 {
    flex-basis: 260px;
}

.appwalkflowinner02:nth-child(2n) {
    flex-basis: 40px;
}

.appwalkflowinner02:nth-child(2n) img {
    width: 16px !important;
    margin: 0 auto;
}

.appwalkflowinner02 ul {
    display: block;
}

.appwalkflowinner02 ul li {
    display: block;
}

.appwalkflowinner02 ul li:nth-child(1) {
    padding: 0 0 5px;
}

.appwalkflowinner03 {
    flex-basis: 260px;
}

.appwalkflowinner03:nth-child(2n) {
    flex-basis: 40px;
}

.appwalkflowinner03:nth-child(2n) img {
    width: 16px !important;
    margin: 0 auto;
}

.appwalkflowinner03 ul {
    display: block;
}

.appwalkflowinner03 ul li {
    display: block;
}

.appwalkflowinner03 ul li:nth-child(1) {
    padding: 0 0 5px;
}

.appwalkflowinner04 {
    flex-basis: 260px;
}

.appwalkflowinner04:nth-child(2n) {
    flex-basis: 40px;
}

.appwalkflowinner04:nth-child(2n) img {
    width: 16px !important;
    margin: 0 auto;
}

.appwalkflowinner04 ul {
    display: block;
}

.appwalkflowinner04 ul li {
    display: block;
}

.appwalkflowinner04 ul li:nth-child(1) {
    padding: 0 0 5px;
}

.appwalkflowinner05 {
    flex-basis: 260px;
}

.appwalkflowinner05:nth-child(2n) {
    flex-basis: 40px;
}

.appwalkflowinner05:nth-child(2n) img {
    width: 16px !important;
    margin: 0 auto;
}

.appwalkflowinner05 ul {
    display: block;
}

.appwalkflowinner05 ul li {
    display: block;
}

.appwalkflowinner05 ul li:nth-child(1) {
    padding: 0 0 5px;
}

.appwalkflowinner06 {
    flex-basis: 260px;
}

.appwalkflowinner06:nth-child(2n) {
    flex-basis: 40px;
}

.appwalkflowinner06:nth-child(2n) img {
    width: 16px !important;
    margin: 0 auto;
}

.appwalkflowinner06 ul {
    display: block;
}

.appwalkflowinner06 ul li {
    display: block;
}

.appwalkflowinner06 ul li:nth-child(1) {
    padding: 0 0 5px;
}

.appwalkflowcatch01 {
    font-size: 2.35rem;
    font-weight: 900;
    padding: 10px 0 0;
}

.appwalkflowattention01 {
    font-size: 1.35rem;
    line-height: 140%;
    color: #f8e100;
}

.appwalkflowattention01 a:link {
    color: #ffffff !important;
    text-decoration: underline !important;
    transition: 1s;
}

.appwalkflowattention01 a:visited {
    color: #ffffff !important;
    text-decoration: underline !important;
    transition: 1s;
}

.appwalkflowattention01 a:active {
    color: #f8e100 !important;
    text-decoration: underline !important;
    transition: 1s;
}

.appwalkflowattention01 a:hover {
    color: #f8e100 !important;
    text-decoration: underline !important;
    transition: 1s;
}

.appwalkicon01 {
    display: inline-block;
    width: 30px !important;
    padding: 0 5px;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
    .appditailwrap01 {
        line-height: 160%;
    }

    .appditailwrap02 {
        display: flex;
        flex-flow: column;
        line-height: 160%;
    }

    .appditailborder01 {
        border-bottom: 4px solid #e7364a;
        padding: 20px 0 0;
    }

    .appditailinner01 {
        width: calc(100%);
        padding: 0 0 2.666666666666667vw;
    }

    .appditailinner01:nth-child(2) {
        width: 100%;
        padding: 0;
    }

    .appditailinner02 {
        width: calc(100%);
        order: 1;
        padding: 0 0 2.666666666666667vw;
    }

    .appditailinner02:nth-child(2) {
        width: 100%;
        padding: 0;
        order: 2;
    }

    .appditailinner03 {
        width: calc(100%);
        padding: 0 0 2.666666666666667vw;
    }

    .appditailinner03:nth-child(2) {
        width: 64.8%;
        padding: 0;
        margin: 0 auto;
    }

    .appditailinner04 {
        display: block;
        padding: 0 0 2.666666666666667vw;
        position: relative;
    }

    .appditailinner04 a:link {
        color: #e7364a !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    .appditailinner04 a:visited {
        color: #e7364a !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    .appditailinner04 a:active {
        color: #0d6fbc !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    .appditailinner04 a:hover {
        color: #0d6fbc !important;
        text-decoration: underline !important;
        opacity: 0.8;
        transition: 1s;
    }

    .appditailinner05 {
        font-size: 2rem;
        font-weight: 600;
        line-height: 140%;
        text-align: center;
    }

    .appditailinner05:nth-child(1) {
        display: block;
        padding: 0 0 20px;
    }

    .appdetailbannerwrap01 {
        width: 100%;
        position: relative;
        top: auto;
        right: auto;
    }

    .apptitlewrap01 {
        padding: 0 0 2.666666666666667vw;
        font-size: 4vw;
        font-weight: 600;
        text-align: center;
    }

    .apptitlewrap02 {
        padding: 0 0 2.666666666666667vw;
        font-size: 4vw;
        font-weight: 600;
        text-align: center;
    }

    .apptitlewrap03 {
        padding: 0 0 4vw;
    }

    .appcatchwrap01 {
        width: 100%;
        display: table;
        padding: 0 0 2.666666666666667vw;
        font-size: 4vw;
        font-weight: 600;
    }

    .appcatchinner01 {
        display: table-cell;
        vertical-align: middle;
    }

    .appcatchinner01:nth-child(1) {
        width: 30%;
        padding: 0 2% 0 0;
    }

    .appcatchinner02 {
        display: block;
        width: 100%;
        vertical-align: top;
    }

    .appcatchinner02:nth-child(1) {
        width: 30%;
        padding: 0 2% 0 0;
        margin: 0 0 15px;
    }

    .appcatchinner02:nth-child(2) {
        content: "";
        clear: both;
        display: block;
    }

    .appcatchfloatwrap01 {
        width: 25%;
        float: left;
        font-size: 1.4rem;
    }

    .appcatchfloatwrap01:nth-child(2) {
        width: calc(100% - 25% - 15px);
        float: right;
        padding: 0 0 0 15px;
    }

    .appcatchicon01 {
        background: #e7364a;
        padding: 0 0.4vw 1.2vw;
    }

    .appcatchicon01 span {
        font-size: 3.2vw;
        font-weight: 600;
        line-height: 120%;
        color: #ffffff;
        text-align: center;
        padding: 1.2vw 0.5em 0.8vw;
    }

    .appcatchicon01 span.number01 {
        font-size: 4vw !important;
        font-weight: 700;
        font-family: "Poppins", sans-serif;
        background: transparent;
        padding: 0;
        vertical-align: -1px;
    }

    .appcatchicon02 {
        background: #e7364a;
        padding: 0 0.4vw 1.2vw;
        border-radius: 1.0666666666666667vw;
    }

    .appcatchicon02 span {
        font-size: 3.2vw;
        font-weight: 600;
        line-height: 120%;
        color: #ffffff;
        text-align: center;
        padding: 1.2vw 1.5em 0.8vw;
    }

    .appcatchicon02 span.number01 {
        font-size: 4vw !important;
        font-weight: 700;
        font-family: "Poppins", sans-serif;
        background: transparent;
        padding: 0;
        vertical-align: -1px;
    }

    .appcatchicon03 {
        background: #26b7bc;
        padding: 0 0.4vw 1.2vw;
        border-radius: 1.0666666666666667vw;
    }

    .appcatchicon03 span {
        font-size: 3.2vw;
        font-weight: 600;
        line-height: 120%;
        color: #ffffff;
        text-align: center;
        padding: 1.2vw 1.5em 0.8vw;
    }

    .appcatchicon03 span.number01 {
        font-size: 4vw !important;
        font-weight: 700;
        font-family: "Poppins", sans-serif;
        background: transparent;
        padding: 0;
        vertical-align: -1px;
    }

    .appcatch01 {
        line-height: 120%;
    }

    .appcatch02 {
        line-height: 100%;
    }

    .appcatch03 {
        width: 100%;
        display: table;
        padding: 0 0 2.666666666666667vw;
        font-size: 4vw;
        font-weight: 600;
    }

    .appattention01 {
        font-size: 2.666666666666667vw;
        font-weight: 500;
    }

    .appattention02 {
        font-size: 2.4vw;
    }

    .appattention03 {
        font-size: 2.4vw;
        line-height: 140%;
    }

    .appattention03 a:link {
        color: #000000 !important;
    }

    .appattention03 a:visited {
        color: #000000 !important;
    }

    .appattention03 a:active {
        color: #e7364a !important;
    }

    .appattention03 a:hover {
        color: #e7364a !important;
    }

    .appdlwrap01 {
        /*width: calc(30.4vw + 33.6vw + 2.666666666666667vw);*/
        width: calc(36.48vw + 40.32vw + 2.666666666666667vw);
        margin: 0 auto;
    }

    .appdlwrap01:after {
        content: "";
        clear: both;
        display: block;
    }

    .appdlinner01 {
    }

    .appdlinner01:nth-child(1) {
        /*width: 30.4vw;*/
        width: 36.48vw;
        padding: 0 20px 0 0;
        float: left;
    }

    .appdlinner01:nth-child(2) {
        /*width: 33.6vw;*/
        width: 40.32vw;
        float: right;
    }

    .appmainvisualinner01 .appdlinner01 a img {
        width: 100% !important;
    }

    /* アプリウォークについて */
    .appentrywrap01 {
        display: table;
        margin: 0 auto;
    }

    .appentryinner01 {
        display: table-cell;
        vertical-align: bottom;
        font-size: 3.4666666666666663vw;
        /* 750px基準でfont-size: 2.6rem; */
        line-height: 120%;
        padding: 0 0 0 15px;
    }

    .appentryinner01:nth-child(1) {
        width: 12vw;
        /* 750px基準でwidth: 90px; */
    }

    .apparrowwrap01 {
        width: 6.933333333333333vw;
        margin: 0 auto;
    }

    .apparrowwrap02 {
        width: 6.933333333333333vw;
        margin: 0 auto;
        padding: 0 0 2.666666666666667vw;
    }

    .appwalkdlwrap01 {
        width: 100%;
        display: block;
        padding: 4vw 0 0;
    }

    .appwalkdlinner01 {
        width: 100%;
        display: block;
        padding: 0 0 2vw;
        vertical-align: top;
    }

    .appwalkdlinner01:nth-child(2) {
        width: calc(100%);
        padding: 0;
    }

    .appwalkdlinner01:after {
        content: "";
        clear: both;
        display: block;
    }

    .appwalkdltitle01 {
        font-size: 3.2vw;
        font-weight: 900;
    }

    .appwalkdlqrwrap01 {
        width: 13.333333333333334vw;
        float: right;
        padding: 0 0 0 2.666666666666667vw;
    }

    .appwalkflowwrap01 {
        width: 100%;
        padding: 2.666666666666667vw 0 0;
        display: block;
        justify-content: center;
        align-items: center;
    }

    .appwalkflowwrap02 {
        width: 100%;
        padding: 0 0 2.666666666666667vw;
        display: block;
        justify-content: center;
        align-items: center;
    }

    .appwalkflowwrap02:last-child {
        padding: 0;
    }

    .appwalkflowwrap03 {
        width: 44.53333333333334vw;
        padding: 2.666666666666667vw 0 0;
        margin: 0 auto;
    }

    .appwalkflowwrap04 {
        width: 100%;
        padding: 0 0 2.666666666666667vw;
        display: block;
        justify-content: center;
        align-items: center;
    }

    .appwalkflowwrap04:last-child {
        padding: 0;
    }

    .appwalkflowwrap05 {
        width: 100%;
        padding: 2.666666666666667vw 0 0;
        display: block;
        justify-content: center;
        align-items: center;
    }

    .appwalkflowinner01 {
        padding: 0 0 2.666666666666667vw;
        text-align: center;
    }

    .appwalkflowinner01:nth-child(1n) img {
        width: 44.53333333333334vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner01:nth-child(2n) {
        flex-basis: 70px;
    }

    .appwalkflowinner01:nth-child(2n) img {
        width: 6.933333333333333vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner01:last-child {
        padding: 0;
    }

    .appwalkflowinner01 ul {
        display: block;
    }

    .appwalkflowinner01 ul li {
        display: block;
    }

    .appwalkflowinner01 ul li:nth-child(1) {
        padding: 0 0 0.6666666666666667vw;
    }

    .appwalkflowinner02 {
        flex-basis: 100%;
        padding: 0 0 2.666666666666667vw;
        text-align: center;
    }

    .appwalkflowinner02:nth-child(1n) img {
        width: 44.53333333333334vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner02:nth-child(2n) {
        flex-basis: 70px;
    }

    .appwalkflowinner02:nth-child(2n) img {
        width: 6.933333333333333vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner02:last-child {
        padding: 0;
    }

    .appwalkflowinner02 ul {
        display: block;
    }

    .appwalkflowinner02 ul li {
        display: block;
    }

    .appwalkflowinner02 ul li:nth-child(1) {
        padding: 0 0 0.6666666666666667vw;
    }

    .appwalkflowinner03 {
        flex-basis: 100%;
        padding: 0 0 2.666666666666667vw;
        text-align: center;
    }

    .appwalkflowinner03:nth-child(1n) img {
        width: 44.53333333333334vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner03:nth-child(2n) {
        flex-basis: 70px;
    }

    .appwalkflowinner03:nth-child(2n) img {
        width: 6.933333333333333vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner03 ul {
        display: block;
    }

    .appwalkflowinner03 ul li {
        display: block;
    }

    .appwalkflowinner03 ul li:nth-child(1) {
        padding: 0 0 0.6666666666666667vw;
    }

    .appwalkflowinner04 {
        flex-basis: 100%;
        padding: 0 0 2.666666666666667vw;
        text-align: center;
    }

    .appwalkflowinner04:nth-child(1n) img {
        width: 44.53333333333334vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner04:nth-child(2n) {
        flex-basis: 70px;
    }

    .appwalkflowinner04:nth-child(2n) img {
        width: 6.933333333333333vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner04 ul {
        display: block;
    }

    .appwalkflowinner04 ul li {
        display: block;
    }

    .appwalkflowinner04 ul li:nth-child(1) {
        padding: 0 0 0.6666666666666667vw;
    }

    .appwalkflowinner05 {
        flex-basis: 100%;
        padding: 0 0 2.666666666666667vw;
        text-align: center;
    }

    .appwalkflowinner05:nth-child(1n) img {
        width: 44.53333333333334vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner05:nth-child(2n) {
        flex-basis: 70px;
    }

    .appwalkflowinner05:nth-child(2n) img {
        width: 6.933333333333333vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner05 ul {
        display: block;
    }

    .appwalkflowinner05 ul li {
        display: block;
    }

    .appwalkflowinner05 ul li:nth-child(1) {
        padding: 0 0 0.6666666666666667vw;
    }

    .appwalkflowinner06 {
        flex-basis: 100%;
        padding: 0 0 2.666666666666667vw;
        text-align: center;
    }

    .appwalkflowinner06:nth-child(1n) img {
        width: 44.53333333333334vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner06:nth-child(2n) {
        flex-basis: 70px;
    }

    .appwalkflowinner06:nth-child(2n) img {
        width: 6.933333333333333vw !important;
        margin: 0 auto;
    }

    .appwalkflowinner06 ul {
        display: block;
    }

    .appwalkflowinner06 ul li {
        display: block;
    }

    .appwalkflowinner06 ul li:nth-child(1) {
        padding: 0 0 0.6666666666666667vw;
    }

    .appwalkflowcatch01 {
        font-size: 2.666666666666667vw;
        font-weight: 900;
        padding: 10px 0 0;
    }

    .appwalkflowattention01 {
        font-size: 1.35rem;
        line-height: 140%;
        color: #f8e100;
    }

    .appwalkflowattention01 a:link {
        color: #ffffff !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    .appwalkflowattention01 a:visited {
        color: #ffffff !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    .appwalkflowattention01 a:active {
        color: #f8e100 !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    .appwalkflowattention01 a:hover {
        color: #f8e100 !important;
        text-decoration: underline !important;
        transition: 1s;
    }

    .appwalkflowinner04:nth-child(1n) .appwalkicon01 img {
        display: inline-block;
        width: 5.333333333333334vw !important;
        padding: 0 5px 0 0;
        vertical-align: middle;
    }
}

/*---------------------------------
  ウォーキングイベントについてページ
---------------------------------*/
.walking-eventcourselinkwrap01 {
    width: 48%;
    float: left;
    position: relative;
}

.walking-eventcourselinkwrap01:nth-child(2) {
    float: right;
}

.walking-eventcourselinkwrap01 a {
    width: 32%;
    position: absolute;
    top: 35px;
    right: 25px;
}

.walking-eventcoursetitlewrap01 {
    width: 100%;
    padding: 0 0 30px;
}

.walking-eventdetailwrap01 {
    width: 100%;
    padding: 0 0 30px;
}

.walking-eventdetailwrap01:last-child {
    padding: 0;
}

.walking-eventdetailwrap02 {
    width: 100%;
    display: table;
    padding: 0 0 15px;
}

.walking-eventdetailwrap02:last-child {
    padding: 0;
}

.walking-eventdetailwrap03 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 0;
    padding: 0 0 15px;
}

.walking-eventdetailwrap03:last-child {
    padding: 0;
}

.walking-eventdetailwrap03:nth-child(2) {
    padding: 0 0 30px;
}

.walking-eventdetailinner01 {
    display: table-cell;
    width: 6em;
    vertical-align: top;
}

.walking-eventdetailinner01:nth-child(2) {
    width: calc(100% - 6em - 10px);
    padding: 0 0 0 15px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 120%;
}

.walking-eventdetailinner01 p {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    color: #ffffff;
    background: #e7364a;
    border-radius: 3px;
    padding: 0.2em;
    margin: 5px 0 0;
}

.walking-eventdetailinner02 {
    display: table-cell;
    width: calc(100% - 612px - 40px);
    padding: 0 40px 0 0;
    vertical-align: top;
}

.walking-eventdetailinner02:nth-child(2) {
    display: table-cell;
    width: 612px;
    padding: 0;
}

.walking-eventdetailinner03 {
    width: calc(100% / 3);
}

.walking-eventdetailinner03:nth-child(1) {
    width: 100%;
    margin: 0 0 0 -0.5em;
    font-size: 2rem;
    font-weight: 500;
    line-height: 120%;
}

.walking-eventdetailinner03 p {
    display: table-cell;
    padding: 0 0 0 0.5em;
    font-weight: 500;
}

.walking-eventdetailinner03 p:nth-child(1) {
    min-width: 8em;
    font-size: 1.4rem;
    text-align: center;
    color: #000000;
    background: #ffffff;
    border: 1.5px solid #e7364a;
    border-radius: 3px;
    padding: 0.2em;
}

.walking-eventattention01 {
    font-size: 1.6rem;
}

.walking-eventcapacitywrap01 {
    width: 100%;
    position: relative;
}

.walking-eventcapacitywrap02 {
    width: 20%;
    position: absolute;
    top: 0;
    right: 0;
}

ul.walking-eventdetail01 {
    display: block;
    line-height: 140%;
    font-weight: 500;
}

ul.walking-eventdetail01 li {
    display: block;
    padding: 0 0 20px;
}

ul.walking-eventdetail01 li.walking-eventcatch01 {
    font-size: 1.8rem;
}

ul.walking-eventdetail01 p {
    font-size: 1.4rem;
}

ul.walking-eventdetail01 p.fontlarge01 {
    font-size: 1.9rem;
    font-weight: 900;
    padding: 10px 0 0;
}

.walking-eventdetailtitle01 {
    font-size: 2rem;
    font-weight: 500;
    color: #e7364a;
    padding: 0 0 10px;
    line-height: 120%;
}

.walking-eventdetailimgwrap01 {
    display: block;
    padding: 0 0 15px;
}

.walking-eventdetailimgwrap01:last-child {
    padding: 0;
}

.walking-eventdetailimgwrap01:after {
    content: "";
    clear: both;
    display: block;
}

.walking-eventdetailimginner01 {
    width: 296px;
    float: left;
}

.walking-eventdetailimginner01:last-child {
    float: right;
}

.walking-eventdetailimginner02 {
    width: 356px;
    float: left;
}

.walking-eventdetailimginner02:last-child {
    width: 218px;
    float: right;
}

.walking-eventfinishedwrap01 {
    width: 90%;
    position: absolute;
    top: 80px;
    left: 50%;
    transform: translate(-50%, 0);
}

@media screen and (max-width: 767px) {
    .walking-eventcourselinkwrap01 {
        width: 100%;
        float: none;
        position: relative;
        padding: 0 2.666666666666667vw 4vw;
        /* 750px基準でpadding: 0 20px 30px; */
    }

    .walking-eventcourselinkwrap01:nth-child(2) {
        float: none;
        padding: 0 2.666666666666667vw;
    }

    .walking-eventcourselinkwrap01 a {
        width: 32%;
        position: absolute;
        top: 4.666666666666667vw;
        /* 750px基準でtop: 35px; */
        right: 3.3333333333333335vw;
        /* 750px基準でright: 25px; */
    }

    .walking-eventcoursetitlewrap01 {
        width: 100%;
        padding: 0 0 4vw;
    }

    .walking-eventdetailwrap01 {
        width: 100%;
        padding: 0 0 4vw;
    }

    .walking-eventdetailwrap01:last-child {
        padding: 0;
    }

    .walking-eventdetailwrap02 {
        width: 100%;
        display: table;
        padding: 0 2.666666666666667vw 4vw;
        position: relative;
    }

    .walking-eventdetailwrap02:last-child {
        padding: 0 2.666666666666667vw;
    }

    .walking-eventdetailwrap03 {
        width: 100%;
        display: block;
        flex-wrap: wrap;
        gap: 10px 0;
        padding: 0 2.666666666666667vw 15px;
    }

    .walking-eventdetailwrap03:last-child {
        padding: 0 2.666666666666667vw;
    }

    .walking-eventdetailwrap03:nth-child(2) {
        padding: 0 2.666666666666667vw 30px;
    }

    .walking-eventdetailinner01 {
        display: block;
        width: 8em;
        vertical-align: top;
    }

    .walking-eventdetailinner01:nth-child(2) {
        width: calc(100%);
        padding: 0;
        font-size: 4vw;
        font-weight: 500;
        line-height: 120%;
    }

    .walking-eventdetailinner01 p {
        font-size: 3.2vw;
        font-weight: 500;
        text-align: center;
        color: #ffffff;
        background: #e7364a;
        border-radius: 3px;
        padding: 0.2em;
        margin: 5px 0 0;
    }

    .walking-eventdetailinner02 {
        display: block;
        width: calc(100%);
        padding: 0;
        margin: 0 auto;
        vertical-align: top;
    }

    .walking-eventdetailinner02:nth-child(2) {
        display: block;
        width: 100%;
        padding: 0;
    }

    .walking-eventdetailinner03 {
        width: calc(100% / 1);
        padding: 0 0 5px;
    }

    .walking-eventdetailinner03:nth-child(1) {
        width: 100%;
        margin: 0 0 0 -0.5em;
        font-size: 2rem;
        font-weight: 500;
        line-height: 120%;
        padding: 0 0 10px;
    }

    .walking-eventdetailinner03 p {
        display: table-cell;
        padding: 0 0 0 0.5em;
        font-weight: 500;
    }

    .walking-eventdetailinner03 p:nth-child(1) {
        min-width: 8em;
        font-size: 1.4rem;
        text-align: center;
        color: #000000;
        background: #ffffff;
        border: 1.5px solid #e7364a;
        border-radius: 3px;
        padding: 0.2em;
    }

    .walking-eventattention01 {
        font-size: 1.6rem;
    }

    .walking-eventcapacitywrap01 {
        width: 100%;
        position: relative;
    }

    .walking-eventcapacitywrap02 {
        width: 50%;
        position: relative;
        top: 0;
        right: 0;
        padding: 0 2.666666666666667vw 15px;
    }

    ul.walking-eventdetail01 {
        display: block;
        line-height: 140%;
        font-weight: 500;
    }

    ul.walking-eventdetail01 li {
        display: block;
        padding: 0 0 2.666666666666667vw;
    }

    ul.walking-eventdetail01 li.walking-eventcatch01 {
        font-size: 2.933333333333333vw;
        /* 750px基準でfont-size: 22px; */
    }

    ul.walking-eventdetail01 p {
        font-size: 2.666666666666667vw;
        /* 750px基準でfont-size: 20px; */
    }

    ul.walking-eventdetail01 p.fontlarge01 {
        font-size: 2.933333333333333vw;
        /* 750px基準でfont-size: 22px; */
        font-weight: 900;
        padding: 5px 0 0;
    }

    .walking-eventdetailtitle01 {
        font-size: 3.4666666666666663vw;
        font-weight: 500;
        color: #e7364a;
        padding: 0 0 1.333333333333333vw;
        line-height: 120%;
    }

    .walking-eventdetailimgwrap01 {
        display: block;
        width: calc(100%);
        margin: 0 auto;
        padding: 0 0 2vw;
    }

    .walking-eventdetailimgwrap01:last-child {
        padding: 0;
    }

    .walking-eventdetailimgwrap01:after {
        content: "";
        clear: both;
        display: block;
    }

    .walking-eventdetailimginner01 {
        width: 100%;
        float: none;
    }

    .walking-eventdetailimginner01:last-child {
        float: none;
        padding: 20px 0 0;
    }

    .walking-eventdetailimginner02 {
        width: 100%;
        float: none;
    }

    .walking-eventdetailimginner02:last-child {
        width: 100%;
        float: none;
        padding: 20px 0 0;
    }

    .walking-eventfinishedwrap01 {
        width: 80%;
        position: absolute;
        top: 80px;
        left: 50%;
        transform: translate(-50%, 0);
    }
}

/*---------------------------------
  過去のコース一覧
---------------------------------*/
.past-courseslistwrap01 {
    display: block;
    margin: 0 0 20px;
    position: relative;
}

.past-courseslistwrap01:last-child {
    margin: 0;
}

.past-courseslistwrap01 a {
    display: block;
    width: 20%;
    position: absolute;
    bottom: 8%;
    right: 2.8%;
}
.course-cards {
	/* background-color: #FFF9ED; */
	padding: 50px 30px 0;
}
.course-cards > .inner {
	display: flex;
	flex-wrap: wrap;
	gap: 50px 30px;
	max-width: 981px;
	width: 100%;
	margin: auto;
}
.course-cards > .inner > .item {
	flex: 0 0 calc(33.3% - 20px);
}
.course-cards > .inner > .item.-c01 {
	background-color: #EE86A5;
}
.course-cards > .inner > .item.-c02 {
	background-color: #F6A953;
}
.course-cards > .inner > .item.-c03 {
	background-color: #D5CD61;
}
.course-cards > .inner > .item.-c04 {
	background-color: #A5D4AD;
}
.course-cards > .inner > .item.-c05 {
	background-color: #52C3F1;
}
.course-cards > .inner > .item.-c06 {
	background-color: #6D9CCA;
}
.course-cards > .inner > .item.-c07 {
	background-color: #F7B987;
}
.course-cards > .inner > .item.-c08 {
	background-color: #71C7CA;
}
.course-cards > .inner > .item.-c09 {
	background-color: #A8AAD1;
}
.course-cards > .inner > .item.-c10 {
	background-color: #A5D297;
}
.course-cards > .inner > .item.-c11 {
	background-color: #93B2CD;
}
.course-cards > .inner > .item.-c12 {
	background-color: #F3A07C;
}
.course-cards > .inner > .item.-c13 {
	background-color: #71C7CC;
}
.course-cards > .inner > .item.-c14 {
	background-color: #F4AAAC;
}
.course-cards > .inner > .item.-c15 {
	background-color: #A5D297;
}
.course-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 981px;
	margin: auto;
	padding: 30px 1em 0;
}
.course-card {
	border-radius: 1em;
	overflow: hidden;
	filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
}
.course-card .buttonunit-area {
	padding: 1em;
}

@media screen and (max-width: 767px) {
    .past-courseslistwrap01 {
        display: block;
        margin: 0 0 4vw;
        position: relative;
    }

    .past-courseslistwrap01:last-child {
        margin: 0;
    }

    .past-courseslistwrap01 a {
        display: block;
        width: 92%;
        position: absolute;
        bottom: 5%;
        left: 50%;
        right: auto;
        transform: translate(-50%, 0);
    }

.course-cards > .inner {
	gap: 20px;
}

		.course-cards > .inner > .item {
	flex: 0 0 100%;
}

.course-card .buttonunit-area {
	padding: 1em 2em;
}


}



/*---------------------------------
  各コースページ（共通）
---------------------------------*/
.illustcolumnwrap01 {
    width: 998px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
}

.illustcolumninner01 {
}

.illustcolumninner01:nth-child(1) {
    width: 192px;
    text-align: left;
    margin: 0 24px 20px 0;
}

.illustcolumninner01:nth-child(2) {
    width: calc(100% - 192px - 192px);
    padding: 0 50px;
    font-size: 1.5rem;
    line-height: 140%;
}

.illustcolumninner01:nth-child(3) {
    width: 192px;
    text-align: right;
    margin: 0 0 20px 24px;
}

.coursedetailwrap01 {
    width: 100%;
    display: flex;
}

.coursedetailwrap02 {
    width: 66%;
    display: flex;
    margin: 0 auto;
}

.coursedetailwrap03 {
    width: 66%;
    display: flex;
    margin: 0 auto;
}

.coursedetailwrap04 {
    width: 32%;
    display: flex;
    margin: 0 auto;
}

.coursedetailwrap05 {
    width: 32%;
    display: flex;
}

.coursedetailwrap06 {
    width: 66%;
    display: flex;
}

.coursedetailinner01 {
    padding: 0 2% 0 0;
    flex: 1;
}

.coursedetailinner01:last-child {
    padding: 0;
}

.coursedetailinner01 ul {
    width: 100%;
    display: block;
}

.coursedetailinner01 ul li {
    display: block;
    line-height: 140%;
    padding: 0 0 10px;
}

.coursedetailinner01 ul li:after {
    content: "";
    clear: both;
    display: block;
}

.coursedetailinner01 ul li:last-child {
    padding: 0 0 10px;
}

.coursedetailinner01 ul li p {
    display: block;
    line-height: 120%;
}

.coursedetailinner01 ul li p:nth-child(2) {
    font-size: 3rem;
    font-weight: 500;
    padding: 0 0 5px;
}

.coursedetailinner01-3column01 {
}

.coursedetailinner01-3column01:nth-child(1) {
    flex-basis: 46.6%;
}

.coursedetailinner01-3column01:nth-child(2) {
    flex-basis: 23.4%;
}

.coursedetailinner01-3column01:nth-child(3) {
    flex-basis: 26%;
}

.coursedetailinner01-2column {
    padding: 0 3% 0 0 !important;
}

.coursedetailinner01-2column:last-child {
    padding: 0 !important;
}

.coursedetailfontsmall01 {
    display: block;
    font-size: 2.2rem;
    line-height: 110% !important;
}

.coursedetailinnerspace01 {
    display: block;
    height: 56px;
}

.coursedetailinnerspace02 {
    display: block;
    height: 12.5px;
}

.coursedetailinnerspace03 {
    display: block;
    height: 25px;
}

.coursedetailinnerspace04 {
    display: block;
    height: 36px;
}

.coursedetailinnerspace05 {
    display: block;
    height: 60px;
}

.coursedetailinnerspace06 {
    display: block;
    height: 96px;
}

.elevatoricon {
    width: 115px !important;
    padding: 5px 0 0;
}

.coursedetailinner2columnwrap01 {
    width: 100%;
    display: table;
}

.coursedetailinner2columninner01 {
    width: calc(100% - 50% - 2%);
    display: table-cell;
    vertical-align: bottom;
}

.coursedetailinner2columninner01:nth-child(2) {
    width: 50%;
    padding: 0 0 0 2%;
}

.coursedetailinner2columninner02 {
    width: calc(100% - 30% - 2%);
    display: table-cell;
    vertical-align: bottom;
}

.coursedetailinner2columninner02:nth-child(2) {
    width: 30%;
    padding: 0 0 0 2%;
}

.coursedetailinner02 {
    padding: 0 2% 0 0;
    order: 1;
}

.coursedetailinner02:nth-child(2) {
    padding: 0;
    order: 2;
}

.coursedetailinner02:after {
    content: "";
    clear: both;
    display: block;
}

.coursedetailinner03 {
    flex-basis: 39.05%;
    padding: 0 3% 0 0;
}

.coursedetailinner03:nth-child(2) {
    flex-basis: 59.95%;
    padding: 0;
}

.coursedetailinner03 ul {
    width: 100%;
    display: block;
    padding: 0 0 17px;
}

.coursedetailinner03 ul:last-child {
    padding: 0;
}

.coursedetailinner03 ul li {
    display: block;
    line-height: 140%;
}

.coursedetailinner03 ul li:nth-child(1) {
    padding: 0 0 10px;
}

.coursedetailimgwrap01 {
    width: 48%;
    float: left;
}

.coursedetailimgwrap01:nth-child(2) {
    float: right;
}

.coursedetailinner02 ul {
    display: block;
}

.coursedetailinner02 ul li {
    display: block;
    line-height: 140%;
}

.coursedetailinner02 ul li:nth-child(1) {
    font-size: 4rem;
    font-weight: 600;
}

.coursedetailinner02 ul li:nth-child(2) {
    font-size: 2.4rem;
    font-weight: 600;
}

.coursedetailattention01 {
    text-align: center;
    line-height: 140%;
    padding: 40px 0 0;
}

/* 他のコース */
#othercoursewrap01 {
    width: 1100px;
    display: flex;
    margin: 0 auto;
    padding: 0 0 20px;
}

.othercourseinner01 {
    width: calc(100% - 180px / 4);
    margin: 0;
    padding: 0 30px;
    border-right: 2px solid #ffffff;
    flex: 1;
}

.othercourseinner01:nth-child(1) {
    padding: 0 35px 0 0;
}

.othercourseinner01:last-child {
    padding: 0 0 0 35px;
    border-right: 0 solid #ffffff;
}

.othercoursedetailinner01 {
    text-align: center;
    padding: 0 0 15px;
}

.othercoursedetailinner01 ul {
    width: 100%;
    display: block;
}

.othercoursedetailinner01 ul li {
    width: 100%;
    display: block;
    font-weight: 600;
}

.othercoursedetailinner02 {
    display: block;
}

.othercoursedetailimgwrap01 {
    display: block;
}

.othercoursedetailtextwrap01 {
    display: block;
    padding: 15px 0 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 140%;
}

.othercoursedetailbtnwrap01 {
    display: block;
    padding: 15px 0 0;
}

.othercoursedetailcourse01 {
    font-size: 1.8rem;
    font-weight: 900;
}

.othercoursedetailcoursename01 {
    font-size: 2.2rem;
    font-weight: 600;
}

#courseattentionwrap01 {
    width: 1100px;
    margin: 0 auto;
    padding: 40px 0;
    line-height: 140%;
}

#coursebtnwrap01 {
    width: 1100px;
    margin: 0 auto;
    padding: 0 0 20px;
}

.coursedetailbtnwrap01 {
    width: 1100px;
    margin: 0 auto;
    padding: 20px 0;
}

@media screen and (max-width: 767px) {
    .illustcolumnwrap01 {
        width: 98%;
        margin: 0 auto;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .illustcolumninner01 {
    }

    .illustcolumninner01:after {
        content: "";
        display: block;
        clear: both;
    }

    .illustcolumninner01:nth-child(1) {
        width: 50%;
        text-align: left;
        margin: 0;
        order: 2;
    }

    .illustcolumninner01:nth-child(1) img {
        width: 18.933333333333334vw !important;
        margin: 0 0 2vw 2vw;
    }

    .illustcolumninner01:nth-child(2) {
        width: 94%;
        padding: 0;
        font-size: 3.4666666666666663vw;
        line-height: 140%;
        order: 1;
        margin: 0 auto 2vw;
    }

    .illustcolumninner01:nth-child(3) {
        width: 50%;
        text-align: right;
        margin: 0;
        order: 3;
    }

    .illustcolumninner01:nth-child(3) img {
        width: 18.933333333333334vw !important;
        float: right;
        margin: 0 2vw 2vw 0;
    }

    .coursedetailwrap01 {
        width: 100%;
        display: flex;
        flex-flow: column;
    }

    .coursedetailwrap02 {
        width: 100%;
        display: flex;
        margin: 0 auto;
        flex-flow: column;
    }

    .coursedetailwrap03 {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }

    .coursedetailwrap04 {
        width: 100%;
        display: flex;
        margin: 0 auto;
        flex-flow: column;
    }

    .coursedetailwrap05 {
        width: 100%;
        display: flex;
    }

    .coursedetailwrap06 {
        width: 100%;
        display: flex;
        flex-flow: column;
    }

    .coursedetailinner01 {
        padding: 0 0 4vw 0;
        flex: 1;
    }

    .coursedetailinner01:last-child {
        padding: 0;
    }

    .coursedetailinner01 ul {
        width: 100%;
        display: block;
    }

    .coursedetailinner01 ul li {
        display: block;
        line-height: 140%;
        font-size: 1.375em;
    }

    .coursedetailinner01 ul li:after {
        content: "";
        clear: both;
        display: block;
    }

    .coursedetailinner01 ul li:nth-child(1) {
        padding: 0 0 2vw;
        font-size: 1em;
    }

    .coursedetailinner01 ul li p {
        display: block;
        line-height: 120%;
        text-align: center;
    }

    .coursedetailinner01 ul li p:nth-child(2) {
        font-size: 4.533333333333333vw;
        /* 750px基準でfont-size: 34px; */
        font-weight: 500;
        padding: 0 0 5px;
    }

    .coursedetailinner01 img {
        width: 90% !important;
        margin: 0 auto;
    }

    .coursedetailinner01-3column01 {
    }

    .coursedetailinner01-3column01:nth-child(1) {
        flex-basis: 100%;
    }

    .coursedetailinner01-3column01:nth-child(2) {
        flex-basis: 100%;
    }

    .coursedetailinner01-3column01:nth-child(3) {
        flex-basis: 100%;
    }

    .coursedetailinner01-2column {
        padding: 0 0 4vw 0 !important;
    }

    .coursedetailinner01-2column:last-child {
        padding: 0 !important;
    }

    .coursedetailfontsmall01 {
        display: block;
        font-size: 4vw;
        /* 750px基準でfont-size: 30px; */
        line-height: 110% !important;
    }

    .coursedetailinnerspace01 {
        display: block;
        height: 56px;
    }

    .coursedetailinnerspace02 {
        display: block;
        height: 12.5px;
    }

    .coursedetailinnerspace03 {
        display: block;
        height: 25px;
    }

    .coursedetailinnerspace04 {
        display: block;
        height: 36px;
    }

    .coursedetailinnerspace05 {
        display: block;
        height: 60px;
    }

    .coursedetailinnerspace06 {
        display: block;
        height: 96px;
    }

    .elevatoricon {
        width: 28.000000000000004vw;
        /* 750px基準でwidth: 210px; */
    }

    .coursedetailinner2columnwrap01 {
        width: 100%;
        display: block;
    }

    .coursedetailinner2columninner01 {
        width: 100%;
        display: block;
        vertical-align: bottom;
    }

    .coursedetailinner2columninner01:nth-child(2) {
        width: 100%;
        padding: 10px 0 0;
    }

    .coursedetailinner2columninner02 {
        width: 100%;
        display: block;
        vertical-align: bottom;
    }

    .coursedetailinner2columninner02:nth-child(2) {
        width: 100%;
        padding: 10px 0 0;
    }

    .coursedetailinner02 {
        padding: 0;
        order: 2;
    }

    .coursedetailinner02:nth-child(2) {
        padding: 0 0 2vw;
        order: 1;
    }

    .coursedetailinner02:after {
        content: "";
        clear: both;
        display: block;
    }

    .coursedetailinner03 {
        flex-basis: 58%;
        padding: 0 3% 2.666666666666667vw 0;
        margin: 0 auto;
    }

    .coursedetailinner03:nth-child(2) {
        flex-basis: 100%;
        padding: 0;
        order: 2;
    }

    .coursedetailinner03 ul {
        width: 100%;
        display: block;
        padding: 0 0 2.666666666666667vw;
    }

    .coursedetailinner03 ul:last-child {
        padding: 0;
    }

    .coursedetailinner03 ul li {
        display: block;
        line-height: 140%;
    }

    .coursedetailinner03 ul li:nth-child(1) {
        padding: 0 0 10px;
    }

    .coursedetailimgwrap01 {
        width: 100%;
        float: none;
        padding: 0 0 2vw;
    }

    .coursedetailimgwrap01:nth-child(2) {
        float: none;
        padding: 0;
    }

    .coursedetailinner02 ul {
        display: block;
    }

    .coursedetailinner02 ul li {
        display: block;
        line-height: 140%;
    }

    .coursedetailinner02 ul li:nth-child(1) {
        font-size: 4.8vw;
        font-weight: 600;
        text-align: center;
    }

    .coursedetailinner02 ul li:nth-child(2) {
        font-size: 4vw;
        font-weight: 600;
        text-align: center;
        padding: 0 0 1.3333333333333335vw;
    }

    .coursedetailattention01 {
        text-align: left;
        line-height: 140%;
        padding: 2.666666666666667vw 0 0;
    }

    /* 他のコース */
    #othercoursewrap01 {
        width: 100%;
        display: flex;
        flex-flow: column;
        margin: 0 0 2vw;
        padding: 0 2.666666666666667vw;
    }

    .othercourseinner01 {
        width: 100%;
        margin: 0 0 4vw;
        padding: 0 0 4vw;
        border-right: none;
        border-bottom: 2px solid #ffffff;
        flex: 1;
    }

    .othercourseinner01:nth-child(1) {
        padding: 0 0 4vw 0;
    }

    .othercourseinner01:last-child {
        padding: 0;
        border-right: none;
        border-bottom: none;
        margin: 0;
    }

    .othercoursedetailinner01 {
        text-align: left;
        padding: 0 0 2vw;
    }

    .othercoursedetailinner01 ul {
        width: 100%;
        display: block;
    }

    .othercoursedetailinner01 ul li {
        width: 100%;
        display: block;
        font-weight: 600;
    }

    .othercoursedetailinner02 {
        display: flex;
    }

    .othercoursedetailimgwrap01 {
        display: block;
        order: 2;
        width: calc(100% - 62vw);
    }

    .othercoursedetailtextwrap01 {
        display: block;
        padding: 0 2vw 0 0;
        font-size: 2.666666666666667vw;
        font-weight: 500;
        line-height: 140%;
        order: 1;
        width: 60vw;
    }

    .othercoursedetailbtnwrap01 {
        display: block;
        width: 25.333333333333336vw;
        padding: 2vw 0 0;
    }

    .othercoursedetailcourse01 {
        font-size: 2.666666666666667vw;
        font-weight: 900;
    }

    .othercoursedetailcoursename01 {
        font-size: 5.333333333333334vw;
        font-weight: 600;
    }

    #courseattentionwrap01 {
        width: 100%;
        margin: 0 auto;
        padding: 2.666666666666667vw;
        line-height: 140%;
    }

    #coursebtnwrap01 {
        width: 100%;
        margin: 0 auto;
        padding: 0 2.666666666666667vw 2.666666666666667vw;
    }

    .coursedetailbtnwrap01 {
        width: 100%;
        margin: 0 auto;
        padding: 2.666666666666667vw 2.666666666666667vw;
    }
}

/*---------------------------------
  よくある質問ページ
---------------------------------*/
.faqwrap01 {
    display: block;
}

.name {
    position: relative;
    cursor: pointer;
}

.name p.icon {
    position: absolute;
    right: 15px;
    top: 47%;
    width: 28px;
    height: auto;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.name p.icon .arrowwrap {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.name p.icon .arrowwrap .arrow img {
    width: 100%;
    transition: all 0.2s ease-in-out;
    /* 要素の動きを指定 */
    display: block;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    /* transform: rotateで要素の角度を指定 */
    transform-origin: center center;
}

.name.open p.icon .arrowwrap .arrow img {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    top: 40%;
    /*  .openクラスがついた時の要素の角度を指定 */
    transform-origin: center center;
}

.faqtitle01 {
    display: block;
    background: #e7364a;
    margin: 0 0 20px;
    padding: 3px 3px 9px;
    border-radius: 8px;
}

.faqtitle01 span {
    display: block;
    font-size: 2rem;
    font-weight: 600;
    line-height: 160%;
    color: #e7364a;
    background: #ffffff;
    padding: 9px 0.5em;
    border-radius: 6px;
}

.detail {
    display: block;
    width: 98%;
    margin: 0 auto;
    padding: 0 0 50px;
}

.faqdetailwrap01 {
    display: block;
    padding: 0 0 30px;
    line-height: 160%;
}

.faqdetailwrap01:last-child {
    padding: 0;
}

.faqdetailwrap01 a:link {
    color: #0d6fbc !important;
    text-decoration: underline !important;
}

.faqdetailwrap01 a:visited {
    color: #0d6fbc !important;
    text-decoration: underline !important;
}

.faqdetailwrap01 a:hover {
    color: #e7364a !important;
    text-decoration: underline !important;
}

.faqdetailwrap01 a:active {
    color: #e7364a !important;
    text-decoration: underline !important;
}

ul.q {
    width: 100%;
    display: table;
    padding: 0 0 10px;
}

ul.q li {
    width: auto;
    display: table-cell;
    vertical-align: top;
}

ul.q li:nth-child(1) {
    width: 20px;
}

ul.q li:nth-child(2) {
    padding: 3px 0 0 10px;
}

ul.a {
    width: 100%;
    display: table;
}

ul.a li {
    width: auto;
    display: table-cell;
    vertical-align: top;
}

ul.a li:nth-child(1) {
    width: 50px;
}

ul.a li:nth-child(2) {
    padding: 13px 0 0 10px;
}

@media screen and (max-width: 767px) {
    .faqwrap01 {
        display: block;
    }

    .name {
        position: relative;
        cursor: pointer;
    }

    .name p.icon {
        position: absolute;
        right: 15px;
        top: 47%;
        width: 4vw;
        height: auto;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }

    .name p.icon .arrowwrap {
        width: 100%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .name p.icon .arrowwrap .arrow img {
        width: 100%;
        transition: all 0.2s ease-in-out;
        /* 要素の動きを指定 */
        display: block;
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        /* transform: rotateで要素の角度を指定 */
        transform-origin: center center;
    }

    .name.open p.icon .arrowwrap .arrow img {
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
        top: 40%;
        /*  .openクラスがついた時の要素の角度を指定 */
        transform-origin: center center;
    }

    .faqtitle01 {
        display: block;
        background: #e7364a;
        margin: 0 0 2.666666666666667vw;
        padding: 0.4vw 0.4vw 1.2vw;
        border-radius: 1.0666666666666667vw;
    }

    .faqtitle01 span {
        display: block;
        font-size: 3.2vw;
        font-weight: 600;
        line-height: 160%;
        color: #e7364a;
        background: #ffffff;
        padding: 1.2vw 0.5em 0.8vw;
        border-radius: 0.8vw;
    }

    .detail {
        display: block;
        width: 98%;
        margin: 0 auto;
        padding: 0 0 4vw;
    }

    .faqdetailwrap01 {
        display: block;
        padding: 0 0 4vw;
        line-height: 160%;
    }

    .faqdetailwrap01:last-child {
        padding: 0;
    }

    .faqdetailwrap01 a:link {
        color: #0d6fbc !important;
        text-decoration: underline !important;
    }

    .faqdetailwrap01 a:visited {
        color: #0d6fbc !important;
        text-decoration: underline !important;
    }

    .faqdetailwrap01 a:hover {
        color: #e7364a !important;
        text-decoration: underline !important;
    }

    .faqdetailwrap01 a:active {
        color: #e7364a !important;
        text-decoration: underline !important;
    }

    ul.q {
        width: 100%;
        display: table;
        padding: 0 0 10px;
    }

    ul.q li {
        width: auto;
        display: table-cell;
        vertical-align: top;
    }

    ul.q li:nth-child(1) {
        width: 20px;
        /* 750px基準でwidth: 20px; */
    }

    ul.q li:nth-child(2) {
        padding: 3px 0 0 10px;
    }

    ul.a {
        width: 100%;
        display: table;
    }

    ul.a li {
        width: auto;
        display: table-cell;
        vertical-align: top;
    }

    ul.a li:nth-child(1) {
        width: 6.666666666666667vw;
        /* 750px基準でwidth: 50px; */
    }

    ul.a li:nth-child(2) {
        padding: 8px 0 0 10px;
    }
}

/*---------------------------------
  2024追加
---------------------------------*/

@media screen and (max-width: 767px) {
    /*共通パーツ*/

    .link-btn-area {
        width: 100%;
        max-width: 480px;
        margin: 0 auto 0;
    }

    .link-btn {
        width: 100%;
        margin: 0;
        padding: 12px 12px;
        line-height: 1.5em;
        color: #ffffff;
        border-radius: 24px;
        background-color: #d93949;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .link-btn.nolink {
        background-color: #333333;
    }

    .link-btn-area a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .link-btn-tit {
        width: calc(100% - 16px);
        padding: 0 0 0 16px;
        font-size: 4.2vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
    }

/*
    .link-btn {
        width: 100%;
        margin: 0;
        padding: 4vw;
        line-height: 1.5em;
        color: #ffffff;
        border-radius: 100px;
        background-color: #E85093;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
				z-index: 1;
    }
    .link-btn-tit {
        width: calc(100% - 16px);
        padding: 0 0 0 16px;
        font-size: 5vw;
        font-weight: bold;
        color: #ffffff;
        text-align: center;
    }
 */

    .arrow-icon {
			width: 6vw;
			height: 6vw;
			background-image: url(../img/arrow_right.svg);
			background-size: contain;
			background-repeat: no-repeat;
			background-position: center;
    }

    .triangle-icon {
        background: #ffffff;
        height: calc(tan(60deg) * 16px / 2);
        width: 12px;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
    }

    a.anchor {
        display: block;
        padding-top: 70px;
        margin-top: -70px;
    }

    /*トップ*/

    .topabouttitlewrap01-2024 {
        width: 100%;
    }

    .topabout-title {
        width: 100%;
        margin: 0 0 0.75em;
        padding: 0.5em 1em;
        font-size: 4.6vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }

    .topabouttitlewrap01-2024 {
        width: 100%;
    }

    .topaboutcopy-wrap01 {
        width: 100%;
        margin-top: -9vw;
    }

    .topabout-copy01 {
        width: 100%;
        padding: 0.5em 0 0.5em;
        font-size: 5vw;
        font-weight: 800;
        line-height: 1.5em;
        text-align: center;
        color: #E85093;
        /*color: #3e6a9c;*/
    }

    .topabout-copy02 {
        margin: 0.5em 0 0;
        font-size: 4vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        text-align: left;
    }

		.topabout-copy03 {
        margin: 1em 0 0;
        font-size: 3vw;
        color: #333333;
        line-height: 1.675em;
        text-align: left;
    }

		.topblock-con {
			padding: 2em;
    }

		.topblock-con > * + * {
			margin-top: 2em;
    }

    .topblocktitle-wrap01 {
        width: 100%;
    }

    .topblocktitle-maintitle {
        width: 100%;
        padding: 0.75rem 1rem 0.75rem;
        font-size: 6vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #007CBF;
    }

    .topblockinner01 {
        display: block;
        padding: 2.5vw 5.333333333333334vw 5vw;
        background-color: #ffffff;
    }

    .tophowtojoin-con {
        width: 100%;
    }

    .tophowtojoin-text {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }

    .tophowtojoin-image-wrap01 {
        margin: -2.5vw -5.333333333333334vw 1em;
    }

    .tophowtojoin-image {
        width: 100%;
    }

    .dlapp-btn-area {
			width: 100%;
			margin: 2rem auto 1rem;
			text-align: center;
    }

    .dlapp-btn-area.-top {
			margin-top: 0;
    }

    .dlapp-title {
        margin: 0 auto 1rem;
        font-size: 4vw;
        font-weight: 600;
        text-align: center;
    }

    .dlapp-btn-con {
        width: 100%;
        margin: 0 auto 0;
        display: flex;
    }

    .dlapp-btn01 {
        width: calc(100% * (827 / 1849));
        padding-right: 2vw;
    }

    .dlapp-btn02 {
        width: calc(100% * (1022 / 1849));
        padding-left: 2vw;
    }

    .tophowtojoin-caution {
        padding-left: 1em;
        text-indent: -1em;
        font-size: 3.6vw;
        /*color: #333333;*/
        color: #000;
        line-height: 1.5em;
    }

    .tophowtojoin-caution a:hover {
        /*color: #333333 !important;*/
        color: #ff0000 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .tophowtojoin-caution a:link {
        /*color: #333333 !important;*/
        color: #000 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .tophowtojoin-caution a:visited {
        /*color: #333333 !important;*/
        color: #ff0000 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-con {
        width: 100%;
        padding: 0.5rem 0 0;
        max-height: 50vh;
        overflow-y: scroll;
    }

    .topnews-box {
        width: 100%;
        margin: 0 0 1em;
        padding: 0 0 0.75em;
        border-bottom: 2px dotted #666666;
    }

    .topnews-date {
        margin-top: 0.375em;
        font-size: 3.6vw;
        color: #333333;
        line-height: 1.5em;
    }

    .topnews-title {
        margin-bottom: 1em;
        font-size: 4vw;
        font-weight: 600;
        color: #333333;
        line-height: 1.675em;
    }

    .topnews-text,
    .topnews-text02 {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }

    .topnews-text a:link {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-text a:visited {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-text02 a:link {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-text02 a:visited {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    #topinstagramwrap01 {
        width: 100%;
        padding: 2rem 4vw 2rem;
    }

    .topblock-con03 {
        width: 100%;
        margin: 0 auto 0;
    }

    .youtube-area {
        width: 92%;
        margin: 0 auto 0;
        padding: 0 0 2rem;
    }

    .youtube-area iframe {
        width: 100%;
        aspect-ratio: 16 / 9;
    }

    .topblock-con01 {
				border-radius: 1em;
				overflow: hidden;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
			}

		.topblock-con02 {
				border-radius: 1em;
				overflow: hidden;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
    }

    .top-contents-con {
        width: 100%;
        /* margin: 0 auto 3rem; */
        background-color: #fff;
				border-radius: 1em;
				overflow: hidden;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
    }
    .top-contents-con.-top .courseinner {
			padding: 2em;
			font-size: 4vw;
			line-height: 1.5;
		}
    .top-contents-con.-top .buttonunit-area {
			max-width: 400px;
			margin: auto;
			margin-top: 2em;
		}


    .course-menu-area {
        display: flex;
    }


    .top-contents-copy-con {
        width: 100%;
        margin: -2rem 0 2rem;
        padding: 0.25rem 0 0.25rem;
        background-color: #ffffff;
    }

    .top-campaign-copy-con {
        width: 100%;
        margin: 1em auto 1em;
        padding: 0 5.333333333333334vw 0;
    }

    .top-campaign-copy01 {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }

    .top-campaign-inner02 {
        width: 100%;
        margin: 1em 0 0;
    }

    .top-campaign-inner02-left {
        width: 100%;
        margin-bottom: 1em;
    }

    .top-campaign-title01 {
        display: inline-block;
        padding: 0.25em 1em 0.375em;
        font-size: 3.6vw;
        font-weight: 600;
        color: #ffffff;
        line-height: 1.675em;
        background-color: #333333;
    }

    .top-campaign-copy02 {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
        padding-left: 1em;
        text-indent: -1em;
    }

    .top-campaign-copy02 a:link {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .top-campaign-copy02 a:visited {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .top-campaign-title-area {
        width: 100%;
        /*margin-top: 1rem;*/
        padding-bottom: 0.5em;
        text-align: center;
        border-bottom: 2px solid #ffffff;
    }

    .top-campaign-title02 {
        display: inline-block;
        font-weight: 700;
        line-height: 1.25em;
        color: #ffffff;
        text-align: left;
    }

    .top-campaign-title02 {
        font-size: 5vw;
    }

    .top-campaign-title02 span {
        font-size: 4.2vw;
    }

    .top-campaign-detail-line01 {
        width: 100%;
        margin-top: 1.5em;
    }

    .top-campaign-title03 {
        width: 100%;
        margin-bottom: 0.5em;
        padding-bottom: 0.25em;
        font-weight: 600;
        line-height: 1.5em;
        color: #ffffff;
        text-align: left;
        border-bottom: 2px dotted #ffffff;
    }

    .top-campaign-title03 {
        font-size: 4.2vw;
    }

    .top-campaign-title03 span {
        font-size: 3.6vw;
    }

    .top-campaign-copy03 {
        font-size: 4vw;
        /*font-weight: 600;*/
        color: #ffffff;
        line-height: 1.675em;
    }

    .top-campaign-copy03 a:link {
        color: #ffffff !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .top-campaign-copy03 a:visited {
        color: #ffffff !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    /*コース*/

    .course-main-copy-area {
        width: 100%;
        padding: 0 4vw 0;
    }

    .course-main-copy01 {
        width: 100%;
        padding: 0 0 0.75em;
        font-size: 4.2vw;
        font-weight: 500;
        line-height: 1.675em;
        color: #333333;
        text-align: center;
    }

    .course-history-menu-area {
        width: 100%;
        padding: 0 4vw 4vw;
    }

    .coursedetailinner01 li a:link {
        color: #333333 !important;
    }

    .coursedetailinner01 li a:visited {
        color: #333333 !important;
    }

    .coursedetailinner01 li a:hover {
        text-decoration-line: underline !important;
    }

    /*アプリについて*/

    #appmainvisualwrap01-2024 {
        width: 92%;
        margin: 0 auto;
        display: table;
        padding: 5vw 0 5.066666666666666vw;
        /* 750px基準でpadding: 0 0 30px; */
    }

    #appmainvisualcopywrap01 {
        width: 100%;
    }

    .appmainvisualcopy01 {
        margin-bottom: 1em;
        padding: 0 1em;
        font-size: 5vw;
        font-weight: 800;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .appmainvisualcopy01 span {
        color: #e7364a;
    }

    .appmainvisualimage01 {
        width: 20%;
        margin: 0 auto;
    }

    .appmainvisualcopy02 {
        margin: 1em 0;
        font-size: 4vw;
        font-weight: 600;
        text-align: center;
    }

    .apptitlewrap01-2024 {
        padding: 0 0 2.666666666666667vw;
        font-size: 6vw;
        font-weight: 600;
        line-height: 1.5em;
        text-align: center;
    }

    .appdetailcopy01 {
        font-size: 4vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
    }

    .appdetailwrap01 {
        width: 100%;
        margin-bottom: 5vw;
        padding: 0 0 5vw;
        background-color: #ffffff;
    }

    .appdetailinner-con {
    }

    .appdetailinner01 {
        display: block;
        padding: 2.666666666666667vw 5.333333333333334vw;
    }

    .appdetailinner01:after {
        content: "";
        clear: both;
        display: block;
    }

    .appdetail-con {
        width: 100%;
        margin: 0 auto 0;
        padding: 0 0 1.5rem;
        display: flex;
        flex-direction: column;
        border-bottom: 4px solid #af435a;
    }

    .appdetail-line01 {
        width: 100%;
        padding-bottom: 0.5rem;
        border-bottom: 2px dotted #af435a;
    }

    .appdetail-number {
        display: inline-block;
        padding: 0.25rem 1rem 0.5rem;
        font-size: 3.2vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #00A0E9;
				border-radius: 0.5em;
    }
    .appdetail-number.-mokuhyo {
			background-color: #EF845D;
    }

    .appdetail-number span {
        padding-left: 0.25em;
        font-size: 4.8vw;
        font-weight: 700;
    }

    .appdetail-title {
        margin: 0.75rem 0 0;
        font-size: 5vw;
        font-weight: 600;
        /*color: #af435a;*/
        color: #333333;
        line-height: 1.5em;
    }

    .appdetail-line02 {
        width: 100%;
        margin: 1rem 0 0;
    }

    .appdetail-text {
        /*font-size: 3.6vw;*/
        font-size: 4vw;
        color: #333333;
        line-height: 1.5em;
    }

    .appdetail-text a:hover {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .appdetail-text a:link {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .appdetail-text a:visited {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .appdetail-line03 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
    }

    .appdetail-image {
        width: 40%;
        margin: 0 auto 0;
    }

    .appdetail-image02 {
        width: 100%;
        margin: 0 auto 0;
    }

    .link-btn-area03 {
        width: 100%;
        max-width: 480px;
        margin: 2.666666666666667vw auto 0;
    }

    .link-btn-area03 a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .appdetail-setting-con {
        width: 100%;
        margin: 1em 0 0;
    }

    .appdetail-setting-con:first-child {
        margin: 0;
    }

    .appdetail-setting-inner01 {
        display: flex;
        align-items: center;
    }

    .appdetail-setting-number {
        font-size: 4.5vw;
        margin-right: 0.5em;
    }

    .appdetail-setting-title {
        font-size: 4.2vw;
        font-weight: 500;
    }

    .appdetail-setting-inner02 {
        margin: 0.25em 0 0 1em;
    }

    .appdetail-setting-text {
        font-size: 4vw;
        color: #333333;
        line-height: 1.5em;
        padding-left: 1em;
        text-indent: -1em;
    }

    /*.appdetailbtnwrap01 {
        width: 90%;
        margin: 2rem auto 2rem;
    }*/

    /*アプリの使い方*/

    .dlapp-btn-area02 {
        width: 100%;
        margin: 1.5rem auto 1rem;
        padding: 0 5.333333333333334vw 0;
        text-align: center;
    }

    .dlapp-btn-area03 {
        width: 100%;
        margin: 1.5rem auto 1rem;
        padding: 0;
        text-align: center;
    }

    .apphowtowrap01 {
        width: 100%;
        margin-bottom: 5vw;
        /*padding: 5vw 0;*/
        background-color: #ffffff;
    }

    /*.apphowtojoinwrap01 {
        width: 100%;
    }

    .apphowtoinner01:after {
        content: "";
        clear: both;
        display: block;
    }

    .apphowtojoin-maintitle {
        width: 100%;
        padding: 0.75rem 1rem 0.75rem;
        font-size: 6vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    .apphowtojoin-text {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }*/

    .apphowtousewrap01 {
        width: 100%;
        margin-bottom: 1rem;
    }

    .apphowtouse-maintitle {
        width: 100%;
        padding: 0.75rem 1rem 0.75rem;
        font-size: 6vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    .apphowtoinner-con {
        padding-bottom: 2rem;
    }

    .apphowtoinner01 {
        display: block;
        padding: 2.666666666666667vw 5.333333333333334vw;
    }

    .apphowtouse-con {
        width: 100%;
        margin: 0 auto 0;
        padding: 0 0 1.5rem;
        display: flex;
        flex-direction: column;
        border-bottom: 4px solid #af435a;
    }

    .apphowtouse-line01 {
        width: 100%;
        padding-bottom: 0.5rem;
        border-bottom: 2px dotted #af435a;
    }

    .apphowtouse-number {
        display: inline-block;
        padding: 0.25rem 1rem 0.5rem;
        font-size: 3.2vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    .apphowtouse-number span {
        padding-left: 0.25em;
        font-size: 4.8vw;
        font-weight: 700;
    }

    .apphowtouse-title {
        margin: 0.75rem 0 0;
        font-size: 5vw;
        font-weight: 600;
        /*color: #af435a;*/
        color: #333333;
        line-height: 1.5em;
    }

    .apphowtouse-line02 {
        width: 100%;
        margin: 1rem 0 0;
    }

    .apphowtouse-text {
        /*font-size: 3.6vw;*/
        font-size: 4vw;
        color: #333333;
        line-height: 1.5em;
    }

    .apphowtouse-line03 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
    }

    .apphowtouse-image {
        width: 40%;
        margin: 0 auto 0;
    }

    .apphowtouse-image-wide {
        width: 100%;
        margin: 0 auto 0;
    }

    .apphowtouse-line04 {
        width: 100%;
        margin: 1rem auto 0;
    }

    .apphowtouse-present-con {
        width: 100%;
        margin: 2rem auto 0;
        text-align: center;
    }

    .apphowtouse-present-month {
        width: 80%;
        margin: 0 auto 0;
        padding: 0.5rem 2rem 0.75rem;
        font-size: 5vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    .bg-present01 {
        background-color: #9070af;
    }

    .bg-present02 {
        background-color: #e9546b;
    }

    .bg-present03 {
        background-color: #00afec;
				color: #fff;
				padding: 1em;
				text-align: center;
				font-weight: bold;
				border-radius: 1em 1em 0 0;
    }

    .apphowtouse-present-image {
        width: 70%;
        margin: 1rem auto 1rem;
    }

    .apphowtouse-present-text {
        font-size: 5vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .apphowtouse-present-text span {
        font-size: 4vw;
    }

    /*ウォーキングイベント*/

    .event-main-copy-con {
        width: 100%;
        margin: 1em auto 1em;
        padding: 0 2vw;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .event-main-copy02 {
        margin-left: 0.5em;
        padding: 0.75em 0 0;
        font-size: 4vw;
        font-weight: 800;
        width: 4em;
        height: 4em;
        line-height: 1.25em;
        background-color: #f8e530;
        border-radius: 50%;
        text-align: center;
    }

    .event-main-copy01 {
        padding-left: 1em;
        font-size: 5vw;
        font-weight: 800;
        color: #333333;
        line-height: 1.5em;
    }

    .event-main-copy01 span {
        color: #e7364a;
    }

    .event-main-present-con {
        width: 100%;
        margin: 1em auto 2rem;
        padding: 0 4vw 0;
    }

    .event-main-image01 {
        width: 55%;
        margin: 0 auto 1rem;
    }

    .event-main-copy03 {
        width: 100%;
        padding: 0.5em 1em 0.5em;
        font-size: 3.6vw;
        font-weight: 600;
        color: #ffffff;
        line-height: 1.5em;
        text-align: center;
        background-color: #e7364a;
        /*background-color: #af435a;*/
        /*border: 3px solid #af435a;*/
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    .event-date-menu-area {
        width: 100%;
        padding: 0 4vw 4vw;
    }

    .event-date-menu01-con,
    .event-date-menu02-con {
        width: 100%;
        padding: 0.5em 1em 1em;
        display: flex;
        flex-direction: column;
        /*justify-content: center;*/
    }

    .event-date-menu01-con {
        margin-bottom: 1rem;
        background-color: #e5006e;
				text-decoration: none !important;
    }

    .event-date-menu02-con {
        background-color: #69bd83;
				text-decoration: none !important;
    }

    .event-date-menu01-inner,
    .event-date-menu02-inner {
        margin: 0 auto 0;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        /* color: #ffffff; */
    }

    .event-guest-name {
        margin: 0.75em 0 0.25em;
        font-size: 3.2vw;
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
    }

    .event-guest-name span {
        font-size: 4vw;
    }

    .event-date-term {
        margin: 0.75em 0 0.25em;
        font-size: 4vw;
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
        border: 2px solid #ffffff;
    }

    .event-date-menu01-con .link-btn-area,
    .event-date-menu02-con .link-btn-area {
        width: 80%;
        max-width: 480px;
        margin: 1rem auto 0;
    }

    .event-date-menu01-con .link-btn,
    .event-date-menu02-con .link-btn {
        background-color: #ffffff;
    }

    .event-date-menu01-con .link-btn-tit {
        color: #e5006e;
    }

    .event-date-menu02-con .link-btn-tit {
        color: #69bd83;
    }

    .event-date-menu01-con .triangle-icon {
        background: #e5006e;
    }

    .event-date-menu02-con .triangle-icon {
        background: #69bd83;
    }

    .eventdetailrap01 {
        width: 100%;
        margin-bottom: 5vw;
        background-color: #ffffff;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
    }

    .event01-main-area {
        width: 100%;
        padding: 1rem 5.333333333333334vw 1.5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    #event2024-01 .event01-main-area {
        background-color: #e5006e;
    }

    #event2024-02 .event01-main-area {
        background-color: #69bd83;
    }

    .event-date01-con {
        margin: 0 auto 0;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        color: #ffffff;
    }

    .event-date01-line01 {
        display: inline-block;
    }

    .event-date01-line02 {
        margin: 0 auto 0;
        display: flex;
        justify-content: center;
        align-items: center;
				gap: 0.25em;
    }

    .event-date-year {
        margin-bottom: -0.5em;
        font-size: 5vw;
        font-weight: 600;
    }

    .event-date-day01 {
				position: relative;
        margin-bottom: 0.25em;
        font-size: 10vw;
        font-weight: 700;
        line-height: 1.5em;
				-webkit-text-stroke: 8px #fff;
				text-stroke: 8px #fff; /* 一部ブラウザ用 */
    }

		.event-date-day01::after {
				content: attr(data-text);
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				color: #000; /* 白文字 */
				-webkit-text-stroke: 0;
				text-stroke: 0; /* 一部ブラウザ用 */
		}

    .event-date-day02 {
				position: relative;
        margin-bottom: 0.3125em;
        /* padding: 0 0.125em; */
        font-size: 8vw;
        font-weight: 800;
        line-height: 1.5em;
				-webkit-text-stroke: 8px #fff;
				text-stroke: 8px #fff; /* 一部ブラウザ用 */
    }

		.event-date-day02::after {
				content: attr(data-text);
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				color: #000; /* 白文字 */
				-webkit-text-stroke: 0;
				text-stroke: 0; /* 一部ブラウザ用 */
		}

    .event-date-day03 {
        margin-left: 0.5em;
        font-size: 3.2vw;
        font-weight: 800;
        width: 2em;
        height: 2em;
        line-height: 2em;
        background-color: #ffffff;
        border-radius: 50%;
        text-align: center;
				transform: translateX(-.25em);
    }

    .event-date-menu01-con .event-date-day03,
    #event2024-01 .event-date-day03 {
        color: #000;
    }

    .event-date-menu02-con .event-date-day03,
    #event2024-02 .event-date-day03 {
        color: #000;
    }

    .event-date-day04 {
        margin-left: 0.5em;
        margin-bottom: 0.25em;
        font-size: 8vw;
        font-weight: 700;
        line-height: 1.5em;
    }

    .event-course01-con {
        width: 100%;
        margin-top: -0.75rem;
        border-top: 2px solid #ffffff;
    }

    .event-course-name {
        font-size: 6vw;
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
    }

    .event-course-name span {
        font-size: 5vw;
    }

    .event-course-distance {
        width: 40%;
        margin: 0.5em auto 0;
        font-size: 4vw;
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
        border: 1px solid #ffffff;
    }

    .event-course-distance span {
        padding: 0 0.25em;
        font-size: 6vw;
    }

    .eventdetailinner-con {
        padding-bottom: 2rem;
    }

    .eventdetailinner01 {
        display: block;
        padding: 0 5.333333333333334vw;
    }

    .eventdetail-con {
        width: 100%;
        margin: 0 auto 0;
        padding: 0 0 1.5rem;
        display: flex;
        flex-direction: column;
        /*border-bottom: 4px solid #af435a;*/
    }

    .eventdetail-line01 {
        width: 100%;
        margin: 1rem 0 0;
    }

    .eventdetail-text01 {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }

    .eventdetail-line02 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .eventdetail-image01 {
        width: 80%;
        margin: 0 auto 1rem;
    }

    .eventdetail-line03 {
        width: 100%;
        margin: 1rem auto 2rem;
        text-align: center;
        background-color: #333333;
    }

    .eventdetail-text02 {
        width: 100%;
        margin: 0 auto 0;
        padding: 0.25em 0.5em;
        font-size: 4vw;
        font-weight: 700;
        line-height: 1.675em;
        color: #ffffff;
        /*border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;*/
    }

    .eventdetail-text02 span {
        padding: 0 0.25em;
        font-size: 6vw;
    }

    .eventdetail-line04 {
        width: 100%;
    }

    .eventdetail-title01 {
        width: 60%;
        margin: 0 auto 0;
        padding: 0.25em 0.5em;
        font-size: 4vw;
        font-weight: 700;
        line-height: 1.5em;
        color: #af435a;
        text-align: center;
        border: 3px solid #af435a;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    .eventdetail-line05 {
        width: 100%;
        margin: 0 auto 2rem;
        display: flex;
        flex-direction: column;
    }

    .eventdetail-line05-inner {
        width: 100%;
        margin: 0 auto 0.5rem;
        display: flex;
        align-items: center;
    }

    .eventdetail-hour {
        width: 7.5em;
        margin-right: 1em;
        /*text-align: center;*/
        padding: 0 1rem 0;
        font-size: 4vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        border-bottom: 2px dotted #af435a;
    }

    .eventdetail-text03 {
        width: calc(100% - 8.5em);
        padding-left: 0.5em;
        font-size: 4vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        border-bottom: 2px solid #333333;
    }

    .eventdetail-line06-08-con {
        width: 100%;
        margin: 0 auto 2rem;
    }

    .eventdetail-line06 {
        width: 100%;
        padding-bottom: 0.5rem;
        border-bottom: 2px dotted #af435a;
    }

    .eventdetail-cat01 {
        display: inline-block;
        padding: 0.5rem 1.5rem 0.675rem;
        font-size: 4vw;
        font-weight: 500;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    .eventdetail-text04 {
        margin: 0.75rem 0 0;
        font-size: 5vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
    }

    .eventdetail-line07 {
        width: 100%;
        margin: 1rem 0 0;
    }

    .eventdetail-text05 {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }

    .eventdetail-text06 {
        margin: 0.5em 0 0;
        font-size: 3.6vw;
        color: #333333;
        line-height: 1.5em;
        padding-left: 1em;
        text-indent: -1em;
    }

    .eventdetail-line08 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
    }

    .eventdetail-image02 {
        width: 100%;
        margin: 0 auto 0;
    }

    .eventdetail-line09 {
        width: 100%;
        margin: 0 auto 2rem;
        border: 2px solid #cccccc;
        text-align: center;
    }

    .eventdetail-text07 {
        padding: 0.5rem 1.5rem 0.675rem;
        font-size: 4.2vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        text-align: center;
    }

    .eventdetail-line10-14-con {
        width: 100%;
        margin: 0 auto 2rem;
    }

    .eventdetail-line10 {
        width: 100%;
        margin: 0 auto 1rem;
        text-align: center;
    }

    #event2024-01 .eventdetail-line10 {
        background-color: #e5006e;
    }

    #event2024-02 .eventdetail-line10 {
        background-color: #69bd83;
    }

    .eventdetail-text08 {
        width: 100%;
        margin: 0 auto 0;
        padding: 0.25em 0.5em;
        font-size: 5vw;
        font-weight: 600;
        line-height: 1.675em;
        color: #ffffff;
    }

    .eventdetail-line11-14-con {
        width: 100%;
        margin: 0 auto 0;
    }

    .eventdetail-line11 {
        width: 100%;
        margin: 1.5rem auto 0;
    }

    .eventdetail-image03 {
        width: 70%;
        margin: 0 auto 0;
    }

    .eventdetail-line12 {
        width: 100%;
        margin: 0.25em auto 0;
        padding-bottom: 0.5rem;
        /*border-bottom: 2px dotted #af435a;*/
    }

    .eventdetail-text09 {
        margin: 0;
        font-size: 5vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        text-align: center;
    }

    .eventdetail-text09 span {
        font-size: 4vw;
    }

    .eventdetail-text10 {
        margin: 0;
        font-size: 4vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .eventdetail-line13 {
        width: 100%;
    }

    .eventdetail-text11 {
        width: 60%;
        margin: 1rem auto 0;
        padding: 0.25em 1em 0.25em;
        font-size: 4vw;
        font-weight: 500;
        color: #ffffff;
        line-height: 1.5em;
        text-align: center;
        /*background-color: #ababab;*/
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    #event2024-01 .eventdetail-text11 {
        background-color: #e5006e;
    }

    #event2024-02 .eventdetail-text11 {
        background-color: #69bd83;
    }

    .eventdetail-line14 {
        width: 100%;
        margin: 1em 0 0;
    }

    .eventdetail-line14-inner01 {
        width: 100%;
        margin: 0 0 1em;
    }

    .eventdetail-text12 {
        width: 4em;
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
        border-bottom: 2px solid #333333;
    }

    .eventdetail-line14-inner02 {
        width: 100%;
        display: flex;
    }

    .eventdetail-text13 {
        margin: 0;
        font-size: 3.6vw;
        color: #333333;
        line-height: 1.5em;
    }

    .eventdetail-text14 {
        margin-left: 1em;
        font-size: 3.6vw;
        color: #333333;
        line-height: 1.5em;
    }

    .eventdetail-line14-inner03 {
        width: 100%;
        margin: 1em 0 0;
    }

    .eventdetail-line15 {
        width: 100%;
        margin: 1em 0 0;
    }

    .eventdetail-text15 {
        margin: 0;
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }

    .eventdetail-text16 {
        margin: 0;
        font-size: 3.6vw;
        color: #333333;
        line-height: 1.5em;
    }

    /*キャンペーン*/

    .campaign-date-menu01-con,
    .campaign-date-menu02-con {
        width: 100%;
        padding: 0.5em 1em 1em;
        display: flex;
        flex-direction: column;
        justify-content: center;
				border-radius: 1em;
				position: relative;
				text-decoration: none !important;
    }



.campaign-date-menu01-con::after,
.campaign-date-menu02-con::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 32px;
	height: 32px;
	background-image: url(../img/arrow_down.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transform: translateX(-50%);
}




    .campaign-date-menu01-con {
        margin-bottom: 1rem;
        background-color: #00a0e9;
				box-shadow: 0 6px 0 #006391;
    }

    .campaign-date-menu02-con {
        background-color: #ef845c;
				box-shadow: 0 6px 0 #A1583E;
    }

    .campaign-date-menu01-con .link-btn-area,
    .campaign-date-menu02-con .link-btn-area {
        width: 80%;
        max-width: 480px;
        margin: 1rem auto 0;
    }

    .campaign-date-menu01-con .link-btn,
    .campaign-date-menu02-con .link-btn {
        background-color: #ffffff;
    }

    .campaign-date-menu01-con .link-btn-tit {
        color: #00a0e9;
    }

    .campaign-date-menu02-con .link-btn-tit {
        color: #ef845c;
    }

    .campaign-date-menu01-con .triangle-icon {
        background: #00a0e9;
    }

    .campaign-date-menu02-con .triangle-icon {
        background: #ef845c;
    }

    .campaign-date-menu01-con .event-date-day03,
    .campaign-date-menu02-con .event-date-day03 {
        background-color: #ffffff;
    }

    #campaign2024-01 .event01-main-area {
        background-color: #00a0e9;
    }

    #campaign2024-02 .event01-main-area {
        background-color: #ef845c;
    }

    .campaign-date-menu01-con .event-date-day03,
    #campaign2024-01 .event-date-day03 {
        color: #000;
    }

    .campaign-date-menu02-con .event-date-day03,
    #campaign2024-02 .event-date-day03 {
        color: #000;
    }

    .campaign-date01-line02 {
        border-bottom: 2px solid #fff;
        margin: 0 auto 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .campaign-date-day04 {
				position: relative;
        margin-bottom: 0.25em;
        font-size: 7vw;
        font-weight: 700;
        line-height: 1.5em;
				-webkit-text-stroke: 8px #fff;
				text-stroke: 8px #fff; /* 一部ブラウザ用 */
    }

		.campaign-date-day04::after {
				content: attr(data-text);
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				color: #000; /* 白文字 */
				-webkit-text-stroke: 0;
				text-stroke: 0;
		}

    .campaigndetail-text01 {
        font-size: 4vw;
        color: #333333;
        line-height: 1.675em;
    }

    .campaigndetail-text02 {
        width: 100%;
        margin: 0 auto 0.5em;
        text-align: center;
        font-size: 4vw;
        color: #333333;
        line-height: 1.5em;
    }

    .campaigndetail-text01 a:hover {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .campaigndetail-text01 a:link {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .campaigndetail-text01 a:visited {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .campaigndetail-line04-05-con {
        width: 100%;
        margin: 1em auto 1em;
    }

    .campaigndetail-line04-05-inner > .inner {
				border-radius: 1em;
				overflow: hidden;
    }

    .campaigndetail-line04-05-inner + .campaigndetail-line04-05-inner {
        margin-top: 1.5em;
    }

    .campaigndetail-title01 {
        padding: 0.5em 0.5em;
        font-size: 5vw;
        font-weight: 700;
        background-color: #00A0E9;
        color: #fff;
        text-align: center;
    }

    .campaigndetail-title01.-present {
			border-radius: 1em 1em 0 0;
			background-color: #7C4797;
    }

    .campaign01-present-con {
        width: 100%;
    }

    .campaign01-present-con.-campaign1 {
				background-color: #D3ECFB;
				padding: 2em;
    }

    .campaign01-present-con.-campaign2 {
				background-color: #FFF9B0;
				padding: 2em;
				border-radius: 0 0 1em 1em;
    }

    .campaign01-present-name {
        margin: 0.5em 0 0;
        font-size: 4.5vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .campaign01-present-text {
        margin: 0.25em 0 0;
        font-size: 4.5vw;
        text-align: center;
    }

    .campaign01-present-image {
        width: 75%;
        margin: 0 auto 0;
    }

    .campaign01-present-caution {
        font-size: 3.6vw;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .campaign-present-month-con {
        width: 100%;
    }

    .campaign-howto-area {
        width: 100%;
    }

    .campaign-howto-title-con {
        width: 100%;
        margin: 1rem auto 2rem;
        text-align: center;
        background-color: #00A0E9;
    }

    .campaign-howto-title-con.-mokuhyo {
        background-color: #EF845D;
    }

    .campaign-howto-title {
        width: 100%;
        margin: 0 auto 0;
        padding: 0.125em 0.25em;
        font-size: 5vw;
        font-weight: 700;
        line-height: 1.675em;
        color: #ffffff;
    }

    .campaign-howto-con {
        width: 100%;
    }

    .campaign-howto-box {
        width: 100%;
        margin: 0 0 3rem;
    }

    .campaign-howto-text {
        margin: 0.5em 0 1em;
        padding: 0;
        font-size: 4vw;
        line-height: 1.5em;
        color: #333333;
    }

    .campaign-howto-image {
        width: 40%;
        margin: 0 auto 0;
    }

    /*フォーム*/

    .entry-present-area {
        width: 90%;
        margin: 0 auto 2rem;
    }
}

@media screen and (min-width: 768px), print {
    /*共通パーツ*/

    .link-btn-area {
        width: 90%;
        max-width: 640px;
        margin: 0 auto 0;
    }

    .link-btn {
        width: 100%;
        margin: 0;
        padding: 12px 20px;
        line-height: 1.5em;
        color: #ffffff;
        border-radius: 24px;
        background-color: #d93949;
        position: relative;
        transition: all 0.4s ease-out;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .link-btn.nolink {
        background-color: #333333;
    }

    .link-btn:hover {
        opacity: 0.7;
        cursor: pointer;
    }

    .link-btn-area a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .link-btn-tit {
        width: calc(100% - 24px);
        padding: 0 0 0 24px;
        font-size: calc(20px + 8 * (100vw - 768px) / 332);
        font-weight: 600;
        color: #ffffff;
        text-align: center;
    }

    @media screen and (min-width: 1101px) {
        .link-btn-tit {
            font-size: 28px;
        }
    }
/*
    .link-btn-tit {
        width: calc(100% - 24px);
        padding: 0 0 0 24px;
        font-size: 24px;
        font-weight: bold;
        color: #ffffff;
        text-align: center;
    }

    @media screen and (min-width: 1101px) {
        .link-btn-tit {
            font-size: 24px;
        }
    }


		.link-btn {
			position: relative;
			width: 100%;
			margin: 0;
			padding: 20px;
			line-height: 1.5em;
			color: #ffffff;
			border-radius: 100px;
			background-color: #E85093;
			position: relative;
			transition: all 0.4s ease-out;
			display: flex;
			justify-content: center;
			align-items: center;
			z-index: 1;
		}

		.link-btn::after {
			position: absolute;
			z-index: -1;
			left: 0;
			top: 10px;
			content: '';
			display: block;
			width: 100%;
			height: 100%;
			background-color: #800;
		}
		*/

    .triangle-icon {
        background: #ffffff;
        height: calc(tan(60deg) * 20px / 2);
        width: 15px;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
    }

    a.anchor {
        display: block;
        padding-top: 145px;
        margin-top: -145px;
    }

    /*トップ*/

    /*.topabouttitlewrap01-2024 {
        width: 100%;
    }

    .topabout-title {
        width: 100%;
        margin: 0 0 0.75em;
        padding: 0.5em 1em;
        font-size: 4.6vw;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }*/

    .topaboutcopy-wrap01 {
        width: 100%;
        margin-top: -40px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom center;
    }

    .topabout-copy01 {
        width: 100%;
        padding: 0.5em 0 0.5em;
        font-size: calc(28px + 8 * (100vw - 768px) / 332);
        font-weight: 800;
        line-height: 1.5em;
        text-align: center;
        color: #E85093;
        /*color: #3e6a9c;*/
    }

    @media screen and (min-width: 1101px) {
        .topabout-copy01 {
            font-size: 36px;
        }
    }

    .topabout-copy02 {
        margin: 0.5em 0 0;
        font-size: calc(16px + 4 * (100vw - 768px) / 332);
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        text-align: center;
    }

    @media screen and (min-width: 1101px) {
        .topabout-copy02 {
            font-size: 20px;
        }
    }

    .topabout-copy03 {
        margin: 3em 16% 0;
        color: #333333;
        line-height: 1.675em;
        text-align: center;
    }

    .topblock-con {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto 0;
				padding: 40px 20px;
        display: flex;
        flex-wrap: wrap;
				gap: 40px 20px;
        align-items: stretch;
    }

    .topblock-con01 {
        flex: 0 0 calc(50% - 10px);
				background-color: #fff;
				border-radius: 1em;
				overflow: hidden;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
		}

		.topblock-con02 {
				flex: 0 0 calc(50% - 10px);
				background-color: #fff;
				border-radius: 1em;
				overflow: hidden;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
    }

    .topblocktitle-wrap01 {
        width: 100%;
    }

    .topblocktitle-maintitle {
        width: 100%;
        padding: 0.75rem 1rem 0.75rem;
        font-size: calc(28px + 8 * (100vw - 768px) / 332);
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #007CBF;
    }

    @media screen and (min-width: 1101px) {
        .topblocktitle-maintitle {
            font-size: 36px;
        }
    }

    .topblockinner01 {
        /*display: block;*/
        padding: 1rem 2rem 2rem;
    }

    .tophowtojoin-con {
        width: 100%;
    }

    .tophowtojoin-text {
        padding: 0.5rem 0 0;
        font-size: 18px;
        color: #333333;
        line-height: 1.675em;
    }

    .tophowtojoin-image-wrap01 {
        margin: -1rem -2rem 1em;
    }

    .tophowtojoin-image {
        width: 100%;
    }

    .dlapp-btn-area {
        width: 100%;
        margin: 3rem auto 1rem;
        text-align: center;
    }

    .dlapp-btn-area.-top {
			margin-top: 0;
    }

    .dlapp-title {
        margin: 0 auto 1.5rem;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
    }

    .dlapp-btn-con {
        width: 100%;
        margin: 0 auto 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

    .dlapp-btn01 {
        width: calc(90% * (827 / 1849));
        min-width: 170px;
        padding: 0 2.5% 1.5rem;
    }

    .dlapp-btn02 {
        width: calc(90% * (1022 / 1849));
        min-width: 210px;
        padding: 0 2.5% 1.5rem;
    }

    .tophowtojoin-caution {
        padding-left: 1em;
        text-indent: -1em;
        font-size: 16px;
        /*color: #333333;*/
        color: #000;
        line-height: 1.675em;
    }

    .tophowtojoin-caution a:hover {
        /*color: #333333 !important;*/
        color: #ff0000 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .tophowtojoin-caution a:link {
        /*color: #333333 !important;*/
        color: #000 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .tophowtojoin-caution a:visited {
        /*color: #333333 !important;*/
        color: #ff0000 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-con {
        width: 100%;
				height: 32em;
        padding: 0.5rem 0 0;
        max-height: 50vh;
        overflow-y: scroll;
    }

    .topnews-box {
        width: 100%;
        margin: 0 0 1em;
        padding: 0 0 0.75em;
        border-bottom: 2px dotted #666666;
    }

    .topnews-date {
        margin-top: 0.375em;
        font-size: 16px;
        color: #333333;
        line-height: 1.5em;
    }

    .topnews-title {
        margin-bottom: 1em;
        font-size: 18px;
        font-weight: 600;
        color: #333333;
        line-height: 1.675em;
    }

    .topnews-text,
    .topnews-text02 {
        font-size: 18px;
        color: #333333;
        line-height: 1.675em;
    }

    .topnews-text a:hover {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-text a:link {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-text a:visited {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-text02 a:link {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .topnews-text02 a:visited {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    #topinstagramwrap01 {
        width: 100%;
        padding: 4rem 0 2rem;
    }

    .topblock-con03 {
        width: 100%;
        margin: 2rem auto 0;
    }

    .youtube-area {
        width: 90%;
        max-width: 960px;
        margin: 0 auto 0;
        padding: 0 0 2rem;
    }

    .youtube-area iframe {
        width: 100%;
        aspect-ratio: 16 / 9;
    }


    .top-contents-con {
        width: 100%;
        margin: 0 auto 3rem;
        background-color: #fff;
				border-radius: 1em;
				overflow: hidden;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
    }
    .top-contents-con.-top .courseinner {
			padding: 2em;
			text-align: center;
			line-height: 1.5;
		}
    .top-contents-con.-top .buttonunit-area {
			max-width: 400px;
			margin: auto;
			margin-top: 2em;
		}

    .course-menu-area {
        display: flex;
    }

    .top-contents-copy-con {
        width: 95%;
        max-width: 1100px;
        margin: -2em auto 3rem;
        background-color: #ffffff;
    }

    .top-contents-copy-con .event-main-copy-con {
        padding: 10px 0 10px;
    }

    .top-campaign-copy-con {
        width: 95%;
        max-width: 1100px;
        margin: 2em auto 0;
        padding: 20px 0 20px;
    }

    .top-campaign-copy01 {
        font-size: 20px;
        color: #333333;
        line-height: 1.675em;
    }

    .top-campaign-inner02 {
        width: 100%;
        margin: 1em 0 0;
        display: flex;
        /*flex-wrap: wrap;*/
    }

    .top-campaign-inner02-left {
        margin-right: 2em;
        margin-bottom: 1em;
    }

    .top-campaign-title01 {
        min-width: 6em;
        padding: 0.25em 1em 0.375em;
        font-size: 18px;
        font-weight: 600;
        color: #ffffff;
        line-height: 1.675em;
        background-color: #333333;
    }

    .top-campaign-copy02 {
        font-size: 20px;
        /*font-weight: 600;*/
        color: #333333;
        line-height: 1.675em;
        padding-left: 1em;
        text-indent: -1em;
    }

    .top-campaign-copy02 a:link {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .top-campaign-copy02 a:visited {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .top-campaign-title-area {
        width: 100%;
        /*margin-top: 1rem;*/
        padding-bottom: 0.5em;
        text-align: center;
        border-bottom: 2px solid #ffffff;
    }

    .top-campaign-title02 {
        display: inline-block;
        font-weight: 700;
        line-height: 1.25em;
        color: #ffffff;
        text-align: left;
    }

    .top-campaign-title02 {
        font-size: calc(18px + 8 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .top-campaign-title02 {
            font-size: 26px;
        }
    }

    .top-campaign-title02 span {
        font-size: calc(14px + 8 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .top-campaign-title02 span {
            font-size: 22px;
        }
    }

    .top-campaign-detail-line01 {
        width: 100%;
        margin-top: 1.5em;
    }

    .top-campaign-title03 {
        width: 100%;
        margin-bottom: 0.5em;
        padding-bottom: 0.25em;
        font-weight: 600;
        line-height: 1.5em;
        color: #ffffff;
        text-align: left;
        border-bottom: 2px dotted #ffffff;
    }

    .top-campaign-title03 {
        font-size: calc(20px + 2 * (100vw - 768px) / 332);
    }

    .top-campaign-title03 span {
        font-size: calc(16px + 2 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .top-campaign-title03 {
            font-size: 22px;
        }

        .top-campaign-title03 span {
            font-size: 18px;
        }
    }

    .top-campaign-copy03 {
        font-size: 18px;
        /*font-weight: 600;*/
        color: #ffffff;
        line-height: 1.675em;
    }

    .top-campaign-copy03 a:link {
        color: #ffffff !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .top-campaign-copy03 a:visited {
        color: #ffffff !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    /*コース*/

    .course-main-copy-area {
        width: 100%;
        min-height: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .course-main-copy01 {
        width: 100%;
        padding: 0 1em 0;
        font-size: calc(16px + 4 * (100vw - 768px) / 332);
        font-weight: 500;
        line-height: 1.675em;
        color: #333333;
        text-align: center;
    }

    @media screen and (min-width: 1101px) {
        .course-main-copy01 {
            font-size: 20px;
        }
    }

    .course-history-menu-area {
        width: 95%;
        max-width: 1100px;
        margin: 0 auto 0;
        padding: 0 0 2rem;
        display: flex;
        flex-wrap: wrap;
    }

    .coursedetailinner01 li a:link {
        color: #333333 !important;
    }

    .coursedetailinner01 li a:visited {
        color: #333333 !important;
    }

    .coursedetailinner01 li a:hover {
        text-decoration-line: underline !important;
    }

    /*アプリについて*/

    #appmainvisualwrap01-2024 {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
        display: table;
        padding: 0 0 20px;
    }

    #appmainvisualcopywrap01 {
        width: 90%;
        max-width: 990px;
        margin: 0 auto 0;
    }

    .appmainvisualcopy01 {
        margin: 1em 0;
        padding: 0 1em;
        font-size: calc(28px + 8 * (100vw - 768px) / 332);
        font-weight: 800;
        color: #333333;
        line-height: 1.75em;
        text-align: center;
    }

    @media screen and (min-width: 1101px) {
        .appmainvisualcopy01 {
            font-size: 36px;
        }
    }

    .appmainvisualcopy01 span {
        color: #e7364a;
    }

    .appmainvisualimage01 {
        width: 100px;
        margin: 0 auto;
    }

    .appmainvisualcopy02 {
        margin: 1em 0;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
    }

    /*.apptitlewrap01-2024 {
    padding: 0 0 2.666666666666667vw;
    font-size: 6vw;
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
}

.appdetailcopy01 {
    font-size: 4vw;
    font-weight: 500;
    color: #333333;
    line-height: 1.675em;
}*/

    .appdetailwrap01 {
        width: 95%;
        max-width: 1100px;
        margin: 0 auto 30px;
        background-color: #ffffff;
    }

    .apphowtouse-maintitle {
        width: 100%;
        padding: 0.75rem 1rem 0.75rem;
        font-size: calc(28px + 8 * (100vw - 768px) / 332);
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    @media screen and (min-width: 1101px) {
        .apphowtouse-maintitle {
            font-size: 36px;
        }
    }

    .appdetailinner-con {
        width: 100%;
        margin: 0 auto;
        padding: 2rem;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .appdetailinner01 {
        width: 100%;
        /*display: block;*/
        padding: 20px 15px;
    }

    /*.appdetailinner01:after {
    content: "";
    clear: both;
    display: block;
}*/

    .appdetail-con {
        width: 100%;
        margin: 0 auto 0;
        padding: 0 0 1.5rem;
        display: flex;
        flex-direction: column;
        border-bottom: 4px solid #af435a;
    }

    .appdetail-line01 {
        width: 100%;
        padding-bottom: 0.5rem;
        border-bottom: 2px dotted #af435a;
    }

    .appdetail-number {
        display: inline-block;
        padding: 0.25rem 1rem 0.5rem;
        font-size: 18px;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #00A0E9;
				border-radius: 0.5em;
    }

    .appdetail-number.-mokuhyo {
			background-color: #EF845D;
    }

    .appdetail-number span {
        padding-left: 0.25em;
        font-size: 26px;
        font-weight: 700;
    }

    .appdetail-title {
        margin: 0.75rem 0 0;
        font-size: 28px;
        font-weight: 600;
        /*color: #af435a;*/
        color: #333333;
        line-height: 1.5em;
    }

    .appdetail-line02 {
        width: 100%;
        margin: 1rem 0 0;
    }

    .appdetail-text {
        font-size: 18px;
        color: #333333;
        line-height: 1.5em;
    }

    .appdetail-text a:hover {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .appdetail-text a:link {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .appdetail-text a:visited {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .appdetail-line03 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
    }

    .appdetail-image {
        width: 30%;
        max-width: 240px;
        margin: 0 auto 0;
    }

    .appdetail-image02 {
        width: 90%;
        max-width: 720px;
        margin: 0 auto 0;
    }

    .link-btn-area03 {
        width: 90%;
        max-width: 640px;
        margin: 20px auto 0;
    }

    .link-btn-area03 a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .appdetail-setting-con {
        width: 100%;
        margin: 1em 0 0;
    }

    .appdetail-setting-con:first-child {
        margin: 0;
    }

    .appdetail-setting-inner01 {
        display: flex;
        align-items: center;
    }

    .appdetail-setting-number {
        font-size: 24px;
        margin-right: 0.5em;
    }

    .appdetail-setting-title {
        font-size: 22px;
        font-weight: 500;
    }

    .appdetail-setting-inner02 {
        margin: 0.25em 1em 0;
    }

    .appdetail-setting-text {
        font-size: 18px;
        color: #333333;
        line-height: 1.5em;
        padding-left: 1em;
        text-indent: -1em;
    }

    /*.appdetailbtnwrap01 {
        width: 90%;
        margin: 2rem auto 2rem;
    }*/

    /*アプリの使い方*/

    .dlapp-btn-area02 {
        width: 84%;
        margin: 3rem auto 1rem;
        text-align: center;
    }

    .dlapp-btn-area03 {
        width: 84%;
        max-width: 480px;
        margin: 3rem auto 1rem;
        text-align: center;
    }

    .apphowtowrap01 {
        width: 95%;
        max-width: 1100px;
        margin: 0 auto 30px;
        background-color: #ffffff;
    }

    .apphowtousewrap01 {
        width: 100%;
        margin: 0 auto 1rem;
    }

    .apphowtouse-maintitle {
        width: 100%;
        padding: 0.75rem 1rem 0.75rem;
        font-size: calc(28px + 8 * (100vw - 768px) / 332);
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    @media screen and (min-width: 1101px) {
        .apphowtouse-maintitle {
            font-size: 36px;
        }
    }

    .apphowtoinner-con {
        width: 100%;
        margin: 0 auto;
        padding: 2rem;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .apphowtoinner01 {
        width: 100%;
        padding: 20px 15px;
    }

    .apphowtouse-con {
        width: 100%;
        margin: 0 auto 0;
        padding: 0 0 1.5rem;
        display: flex;
        flex-direction: column;
        border-bottom: 4px solid #af435a;
    }

    .apphowtouse-line01 {
        width: 100%;
        padding-bottom: 0.5rem;
        border-bottom: 2px dotted #af435a;
    }

    .apphowtouse-number {
        display: inline-block;
        padding: 0.25rem 1rem 0.5rem;
        font-size: 18px;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    .apphowtouse-number span {
        padding-left: 0.25em;
        font-size: 26px;
        font-weight: 700;
    }

    .apphowtouse-title {
        margin: 0.75rem 0 0;
        font-size: 28px;
        font-weight: 600;
        /*color: #af435a;*/
        color: #333333;
        line-height: 1.5em;
    }

    .apphowtouse-line02 {
        width: 100%;
        margin: 1rem 0 0;
    }

    .apphowtouse-text {
        font-size: 18px;
        color: #333333;
        line-height: 1.5em;
    }

    .apphowtouse-line03 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
    }

    .apphowtouse-image {
        width: 30%;
        max-width: 240px;
        margin: 0 auto 0;
    }

    .apphowtouse-image-wide {
        width: 100%;
        max-width: 864px;
        margin: 0 auto 0;
    }

    .apphowtouse-line04 {
        width: 100%;
        margin: 1rem auto 0;
        display: flex;
        flex-wrap: wrap;
    }

    .apphowtouse-present-con {
        width: calc(100% / 3);
        margin: 2rem auto 0;
        text-align: center;
    }

    .apphowtouse-present-month {
        width: 90%;
        margin: 0 auto 0;
        padding: 0.5rem 2rem 0.75rem;
        font-size: 24px;
        font-weight: 600;
        color: #ffffff;
        text-align: center;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    .bg-present01 {
        background-color: #9070af;
    }

    .bg-present02 {
        background-color: #e9546b;
    }

    .bg-present03 {
        background-color: #00afec;
				color: #fff;
				padding: 1em;
				text-align: center;
				font-weight: bold;
				border-radius: 1em 1em 0 0;
    }

    .apphowtouse-present-image {
        width: 80%;
        margin: 1rem auto 1rem;
    }

    .apphowtouse-present-text {
        font-size: 20px;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .apphowtouse-present-text span {
        font-size: 18px;
    }

    /*ウォーキングイベント*/

    .event-main-copy-con {
        width: 95%;
        max-width: 1100px;
        margin: 2em auto 0;
        padding: 0 0 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .event-main-copy02 {
        padding: 0.75em 0 0;
        font-size: calc(16px + 8 * (100vw - 768px) / 332);
        font-weight: 800;
        width: 4em;
        height: 4em;
        line-height: 1.25em;
        background-color: #f8e530;
        border-radius: 50%;
        text-align: center;
    }

    @media screen and (min-width: 1101px) {
        .event-main-copy02 {
            font-size: 24px;
        }
    }

    .event-main-copy01 {
        padding-left: 1em;
        font-size: calc(28px + 8 * (100vw - 768px) / 332);
        font-weight: 800;
        color: #333333;
        line-height: 1.5em;
    }

    @media screen and (min-width: 1101px) {
        .event-main-copy01 {
            font-size: 36px;
        }
    }

    .event-main-copy01 span {
        color: #e7364a;
    }

    .event-main-present-con {
        width: 95%;
        max-width: 1100px;
        margin: 1em auto 2rem;
        padding: 0 0 0;
        text-align: center;
    }

    .event-main-image01 {
        width: 40%;
        max-width: 360px;
        margin: 0 auto;
        padding: 0 0 25px;
    }

    .event-main-copy03 {
        display: inline-block;
        padding: 0.5em 1.5em 0.5em;
        font-size: calc(16px + 8 * (100vw - 768px) / 332);
        font-weight: 600;
        color: #ffffff;
        line-height: 1.5em;
        text-align: center;
        background-color: #e7364a;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    @media screen and (min-width: 1101px) {
        .event-main-copy03 {
            font-size: 24px;
        }
    }

    .event-date-menu-area {
        width: 95%;
        max-width: 1100px;
        margin: 0 auto 0;
        padding: 0 0 2rem;
        display: flex;
    }

    .event-date-menu01-con,
    .event-date-menu02-con,
    .campaign-date-menu01-con,
    .campaign-date-menu02-con {
        width: 50%;
        padding: 0.5em 1em 1em;
        display: flex;
        flex-direction: column;
        /*justify-content: center;*/
    }

    .event-date-menu01-con {
        margin-right: 1.25%;
        background-color: #e5006e;
				text-decoration: none !important;
    }

    .event-date-menu02-con {
        margin-left: 1.25%;
        background-color: #69bd83;
				text-decoration: none !important;
    }

    .event-date-menu01-inner,
    .event-date-menu02-inner {
        margin: 0 auto 0;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        /* color: #ffffff; */
    }

    .event-guest-name {
        margin: 0.75em 0 0.25em;
        font-size: calc(16px + 6 * (100vw - 768px) / 332);
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
    }

    @media screen and (min-width: 1101px) {
        .event-guest-name {
            font-size: 22px;
        }
    }

    .event-guest-name span {
        font-size: calc(18px + 8 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-guest-name span {
            font-size: 26px;
        }
    }

    .event-date-term {
        margin: 0.75em 0 0.25em;
        font-size: calc(18px + 8 * (100vw - 768px) / 332);
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
        border: 2px solid #ffffff;
    }

    @media screen and (min-width: 1101px) {
        .event-date-term {
            font-size: 26px;
        }
    }

    .event-date-menu01-con .link-btn-area,
    .event-date-menu02-con .link-btn-area {
        width: 80%;
        max-width: 480px;
        margin: 1rem auto 0;
    }

    .event-date-menu01-con .link-btn,
    .event-date-menu02-con .link-btn {
        background-color: #ffffff;
    }

    .event-date-menu01-con .link-btn-tit {
        color: #e5006e;
    }

    .event-date-menu02-con .link-btn-tit {
        color: #69bd83;
    }

    .event-date-menu01-con .triangle-icon {
        background: #e5006e;
    }

    .event-date-menu02-con .triangle-icon {
        background: #69bd83;
    }

    .eventdetailrap01 {
        width: 95%;
        max-width: 1100px;
        margin: 0 auto 30px;
        background-color: #ffffff;
				border-radius: 1em;
				overflow: hidden;
		    filter: drop-shadow(0 0 16px rgba(255, 212, 125, 0.5));
    }

    .event01-main-area {
        width: 100%;
        padding: 1rem 5% 1.5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    #event2024-01 .event01-main-area {
        background-color: #e5006e;
    }

    #event2024-02 .event01-main-area {
        background-color: #69bd83;
    }

    .event-date01-con {
        margin: 0 auto 0;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        color: #ffffff;
    }

    .event-date01-line01 {
        display: inline-block;
    }

    .event-date01-line02 {
        margin: 0 auto 0;
        display: flex;
        justify-content: center;
        align-items: center;
				gap: 0.25em;
    }

    .event-date-year {
        margin-bottom: -0.5em;
        font-size: 28px;
        font-weight: 600;
    }

    .event-date-menu-area .event-date-year {
        font-size: calc(20px + 8 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .event-date-year {
            font-size: 28px;
        }
    }

    .event-date-day01 {
				position: relative;
        margin-bottom: 0.25em;
        font-size: 56px;
        font-weight: 700;
        line-height: 1.5em;
				-webkit-text-stroke: 8px #fff;
				text-stroke: 8px #fff; /* 一部ブラウザ用 */
    }

		.event-date-day01::after {
				content: attr(data-text);
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				color: #000; /* 白文字 */
				-webkit-text-stroke: 0;
				text-stroke: 0; /* 一部ブラウザ用 */
		}

    .event-date-menu-area .event-date-day01 {
        font-size: calc(40px + 16 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .event-date-day01 {
            font-size: 56px;
        }
    }

    .event-date-day02 {
				position: relative;
        margin-bottom: 0.3125em;
        /* padding: 0 0.125em; */
        font-size: 45px;
        font-weight: 800;
        line-height: 1.5em;
				-webkit-text-stroke: 8px #fff;
				text-stroke: 8px #fff; /* 一部ブラウザ用 */
    }

		.event-date-day02::after {
				content: attr(data-text);
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				color: #000; /* 白文字 */
				-webkit-text-stroke: 0;
				text-stroke: 0; /* 一部ブラウザ用 */
		}

    .event-date-menu-area .event-date-day02 {
        font-size: calc(33px + 12 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .event-date-day02 {
            font-size: 45px;
        }
    }

    .event-date-day03 {
        margin-left: 0.5em;
        font-size: 18px;
        font-weight: 800;
        width: 2em;
        height: 2em;
        line-height: 2em;
        background-color: #ffffff;
        border-radius: 50%;
        text-align: center;
				transform: translateX(-.25em);
    }

    .event-date-menu-area .event-date-day03 {
        font-size: calc(14px + 4 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .event-date-day03 {
            font-size: 18px;
        }
    }

    .event-date-menu01-con .event-date-day03,
    #event2024-01 .event-date-day03 {
        color: #000;
    }

    .event-date-menu02-con .event-date-day03,
    #event2024-02 .event-date-day03 {
        color: #000;
    }

    .event-date-day04 {
        margin-left: 0.5em;
        margin-bottom: 0.25em;
        font-size: 45px;
        font-weight: 700;
        line-height: 1.5em;
    }

    .event-date-menu-area .event-date-day04 {
        font-size: calc(33px + 12 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .event-date-day04 {
            font-size: 45px;
        }
    }

    .event-course01-con {
        width: 100%;
        margin-top: -0.75rem;
        border-top: 2px solid #ffffff;
    }

    .event-course-name {
        font-size: 34px;
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
    }

    .event-date-menu-area .event-course-name {
        font-size: calc(24px + 10 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .event-course-name {
            font-size: 34px;
        }
    }

    .event-course-name span {
        font-size: 28px;
    }

    .event-date-menu-area .event-course-name span {
        font-size: calc(20px + 8 * (100vw - 768px) / 332);
    }

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .event-course-name span {
            font-size: 28px;
        }
    }

    .event-course-distance {
        width: 40%;
        margin: 0.5em auto 0;
        font-size: 26px;
        font-weight: 700;
        line-height: 1.5em;
        color: #ffffff;
        text-align: center;
        border: 1px solid #ffffff;
    }

    .event-course-distance span {
        padding: 0 0.25em;
        font-size: 34px;
    }

    .eventdetailinner-con {
        width: 100%;
    }

    .eventdetailinner01 {
        width: 100%;
        padding: 2rem;
    }

    .eventdetail-con {
        width: 100%;
        margin: 0 auto 0;
        padding: 0 15px 20px;
        display: flex;
        flex-direction: column;
        /*border-bottom: 4px solid #af435a;*/
    }

    .eventdetail-line01 {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    .eventdetail-text01 {
        display: inline-block;
        text-align: left;
        font-size: 20px;
        color: #333333;
        line-height: 1.675em;
    }

    .eventdetail-line02 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .eventdetail-image01 {
        width: 40%;
        margin: 0 auto 0;
    }

    .eventdetail-line03 {
        width: 95%;
        margin: 3rem auto 3rem;
        text-align: center;
        background-color: #333333;
    }

    .eventdetail-text02 {
        width: 100%;
        margin: 0 auto 0;
        padding: 0.25em 0.5em;
        font-size: 26px;
        font-weight: 700;
        line-height: 1.675em;
        color: #ffffff;
        /*border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;*/
    }

    .eventdetail-text02 span {
        padding: 0 0.25em;
        font-size: 34px;
    }

    .eventdetail-line04-05-con {
        width: 100%;
        margin: 0 auto 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .eventdetail-line04-05-inner {
        width: 50%;
        min-width: 420px;
        margin: 0 auto 0;
        padding: 0 2.5% 0;
    }

    .eventdetail-line04 {
        width: 100%;
    }

    .eventdetail-title01 {
        width: 60%;
        margin: 0 auto 0;
        padding: 0.25em 0.5em;
        font-size: 24px;
        font-weight: 700;
        line-height: 1.5em;
        color: #af435a;
        text-align: center;
        border: 3px solid #af435a;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    .eventdetail-line05 {
        width: 100%;
        margin: 0 auto 3rem;
        display: flex;
        flex-direction: column;
    }

    .eventdetail-line05-inner {
        width: 100%;
        margin: 0 auto 0.5rem;
        display: flex;
        align-items: center;
    }

    .eventdetail-hour {
        width: 7.5em;
        margin-right: 1em;
        /*text-align: center;*/
        padding: 0 1rem 0;
        font-size: 18px;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        border-bottom: 2px dotted #af435a;
    }

    .eventdetail-text03 {
        width: calc(100% - 8.5em);
        padding-left: 0.5em;
        font-size: 18px;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        border-bottom: 2px solid #333333;
    }

    .eventdetail-line06-08-con {
        width: 100%;
        margin: 0 auto 3rem;
    }

    .eventdetail-line06 {
        width: 100%;
        padding-bottom: 0.5rem;
        border-bottom: 2px dotted #af435a;
    }

    .eventdetail-cat01 {
        display: inline-block;
        padding: 0.75rem 2rem 0.875rem;
        font-size: 22px;
        font-weight: 500;
        color: #ffffff;
        text-align: center;
        background-color: #af435a;
    }

    .eventdetail-text04 {
        margin: 0.75rem 0 0;
        font-size: 28px;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
    }

    .eventdetail-line07 {
        width: 100%;
        margin: 1rem 0 0;
    }

    .eventdetail-text05 {
        font-size: 18px;
        color: #333333;
        line-height: 1.675em;
    }

    .eventdetail-text06 {
        margin: 0.5em 0 0;
        font-size: 16px;
        color: #333333;
        line-height: 1.5em;
        padding-left: 1em;
        text-indent: -1em;
    }

    .eventdetail-line08 {
        width: 100%;
        margin: 1.5rem 0 0;
        display: flex;
    }

    .eventdetail-image02 {
        width: 65%;
        min-width: 520px;
        margin: 0 auto 0;
    }

    .eventdetail-line09 {
        width: 70%;
        margin: 0 auto 3rem;
        border: 2px solid #cccccc;
        text-align: center;
    }

    .eventdetail-text07 {
        padding: 0.5rem 1.5rem 0.675rem;
        font-size: 26px;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        text-align: center;
    }

    .eventdetail-line10-14-con {
        width: 100%;
        margin: 0 auto 3rem;
    }

    .eventdetail-line10 {
        width: 100%;
        margin: 0 auto 1rem;
        text-align: center;
    }

    #event2024-01 .eventdetail-line10 {
        background-color: #e5006e;
    }

    #event2024-02 .eventdetail-line10 {
        background-color: #69bd83;
    }

    .eventdetail-text08 {
        width: 100%;
        margin: 0 auto 0;
        padding: 0.25em 0.5em;
        font-size: 28px;
        font-weight: 600;
        line-height: 1.675em;
        color: #ffffff;
    }

    .eventdetail-line11-14-con {
        width: 100%;
        margin: 0 auto 0;
        display: flex;
        flex-wrap: wrap;
    }

    .eventdetail-line11-12-con {
        width: 50%;
        margin: 1.5rem auto 0;
    }

    .eventdetail-line11 {
        width: 100%;
        margin: 0 auto 0;
    }

    .eventdetail-image03 {
        width: 70%;
        margin: 0 auto 0;
    }

    .eventdetail-line12 {
        width: 100%;
        margin: 0.25em auto 0;
        padding-bottom: 0.5rem;
        /*border-bottom: 2px dotted #af435a;*/
    }

    .eventdetail-text09 {
        margin: 0;
        font-size: 28px;
        font-weight: 500;
        color: #333333;
        line-height: 1.675em;
        text-align: center;
    }

    .eventdetail-text09 span {
        font-size: 20px;
    }

    .eventdetail-text10 {
        margin: 0;
        font-size: 20px;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .eventdetail-line13-15-con {
        width: 50%;
        margin: 1.5rem auto 0;
    }

    .eventdetail-line13 {
        width: 100%;
    }

    .eventdetail-text11 {
        width: 60%;
        margin: 0 auto 0;
        padding: 0.25em 1em 0.25em;
        font-size: 24px;
        font-weight: 500;
        color: #ffffff;
        line-height: 1.5em;
        text-align: center;
        /*background-color: #ababab;*/
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }

    #event2024-01 .eventdetail-text11 {
        background-color: #e5006e;
    }

    #event2024-02 .eventdetail-text11 {
        background-color: #69bd83;
    }

    .eventdetail-line14 {
        width: 100%;
        margin: 1em 0 0;
    }

    .eventdetail-line14-inner01 {
        width: 100%;
        margin: 0 0 1em;
    }

    .eventdetail-text12 {
        width: 4em;
        font-size: 20px;
        color: #333333;
        line-height: 1.675em;
        border-bottom: 2px solid #333333;
    }

    .eventdetail-line14-inner02 {
        width: 100%;
        display: flex;
    }

    .eventdetail-text13 {
        margin: 0;
        font-size: 18px;
        color: #333333;
        line-height: 1.5em;
    }

    .eventdetail-text14 {
        margin-left: 1em;
        font-size: 18px;
        color: #333333;
        line-height: 1.5em;
    }

    .eventdetail-line14-inner03 {
        width: 100%;
        margin: 1em 0 0;
    }

    .eventdetail-line15 {
        width: 100%;
        margin: 1em 0 0;
    }

    .eventdetail-text15 {
        margin: 0;
        font-size: 18px;
        color: #333333;
        line-height: 1.5em;
    }

    .eventdetail-text16 {
        margin: 0;
        font-size: 16px;
        color: #333333;
        line-height: 1.5em;
    }

    /*キャンペーン*/

    .campaign-date-menu01-con {
        margin-right: 1.25%;
        background-color: #00a0e9;
				border-radius: 1em;
				position: relative;
				box-shadow: 0 6px 0 #006391;
				text-decoration: none !important;
			}

			.campaign-date-menu02-con {
				margin-left: 1.25%;
        background-color: #ef845c;
				border-radius: 1em;
				position: relative;
				box-shadow: 0 6px 0 #A1583E;
				text-decoration: none !important;
    }

.campaign-date-menu01-con::after,
.campaign-date-menu02-con::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 32px;
	height: 32px;
	background-image: url(../img/arrow_down.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transform: translateX(-50%);
}

    .campaign-date-menu01-con .link-btn-area,
    .campaign-date-menu02-con .link-btn-area {
        width: 80%;
        max-width: 480px;
        margin: 1rem auto 0;
    }

    .campaign-date-menu01-con .link-btn,
    .campaign-date-menu02-con .link-btn {
        background-color: #ffffff;
    }

    .campaign-date-menu01-con .link-btn-tit {
        color: #00a0e9;
    }

    .campaign-date-menu02-con .link-btn-tit {
        color: #ef845c;
    }

    .campaign-date-menu01-con .triangle-icon {
        background: #00a0e9;
    }

    .campaign-date-menu02-con .triangle-icon {
        background: #ef845c;
    }

    .campaign-date-menu01-con .event-date-day03,
    .campaign-date-menu02-con .event-date-day03 {
        background-color: #ffffff;
    }

    #campaign2024-01 .event01-main-area {
        background-color: #00a0e9;
    }

    #campaign2024-02 .event01-main-area {
        background-color: #ef845c;
    }

    .campaign-date-menu01-con .event-date-day03,
    #campaign2024-01 .event-date-day03 {
        color: #000;
    }

    .campaign-date-menu02-con .event-date-day03,
    #campaign2024-02 .event-date-day03 {
        color: #000;
    }

    .campaign-date01-line02 {
        width: 100%;
        border-bottom: 2px solid #fff;
        margin: 0 auto 0;
    }

    .campaign-date-day04 {
				position: relative;
        margin: 0.5em 0.5em 0.25em;
        font-size: 52px;
        font-weight: 700;
        line-height: 1.5em;
        text-align: center;
				-webkit-text-stroke: 8px #fff;
				text-stroke: 8px #fff; /* 一部ブラウザ用 */
    }

		.campaign-date-day04::after {
				content: attr(data-text);
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				color: #000; /* 白文字 */
				-webkit-text-stroke: 0;
				text-stroke: 0;
		}


    .event-date-menu-area .campaign-date-day04 {
        margin: 0.5em 0.25em 0.25em;
        font-size: calc(28px + 12 * (100vw - 768px) / 332);
    }

		.event-main-copy-con.-campaign {
			width: 60%;
		}

    @media screen and (min-width: 1101px) {
        .event-date-menu-area .campaign-date-day04 {
            font-size: 40px;
        }
    }

    .campaigndetail-text01 {
        display: inline-block;
        text-align: left;
        font-size: 20px;
        color: #333333;
        line-height: 1.675em;
    }

    .campaigndetail-text02 {
        width: 100%;
        margin: 0 auto 0.5em;
        text-align: center;
        font-size: 18px;
        color: #333333;
        line-height: 1.5em;
    }

    .campaigndetail-text01 a:hover {
        color: #333333 !important;
        text-decoration: underline !important;
        opacity: 1 !important;
        transition: 1s;
    }

    .campaigndetail-text01 a:link {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .campaigndetail-text01 a:visited {
        color: #333333 !important;
        /*text-decoration: underline !important;*/
        opacity: 1 !important;
        transition: 1s;
    }

    .campaigndetail-line04-05-con {
        width: 100%;
        margin: 2em auto 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .campaigndetail-line04-05-inner {
			width: 50%;
			/*min-width: 420px;*/
			margin: 0 auto 0;
			padding: 0 2.5% 0;
    }

    .campaigndetail-line04-05-inner > .inner {
				border-radius: 1em;
				overflow: hidden;
    }

    .campaigndetail-title01 {
			padding: 0.5em 0.5em;
			font-size: 24px;
			font-weight: 700;
			background-color: #00A0E9;
			color: #fff;
			text-align: center;
    }

    .campaigndetail-title01.-present {
			border-radius: 1em 1em 0 0;
			background-color: #7C4797;
    }

    .campaign01-present-con {
        width: 100%;
    }

    .campaign01-present-con.-campaign1 {
				background-color: #D3ECFB;
				padding: 1em 1em 2em;
				height: 100%;
    }

    .campaign01-present-con.-campaign2 {
				background-color: #FFF9B0;
				padding: 2em;
				border-radius: 0 0 1em 1em;
    }

    .campaign01-present-name {
        margin: 0.5em 0 0;
        font-size: 20px;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .campaign01-present-text {
        margin: 0.25em 0 0;
        font-size: 20px;
        text-align: center;
    }

    .campaign01-present-image {
        /* width: 75%; */
        margin: 0 auto 0;
    }

    .campaign01-present-caution {
        font-size: 16px;
        font-weight: 500;
        color: #333333;
        line-height: 1.5em;
        text-align: center;
    }

    .campaign-present-month-con {
        width: 100%;
				padding: 0 2.5%;
    }

    .campaign-howto-area {
        width: 100%;
    }

    .campaign-howto-title-con {
        width: 100%;
        margin: 3rem auto 3rem;
        text-align: center;
        background-color: #00A0E9;
    }

    .campaign-howto-title-con.-mokuhyo {
        background-color: #EF845D;
    }

    .campaign-howto-title {
        width: 100%;
        margin: 0 auto 0;
        padding: 0.125em 0.25em;
        font-size: 32px;
        font-weight: 700;
        line-height: 1.675em;
        color: #ffffff;
    }

    .campaign-howto-con {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        /*justify-content: center;*/
    }

    .campaign-howto-box {
        width: 50%;
        margin: 0 0 3rem;
    }

    .campaign-howto-text {
        margin: 0.5em 0 1em;
        padding: 0 1em 0 0;
        font-size: 18px;
        line-height: 1.5em;
        color: #333333;
    }

    .campaign-howto-image {
        width: 50%;
        margin: 0 auto 0;
    }

    /*フォーム*/

    .entry-present-area {
        width: 100%;
        margin-bottom: 2rem;
        /*background-color: #ffffff;*/
    }
}
