@charset "utf-8";
/* CSS Document */


div#wrapcont {
    --site-theme-color1: #009FE8;
    --site-theme-color2: #173E96;
    --site-foot-fixed-height1: 50px;
}
div#wrapcont *:not(br) {
    letter-spacing: 0.05em;
}


div#wrapcont br.cmn__sponly {
    display: none;
}
@media (max-width: 640px) {
    div#wrapcont br.cmn__sponly {
        display: block;
    }
    div#wrapcont br.cmn__pconly {
        display: none;
    }
}


div#wrapcont .cmn__txt-notice {
    position: relative;
    padding-left: calc( 1em + 0.25em );
}
div#wrapcont .cmn__txt-notice::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '\203b';
    color: inherit;
    font-weight: inherit;
    font-family: inherit;
}


div#wrapcont ruby:nth-child(n+2) {
    margin-left: 1em;
}
div#wrapcont ruby rt {
    transform: translateY(-0.5em);
    line-height: 1;
}
div#wrapcont ruby rb {
    line-height: 1;
}


/* ----------------------------------------
* 共通レイアウト
---------------------------------------- */
div#wrapcont h2 {
}



div#wrapcont .cmn__item1 {
    width: min(100%, 1200px);
    margin-left: auto;
    margin-right: auto;
}
div#wrapcont .cmn__item1 .item1 {
    background-color: var(--site-theme-color2);
    text-align: center;
    padding: 30px;
}
div#wrapcont .cmn__item1 .item1 p {
    color: #ffffff;
    line-height: 2.25;
    font-size: 1.25em;
    font-weight: bold;
}
div#wrapcont .cmn__item1 .item1 .sp {
    display: none;
}
div#wrapcont .cmn__item1 .item2_wrap {
    margin-top: 50px;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox {
    --list-clm-margin-h: 10px;
    --list-clm-margin-v: 30px;
    --list-clm-number-h: 3;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: calc( 100% + var(--list-clm-margin-h) );
    gap: var(--list-clm-margin-v) 0;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li {
    width: calc( (100% / var(--list-clm-number-h) ) - var(--list-clm-margin-h) );
    margin-right: var(--list-clm-margin-h);
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li > .bgwrap {
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    height: 100%;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li.li_1 > .bgwrap {
    background-color: #ffffff;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li.li_2 > .bgwrap {
    background-color: #1EAA39;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li.li_3 > .bgwrap {
    background-color: #ffffff;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li > .bgwrap > .inner {
    width: min(100%, 360px);
    margin-left: auto;
    margin-right: auto;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r1 {
    text-align: center;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r2 {
    margin-top: 20px;
    text-align: center;
    color: #ffffff;
    background-color: var(--site-theme-color2);
    font-weight: bold;
    padding: 0.5em 1em;
    border-radius: 10px;
    width: 100%;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox {
    --list-clm-r3-width1: 120px;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li:nth-child(1) {
    width: var(--list-clm-r3-width1);
    max-width: 100%;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li:nth-child(2) {
    width: calc(100% - var(--list-clm-r3-width1));
    padding-left: 20px;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li .r3-1 {
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li .r3-2 {
    color: #ffffff;
    font-weight: bold;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li .r3-3 {
    margin-top: 10px;
    font-weight: bold;
    background-color: #FFF000;
    color: #1EAA39;
    padding: 0.35em 1em;
    border-radius: 10px;
    text-align: center;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li .r3-4 {
    color: #ffffff;
    font-weight: bold;
    margin-top: 10px;
    width: calc(100% + 1em);
    max-width: none;
    font-size: 0.9em;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r4 {
    text-align: center;
    font-weight: bold;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r5 {
    text-align: center;
    margin-top: 10px;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r5 img {
    width: min(100%, 250px);
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r6 {
    margin-top: 15px;
}
div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r6 a {
    text-align: center;
    font-weight: bold;
    background-color: #D3EDFB;
    border-radius: 10px;
    background-image: url('../images/common/icon_mail2_blue.svg');
    background-size: 2.25em auto;
    background-repeat: no-repeat;
    background-position: left 1em top 0.5em;
    padding: 0.75em 1em 0.75em calc(1em + 2.25em + 0.75em);
    min-height: 3.5em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    color: var(--site-theme-color2);
    font-size: 0.9em;
}
div#wrapcont .cmn__item1 .item3 {
    text-align: center;
    margin-top: 50px;
    color: var(--site-theme-color2);
    font-weight: bold;
    font-size: 1.25em;
    line-height: 1.75;
}
@media (max-width: 1200px) {
    div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox {
        --list-clm-margin-h: 30px;
        --list-clm-number-h: 2;
        justify-content: center;
        flex-wrap: wrap;
        width: calc( 100% + var(--list-clm-margin-h) );
        gap: var(--list-clm-margin-v) 0;
    }
}
@media (max-width: 767px) {
    div#wrapcont .cmn__item1 .item2_wrap .item2_wrap {
        width: min(100%, 600px);
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li {
        --list-clm-number-h: 1;
    }
}
@media (max-width: 640px) {
    div#wrapcont .cmn__item1 .item1 {
        padding: 20px;
    }
    div#wrapcont .cmn__item1 .item1 p {
        line-height: 1.75;
        font-size: 1em;
    }
    div#wrapcont .cmn__item1 .item1 .pc {
        display: none;
    }
    div#wrapcont .cmn__item1 .item1 .sp {
        display: block;
    }
    div#wrapcont .cmn__item1 .item1 .sp .ex1 {
        display: inline-block;
        margin-top: 0.5em;
        margin-bottom: 0.5em;
    }
    div#wrapcont .cmn__item1 .item2_wrap {
        margin-top: 20px;
        width: min(100%, 300px);
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox {
        --list-clm-margin-v: 20px;
    }
    div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li:nth-child(1) {
        display: none;
    }
    div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li:nth-child(2) {
        width: 100%;
        padding-left: 0;
    }
    div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li ul.r3.flexbox > li .r3-4 {
        width: fit-content;
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        font-size: 1em;
    }
    div#wrapcont .cmn__item1 .item2_wrap ul.item2.flexbox > li .r6 a {
        text-align: left;
        background-size: 2.5em auto;
        padding: 0.75em 1em 0.75em calc(1em + 2.5em + 0.75em);
        min-height: 3.75em;
        font-size: 1em;
    }
    div#wrapcont .cmn__item1 .item3 {
        font-size: 1.125em;
    }
}


div#wrapcont #footFixed {
    display: none;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10000;
    width: 100%;
    padding: 15px;
}
div#wrapcont #footFixed,
div#wrapcont #footFixed * {
    pointer-events: none;
}
div#wrapcont #footFixed ul.r-main.flexbox {
    justify-content: flex-end;
    gap: 0 10px;
}
div#wrapcont #footFixed ul.r-main.flexbox > li {
    height: var(--site-foot-fixed-height1);
}
div#wrapcont #footFixed ul.r-main.flexbox > li a {
    pointer-events: auto;
}
div#wrapcont #footFixed ul.r-main.flexbox > li.li_1 {
    border: 2px solid var(--site-theme-color2);
    background-color: #ffffff;
    padding: 6px 15px;
}
div#wrapcont #footFixed ul.r-main.flexbox > li.li_2 {
    aspect-ratio: 1;
}
div#wrapcont #footFixed ul.r-main.flexbox > li.li_2 > a {
    display: block;
    height: 100%;
}
div#wrapcont #footFixed ul.r-main.flexbox > li.li_2 > a img {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
    border: 2px solid #ffffff;
    border-radius: 50%;
}
div#wrapcont #footFixed ul.r-main.flexbox > li ul.r1.flexbox {
    gap: 0 15px;
    height: 100%;
}
div#wrapcont #footFixed ul.r-main.flexbox > li ul.r1.flexbox > li {
    aspect-ratio: 1;
    height: 100%;
}
div#wrapcont #footFixed ul.r-main.flexbox > li ul.r1.flexbox > li.ex1 {
    aspect-ratio: 0.85 / 1;
}
div#wrapcont #footFixed ul.r-main.flexbox > li ul.r1.flexbox > li > a {
    display: block;
    height: 100%;
}
div#wrapcont #footFixed ul.r-main.flexbox > li ul.r1.flexbox > li > a img {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
}
@media (max-width: 767px) {
    div#wrapcont #footFixed {
        display: block;
    }
}


/* ----------------------------------------
* ヘッダー
---------------------------------------- */
div#wrapcont header {
}


/* ----------------------------------------
* 画面端ボタン
---------------------------------------- */
div#wrapcont #edgeItemArea {
    position: fixed;
    bottom: 120px;
    right: 0;
    z-index: 10000;
    --txt-color: #333;
/*    --main-color: #0083dc;*/
    --main-color: var(--site-theme-color2);
    --system-color: #5db7f4;
    --study-color: #eb8500;
    --club-color: #db89d8;
    --system-bg-color: #e7f3fb;
    --study-bg-color: #f9ecdc;
    --club-bg-color: #fbeafa;
    --resarch-color: #8cd14f;
    --resarch-bg-color: #ebf5e3;
    --consultation-color: #df7242;
    --consultation-bg-color: #ffece4;
    --other-color: #dcc600;
    --other-bg-color: #fffdeb;
    font-size: 14px;
}
div#wrapcont #edgeItemArea *:not(br) {
    letter-spacing: 0;
    line-height: 1;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
div#wrapcont #edgeItemArea svg {
    display: block;
    max-width: 100%;
    height: auto;
    fill: currentColor;
}
div#wrapcont #edgeItemArea a {
    text-decoration: none;
}
div#wrapcont #edgeItemArea .site_side_item {
    width: 80px;
    line-height: 1;
    border-radius: 5px 0 0 5px;
    border: 2px solid var(--main-color);
    overflow: hidden;
}
div#wrapcont #edgeItemArea .site_side_item:not(:last-child) {
    margin-bottom: 15px;
}
div#wrapcont #edgeItemArea .site_side_item .btn {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
}
div#wrapcont #edgeItemArea .site_side_item span {
    margin-top: 8px;
}
div#wrapcont #edgeItemArea .side_tel {
    height: 282px;
    font-size: 30px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
div#wrapcont #edgeItemArea .side_tel_icon {
    width: 39px;
    height: 39px;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}
div#wrapcont #edgeItemArea .side_mail,
div#wrapcont #edgeItemArea .side_map {
    height: 90px;
}
div#wrapcont #edgeItemArea .side_mail a,
div#wrapcont #edgeItemArea .side_map a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
div#wrapcont #edgeItemArea .side_mail_icon {
    width: 38px;
    height: 27px;
}
div#wrapcont #edgeItemArea .side_map_icon {
    width: 24px;
    height: 36px;
}
div#wrapcont #edgeItemArea .side_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 90px;
    background-color: var(--main-color);
    border: 2px solid var(--main-color);
}
div#wrapcont #edgeItemArea .side_sns img {
    width: 26px;
}
div#wrapcont #edgeItemArea .side_sns .btn {
    width: calc((100% - 1px) / 2);
    height: calc((100% - 1px) / 2);
}
div#wrapcont #edgeItemArea .side_sns .btn.ex1 img {
    width: 22px;
}
div#wrapcont #edgeItemArea .side_sns .btn:nth-child(n+3) {
    margin-top: 1px;
}
div#wrapcont #edgeItemArea .side_sns .btn > a:hover {
    opacity: .7;
}
div#wrapcont #edgeItemArea .btn {
    color: var(--main-color);
    font-weight: bold;
    background-color: #fff;
    border-radius: 5px;
    overflow: hidden;
    transition-duration: .1s;
}
div#wrapcont #edgeItemArea .btn > a,
div#wrapcont #edgeItemArea .btn > span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
div#wrapcont #edgeItemArea .btn > a:hover,
div#wrapcont #edgeItemArea .btn > span:hover {
    opacity: 1;
}
div#wrapcont #edgeItemArea .btn_blue,
div#wrapcont #edgeItemArea .btn_white {
    border: 2px solid var(--main-color);
}
div#wrapcont #edgeItemArea .btn_blue {
    background-color: var(--main-color);
}
div#wrapcont #edgeItemArea .btn_blue a {
    color: #fff;
}
div#wrapcont #edgeItemArea .btn_blue:hover {
    background-color: #fff;
}
div#wrapcont #edgeItemArea .btn_blue:hover a {
    color: var(--main-color);
}
div#wrapcont #edgeItemArea .btn_white a {
    color: var(--main-color);
}
div#wrapcont #edgeItemArea .btn_white:hover {
    background-color: var(--main-color);
}
div#wrapcont #edgeItemArea .btn_white:hover a {
    color: #fff;
}
/*@media (max-width: 1000px) {*/
@media (max-width: 767px) {
    div#wrapcont #edgeItemArea {
        display: none;
    }
}


/* ----------------------------------------
* 右下バナー固定
---------------------------------------- */
div#wrapcont #edgeItemArea2 {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 10000;
    background-color: #ffffff;
    max-width: 100%;
    border-radius: 5px 0 0 0;
    overflow: hidden;
    box-shadow: 0 -2px 5px 0 #aaa;
}
div#wrapcont #edgeItemArea2 *:not(br) {
    letter-spacing: 0;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
div#wrapcont #edgeItemArea2 a {
    display: block;
    background-color: #06C755;
    transition: all .2s;
    padding: 5px;
    border-radius: 5px 0 0 0;
    border: 2px solid #06C755;
    text-decoration: none;
}
div#wrapcont #edgeItemArea2 a:hover,
div#wrapcont #edgeItemArea2 a:hover * {
    opacity: 1!important;
}
div#wrapcont #edgeItemArea2 a:hover {
    background-color: #ffffff;
}
div#wrapcont #edgeItemArea2 a ul.items {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}
div#wrapcont #edgeItemArea2 a ul.items > li.item-img {
    width: 92px;
}
div#wrapcont #edgeItemArea2 a ul.items > li.item-txt {
    padding: 0 10px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    font-size: 15px;
}
div#wrapcont #edgeItemArea2 a ul.items > li.item-txt * {
    color: #ffffff;
    line-height: 1.25;
    font-weight: bold;
}
div#wrapcont #edgeItemArea2 a:hover ul.items > li.item-txt * {
    color: #06C755;
}
div#wrapcont #edgeItemArea2 a ul.items > li.item-txt .txt {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0 0.5em;
    width: 100%;
}
div#wrapcont #edgeItemArea2 a ul.items > li.item-txt .txt > .clm {
    letter-spacing: 0.05em;
}
div#wrapcont #edgeItemArea2 a ul.items > li.item-txt .txt.line1 {
}
div#wrapcont #edgeItemArea2 a ul.items > li.item-txt .txt.line2 {
    margin-top: 5px;
    font-size: 115%;
}
@media (max-width: 767px) {
    div#wrapcont #edgeItemArea2 {
        width: 100vw;
        right: auto;
        left: 0;
/*        bottom: 48px;*/
        bottom: calc( 15px + var(--site-foot-fixed-height1) + 10px);
        border-radius: 0 0 0 0;
        box-shadow: none;
    }
    div#wrapcont #edgeItemArea2 a {
        border-radius: 0 0 0 0;
    }
    div#wrapcont #edgeItemArea2 a ul.items > li.item-img {
        display: none;
    }
    div#wrapcont #edgeItemArea2 a ul.items > li.item-txt {
        width: 100%;
        font-size: 14px;
        position: relative;
        padding-right: calc( 10px + 1em + 10px );
    }
    div#wrapcont #edgeItemArea2 a ul.items > li.item-txt::before {
        position: absolute;
        top: 50%;
        right: 10px;
        z-index: 1;
        transform: translateY(-50%);
        content: '\2192';
        color: #ffffff;
        font-weight: bold;
    }
    div#wrapcont #edgeItemArea2 a:hover ul.items > li.item-txt::before {
        color: #06C755;
    }
    div#wrapcont #edgeItemArea2 a ul.items > li.item-txt .txt {
        justify-content: center;
        align-items: center;
    }
    div#wrapcont #edgeItemArea2 a ul.items > li.item-txt .txt.line1 {
        font-size: 14px;
    }
    div#wrapcont #edgeItemArea2 a ul.items > li.item-txt .txt.line2 {
        margin-top: 0;
        flex-direction: column;
    }
}


/* ----------------------------------------
* メインビジュアル
---------------------------------------- */
div#wrapcont #mainVisArea .r-head {
    background-color: var(--site-theme-color1);
    color: #ffffff;
    padding: 20px 15px 5px 15px;
}
div#wrapcont #mainVisArea .r-head > .center {
    width: min(calc(100% - 30px), 1350px);
    margin-left: auto;
    margin-right: auto;
}
div#wrapcont #mainVisArea .r-head * {
    color: #ffffff;
    font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-weight: bold;
}
div#wrapcont #mainVisArea .r-head .item1 {
    font-size: 1.75em;
}
div#wrapcont #mainVisArea .r-head .item1 .large1 {
    font-size: 1.25em;
}
div#wrapcont #mainVisArea .r-main {
    height: 756px;
    background-image: url('../images/home_mainvis.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    padding: 15px;
}
div#wrapcont #mainVisArea .r-main .item1 {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    transform: translateY(-50%);
    z-index: 1;
    width: fit-content;
    max-width: calc(100% - 30px);
}
div#wrapcont #mainVisArea .r-main .item1 .r1 {
    font-size: 2.25em;
    font-weight: bold;
    line-height: 3.5;
    text-shadow: #ffffff 2px 0px 2px,
                 #ffffff -2px 0px 2px,
                 #ffffff 0px -2px 2px,
                 #ffffff 0px 2px 2px,
                 #ffffff 2px 2px  2px,
                 #ffffff -2px 2px 2px,
                 #ffffff 2px -2px 2px,
                 #ffffff -2px -2px 2px,
                 #ffffff 1px 2px 2px,
                 #ffffff -1px 2px 2px,
                 #ffffff 1px -2px 2px,
                 #ffffff -1px -2px 2px,
                 #ffffff 2px 1px 2px,
                 #ffffff -2px 1px 2px,
                 #ffffff 2px -1px 2px,
                 #ffffff -2px -1px 2px;
}
div#wrapcont #mainVisArea .r-main .item1 .r1 .r1-inbox1 {
    display: inline-block;
    color: #ffffff;
/*    padding: 0.5em;*/
    padding: 0.75em 1.25em;
    font-size: 1.1em;
    background-color: var(--site-theme-color1);
    text-align: center;
    text-shadow: none;
    line-height: 1.1;
    border-radius: 10px;
    vertical-align: middle;
    margin-right: 0.5em;
}
div#wrapcont #mainVisArea .r-main .item1 .r1 .r1-inbox1 .small {
    font-size: 0.75em;
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
}
div#wrapcont #mainVisArea .r-main h1.sitelogo {
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100px;
    z-index: 1;
    width: min(calc(100% - 30px),490px);
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 1300px) {
    div#wrapcont #mainVisArea .r-main {
        height: 600px;
    }
    div#wrapcont #mainVisArea .r-main .item1 {
        transform: translateY(calc(-50% - 50px));
    }
}
@media (max-width: 1000px) {
    div#wrapcont #mainVisArea .r-head .item1 {
        font-size: 1.5em;
    }
    div#wrapcont #mainVisArea .r-main {
        height: auto;
        aspect-ratio: 1 / 0.5;
    }
    div#wrapcont #mainVisArea .r-main .item1 .r1 {
        line-height: 2.5;
        font-size: 1.75em;
    }
    div#wrapcont #mainVisArea .r-main .item1 .r1 .r1-inbox1 {
        display: block;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
    }
    div#wrapcont #mainVisArea .r-main h1.sitelogo {
        bottom: 50px;
        width: min(calc(100% - 30px),400px);
    }
}
@media (max-width: 850px) {
    div#wrapcont #mainVisArea .r-head .item1 {
        font-size: 1.25em;
    }
    div#wrapcont #mainVisArea .r-head .item1 .large1 {
        font-size: 1.1em;
    }
    div#wrapcont #mainVisArea .r-main .item1 .r1 {
        font-size: 1.5em;
    }
    div#wrapcont #mainVisArea .r-main .item1 .r1 .r1-inbox1 {
        padding: 0.5em;
    }
    div#wrapcont #mainVisArea .r-main h1.sitelogo {
        bottom: 30px;
        width: min(calc(100% - 30px),350px);
    }
}
@media (max-width: 640px) {
    div#wrapcont #mainVisArea .r-head {
        padding: 5px 10px;
    }
    div#wrapcont #mainVisArea .r-head .item1 {
        font-size: 1em;
    }
    div#wrapcont #mainVisArea .r-head .item1 .large1 {
        display: block;
    }
    div#wrapcont #mainVisArea .r-main {
        height: auto;
        aspect-ratio: 1 / 0.6;
        background-position: left 35% center;
    }
    div#wrapcont #mainVisArea .r-main .item1 {
        transform: translateY(calc(-50% - 20px));
    }
    div#wrapcont #mainVisArea .r-main .item1 .r1 {
        font-size: 1.125em;
    }
    div#wrapcont #mainVisArea .r-main h1.sitelogo {
        bottom: 15px;
        width: min(calc(100% - 30px),200px);
    }
}


/* ----------------------------------------
* メインコンテンツ
---------------------------------------- */
div#wrapcont #mainArea section.mainsec > .inner {
    width: min( calc(100% - 30px), 1000px );
    margin-left: auto;
    margin-right: auto;
}
div#wrapcont #mainArea section.mainsec.wide > .inner {
    width: 100%;
}


div#wrapcont #mainArea section.mainsec.s1 {
    background-color: #ffffff;
    border-top: 28px solid var(--site-theme-color1);
/*    border-bottom: 28px solid var(--site-theme-color1);*/
    border-bottom: 28px solid #005EAD;
    background-image: url('../images/common/parts_cherryblossom.png');
    background-size: auto 274px;
    background-repeat: repeat-x;
    background-position: center top -40px;
}
div#wrapcont #mainArea section.mainsec.s1 > .inner {
    padding-top: 80px;
    padding-bottom: 80px;
}
div#wrapcont #mainArea section.mainsec.s1 h2 {
    position: relative;
    font-size: 3.5em;
    text-align: center;
    text-shadow: #ffffff 2px 0px 2px,
                 #ffffff -2px 0px 2px,
                 #ffffff 0px -2px 2px,
                 #ffffff 0px 2px 2px,
                 #ffffff 2px 2px  2px,
                 #ffffff -2px 2px 2px,
                 #ffffff 2px -2px 2px,
                 #ffffff -2px -2px 2px,
                 #ffffff 1px 2px 2px,
                 #ffffff -1px 2px 2px,
                 #ffffff 1px -2px 2px,
                 #ffffff -1px -2px 2px,
                 #ffffff 2px 1px 2px,
                 #ffffff -2px 1px 2px,
                 #ffffff 2px -1px 2px,
                 #ffffff -2px -1px 2px;
    font-weight: bold;
    margin-bottom: 100px;
}
div#wrapcont #mainArea section.mainsec.s1 h2 .spr {
    display: inline-block;
    width: 1em;
    height: 1em;
}
div#wrapcont #mainArea section.mainsec.s1 h2 .ex1 {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 1;
    transform: translateY(80%) translateX(calc(-50% - 5.5em));
    color: inherit;
    font-weight: inherit;
    text-shadow: inherit;
    line-height: inherit;
    font-size: 0.5em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 50px 100px;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li:nth-child(1) {
    padding-top: 50px;
    width: 400px;
    max-width: 100%;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li:nth-child(2) {
    width: 450px;
    max-width: 100%;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 {
    background-image:
        url('../images/common/parts_celebration_left.png'),
        url('../images/common/parts_celebration_right.png');
    background-size:
        auto 100%,
        auto 100%;
    background-repeat:
        no-repeat,
        no-repeat;
    background-position:
        left bottom,
        right bottom;
    height: 180px;
    width: 100%;
    padding: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    position: relative;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    height: 50px;
    transform: translateY(calc(-100% - 20px));
    background-image: url('../images/common/parts_celebration_top.png');
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center top;
    content: '';
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 > .inner {
    text-align: left;
    position: relative;
    z-index: 2;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 .r1-1 {
    font-weight: bold;
    font-size: 1.75em;
    line-height: 1;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 .r1-1 .large1 {
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
    font-size: 1.5em;
    margin-right: 0.125em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 .r1-2 {
    font-weight: bold;
    font-size: 2.5em;
    line-height: 1;
    margin-top: 25px;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 .r1-2 .large1 {
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
    color: #E50012;
    font-size: 1.5em;
    margin-right: 0.125em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li {
    border-bottom: 1px solid #888888;
    padding: 1.5em 1.5em 0.75em 1.5em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox {
    gap: 0 1em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li {
    font-size: 1.75em;
    font-weight: bold;
    line-height: 1;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li:nth-child(1) {
    position: relative;
    padding-left: 2em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li:nth-child(1)::before {
    position: absolute;
    left: 0;
    bottom: 0.1em;
    z-index: 1;
    content: '';
    width: 1.5em;
    aspect-ratio: 95 / 92;
    background-image: url('../images/common/parts_icon_passed.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li:nth-child(2) {
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li .large1 {
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
    font-size: 1.35em;
    margin-right: 0.25em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li .large2 {
    font-weight: inherit;
    color: #E50012;
    line-height: inherit;
    font-size: 1.35em;
    margin-right: 0.25em;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .row_type2 {
    margin-top: 100px;
    text-align: center;
}
div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .row_type2 img {
    width: min(100%, 300px);
}
@media (max-width: 900px) {
    div#wrapcont #mainArea section.mainsec.s1 h2 {
        line-height: 1.25;
    }
    div#wrapcont #mainArea section.mainsec.s1 h2 .spr {
        display: block;
        width: 100%;
        height: 0.25em;
    }
    div#wrapcont #mainArea section.mainsec.s1 h2 .ex1 {
        position: static;
        display: block;
        transform: translateY(0) translateX(0);
    }
}
@media (max-width: 640px) {
    div#wrapcont #mainArea section.mainsec.s1 > .inner {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s1 h2 {
        font-size: 2.25em;
        margin-bottom: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s1 {
        border-top: 12px solid var(--site-theme-color1);
        border-bottom: 12px solid var(--site-theme-color1);
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox {
        gap: 50px 0;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li:nth-child(1) {
        width: 350px;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li:nth-child(2) {
        width: 400px;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 {
        height: 150px;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 > .inner {
        text-align: center;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 .r1-1 {
        font-size: 1.75em;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li .r1 .r1-2 {
        font-size: 1.75em;
        margin-top: 15px;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li {
        font-size: 1.5em;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li:nth-child(1) {
        padding-left: 2.5em;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 ul.row_type1.flexbox > li ul.r2 > li ul.r2-list1.flexbox > li:nth-child(1)::before {
        bottom: 0;
        width: 2em;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .row_type2 {
        margin-top: 80px;
    }
    div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .row_type2 img {
        width: min(100%, 250px);
    }
}


div#wrapcont #mainArea section.mainsec.s2 {
    background-color: #D3EDFB;
}
div#wrapcont #mainArea section.mainsec.s2 > .inner {
    width: min(calc(100% - 30px), 1400px);
    padding-top: 100px;
    padding-bottom: 100px;
}
div#wrapcont #mainArea section.mainsec.s2 h2 {
    text-align: center;
    margin-bottom: 100px;
}
div#wrapcont #mainArea section.mainsec.s2 h2 .r-main {
    color: #036EB7;
    font-weight: bold;
    font-size: 5em;
    line-height: 1.25;
    opacity: 0.61;
}
div#wrapcont #mainArea section.mainsec.s2 h2 .r-sub {
    line-height: 1.25;
    font-weight: bold;
    font-size: 1.85em;
    margin-top: 0.25em;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(n+2) {
    margin-top: 150px;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(odd) {
    transform: translateX(-50px);
    transform-origin: right center;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(even) {
    transform: translateX(50px);
    transform-origin: left center;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox {
    --list-clm-r1-width1: 580px;
    align-items: flex-end;
    gap: 50px 0;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li.li_txt {
    width: calc(100% - 50px - var(--list-clm-r1-width1));
    padding-left: 50px;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li.li_img {
    width: var(--list-clm-r1-width1);
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(odd) ul.r1.flexbox > li.li_txt,
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(even) ul.r1.flexbox > li.li_img {
    order: 2;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(even) ul.r1.flexbox > li.li_txt,
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(odd) ul.r1.flexbox > li.li_img {
    order: 1;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-img {
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(odd) ul.r1.flexbox > li .r1-img {
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(even) ul.r1.flexbox > li .r1-img {
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap {
    background-color: #ffffff;
    padding: 50px 30px;
    position: relative;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    gap: 30px 0;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-number {
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: 1;
    width: 100px;
    transform: translateX(-50%) translateY(50px);
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-txt {
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    color: var(--site-theme-color2);
    font-weight: bold;
    font-size: 2em;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-wrap {
    width: fit-content;
    max-width: 630px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.05em;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-wrap > p {
    line-height: 2;
}
div#wrapcont #mainArea section.mainsec.s2 .mainclm2 {
    margin-top: 100px;
}
@media (max-width: 1500px) {
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(odd) {
        transform: translateX(0);
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(even) {
        transform: translateX(0);
    }
}
@media (max-width: 1350px) {
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox {
        --list-clm-r1-width1: 500px;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li.li_txt {
        width: calc(100% - 30px - var(--list-clm-r1-width1));
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap {
        min-height: 0;
    }
}
@media (max-width: 1200px) {
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox {
        flex-direction: column;
        align-items: center;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li.li_txt {
        width: min(100%, 800px);
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li.li_img {
        width: min(80%, 500px);
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(odd) ul.r1.flexbox > li.li_txt,
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(even) ul.r1.flexbox > li.li_txt {
        order: 1;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(odd) ul.r1.flexbox > li.li_img,
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(even) ul.r1.flexbox > li.li_img {
        order: 2;
    }
}
@media (max-width: 640px) {
    div#wrapcont #mainArea section.mainsec.s2 > .inner {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s2 h2 .r-main {
        font-size: 2.5em;
    }
    div#wrapcont #mainArea section.mainsec.s2 h2 .r-sub {
        font-size: 1.25em;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li:nth-child(n+2) {
        margin-top: 100px;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox {
        gap: 20px 0;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li.li_txt {
        padding-left: 0;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap {
        padding: 50px 30px 30px 30px;
        gap: 20px 0;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-number {
        width: 70px;
        left: 50%;
        transform: translateX(-50%) translateY(30px);
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-txt {
        font-size: 1.25em;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-wrap {
        font-size: 1em;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.row_type1 > li ul.r1.flexbox > li .r1-wrap .r1-wrap-wrap > p {
        line-height: 1.75;
    }
    div#wrapcont #mainArea section.mainsec.s2 .mainclm2 {
        margin-top: 50px;
    }
}


div#wrapcont #mainArea section.mainsec.s3 {
}
div#wrapcont #mainArea section.mainsec.s3 > .inner {
    width: min(calc(100% - 30px), 1200px);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 {
    position: relative;
    padding-top: 100px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type1 {
    transform: translateX(-30px);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type1 > p {
    font-weight: bold;
    font-size: 2em;
    background: linear-gradient(transparent 70%, #FFF000 0%);
    display: inline;
    padding-left: 0.3em;
    padding-right: 0.3em;
    line-height: 2;
    text-shadow: #ffffff 2px 0px 2px,
                 #ffffff -2px 0px 2px,
                 #ffffff 0px -2px 2px,
                 #ffffff 0px 2px 2px,
                 #ffffff 2px 2px  2px,
                 #ffffff -2px 2px 2px,
                 #ffffff 2px -2px 2px,
                 #ffffff -2px -2px 2px,
                 #ffffff 1px 2px 2px,
                 #ffffff -1px 2px 2px,
                 #ffffff 1px -2px 2px,
                 #ffffff -1px -2px 2px,
                 #ffffff 2px 1px 2px,
                 #ffffff -2px 1px 2px,
                 #ffffff 2px -1px 2px,
                 #ffffff -2px -1px 2px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 {
    margin-top: 50px;
    transform: translateX(-30px);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 * {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
    font-style: normal;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-head {
    background-color: #231815;
    position: relative;
    color: #ffffff;
    padding: 0.5em 1.5em 0.5em 0.25em;
    width: fit-content;
    max-width: calc(100% - 1.5em);
    font-size: 1.25em;
    font-style: italic;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-head::before,
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-head::after {
    position: absolute;
    top: 0;
    z-index: 1;
    background-color: inherit;
    content: '';
    height: 100%;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-head::before {
    left: 0;
    width: 50vw;
    transform: translateX(calc(-50vw + 2px));
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-head::after {
    right: 0;
    width: 1.25em;
    clip-path: polygon(0 100%, 0 0, 100% 100%);
    transform: translateX(calc(1.25em - 1px));
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-main {
    font-size: 2em;
    font-style: italic;
    line-height: 1.25;
    margin-top: 20px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-main .large {
    font-style: inherit;
    line-height: inherit;
    font-size: 2.5em;
    color: var(--site-theme-color1);
    display: inline-block;
    margin-right: 0.15em;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type2 {
    position: absolute;
    bottom: -60px;
    right: -210px;
    z-index: 10;
    width: 850px;
    text-align: center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type2 img {
    border-radius: 30px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 {
    padding-top: 150px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 h2 {
    margin-top: 80px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 h2 .r-main {
    margin-top: 50px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 .row_type2 {
    bottom: 0;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 {
    padding-top: 150px;
    padding-left: 700px;
    width: 1400px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 h2 {
    transform: translateX(0);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 h2 .r-head::before {
    left: 0;
    width: 300px;
    transform: translateX(calc(-100% + 2px));
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 .row_type1 {
    transform: translateX(0);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 .row_type2 {
    right: auto;
    left: -230px;
    bottom: -80px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 {
    margin-top: 20px;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2::before {
    position: absolute;
    top: 0;
    left: calc(50% + 2px);
    z-index: 1;
    content: '';
    width: calc(100vw + 4px);
    height: 100%;
    transform: translateX(calc(-50vw - 2px));
    background-image: url('../images/common/bg1.png');
    background-size: 56px auto;
    background-repeat: repeat;
    background-position: center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 > * {
    position: relative;
    z-index: 2;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox {
    align-items: flex-end;
    gap: 100px 0;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox {
    --list-clm-width1: 650px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li:nth-child(1) {
    width: calc(100% - var(--list-clm-width1));
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li:nth-child(2) {
    width: var(--list-clm-width1);
    padding-left: 15px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li .r1 {
    font-size: 2em;
    color: var(--site-theme-color1);
    font-weight: bold;
    margin-bottom: 30px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li .r2 *:not(br) {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    font-style: normal;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li .r2 > * {
    font-size: 1.1em;
    line-height: 1.75;
    transform: rotate(-0.05deg);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li .r2 > *:nth-child(n+2) {
    margin-top: 1.25em;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li .r2 .marker {
    background: linear-gradient(transparent 70%, #FFF000 0%);
    display: inline;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox {
    gap: 40px 10px;
    flex-wrap: wrap;
    justify-content: center;
    width: 800px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li {
    width: 250px;
    max-width: 100%;
    text-align: center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li .r3-1 {
    position: relative;
    font-weight: bold;
    color: var(--site-theme-color1);
    font-size: 1.1em;
    width: fit-content;
    max-width: 100%;
    padding-left: 1em;
    padding-right: 1em;
    min-width: 10em;
    margin-left: auto;
    margin-right: auto;
    min-height: 1.5em;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li .r3-1::before,
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li .r3-1::after {
    position: absolute;
    top: 0;
    z-index: 1;
    content: '';
    width: 1.5em;
    height: 2px;
    color: inherit;
    background-color: currentColor;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li .r3-1::before {
    left: 0;
    transform: rotate(70deg);
    transform-origin: left center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li .r3-1::after {
    right: 0;
    transform: rotate(-70deg);
    transform-origin: right center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li .r3-2 {
    margin-top: 15px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox > li .r3-2 img {
    border-radius: 10px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox {
    align-items: flex-start;
    gap: 100px 0;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li {
    width: calc(50% - 30px);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r1 {
    font-size: 2em;
    color: var(--site-theme-color1);
    font-weight: bold;
    margin-bottom: 30px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r2 *:not(br) {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    font-style: normal;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r2 > * {
    font-size: 1.1em;
    line-height: 1.75;
    transform: rotate(-0.05deg);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r2 > *:nth-child(n+2) {
    margin-top: 1.25em;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r2 .marker {
    background: linear-gradient(transparent 70%, #FFF000 0%);
    display: inline;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 {
    margin-top: 50px;
    width: min(100%, 500px);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 .r3-1 {
    position: relative;
    font-weight: bold;
    color: var(--site-theme-color1);
    font-size: 1.1em;
    width: fit-content;
    max-width: 100%;
    padding-left: 1em;
    padding-right: 1em;
    min-width: 10em;
    margin-left: auto;
    margin-right: auto;
    min-height: 1.5em;
    text-align: center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 .r3-1::before,
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 .r3-1::after {
    position: absolute;
    top: 0;
    z-index: 1;
    content: '';
    width: 1.5em;
    height: 2px;
    color: inherit;
    background-color: currentColor;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 .r3-1::before {
    left: 0;
    transform: rotate(70deg);
    transform-origin: left center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 .r3-1::after {
    right: 0;
    transform: rotate(-70deg);
    transform-origin: right center;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 ul.r3-2.flexbox {
    margin-top: 15px;
    flex-wrap: wrap;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 ul.r3-2.flexbox > li {
    width: calc(50% - 5px);
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 ul.r3-2.flexbox > li img {
    border-radius: 10px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex1 ul.row_type1.flexbox {
    --list-clm-width1: 560px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex1 ul.row_type1.flexbox > li ul.r3.flexbox {
    width: 100%;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex2 {
    margin-top: 50px;
    width: calc(100% + 60px);
    margin-left: -30px;
    padding-top: 150px;
}
div#wrapcont #mainArea section.mainsec.s3 .mainclm3 {
    padding-top: 100px;
    padding-bottom: 100px;
}
@media (max-width: 1650px) {
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type2 {
        right: -100px;
        width: 750px;
        bottom: 0;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 .row_type2 {
        left: -120px;
        bottom: 0;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex2 {
        padding-top: 80px;
    }
}
@media (max-width: 1500px) {
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type1 {
        transform: translateX(0);
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 {
        transform: translateX(0);
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type2 {
        right: 0;
        width: calc(100% - 500px);
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 {
        padding-top: 100px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 h2 {
        margin-top: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 h2 .r-main {
        margin-top: 20px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 {
        padding-top: 100px;
        margin-top: 20px;
        padding-left: 0;
        width: 100%;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 .row_type2 {
        left: auto;
        right: 0;
        width: calc(100% - 500px);
        z-index: -1;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox {
        align-items: flex-start;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li ul.r3.flexbox {
        width: 100%;
    }
}
@media (max-width: 1350px) {
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex2 {
        width: 100%;
        margin-left: 0;
    }
}
@media (max-width: 1200px) {
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 {
        width: min(100%,800px);
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type2 {
        position: static;
        margin-top: 30px;
        width: 100%;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type2 img {
        width: min(100%, 800px);
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 {
        width: min(100%, 800px);
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 .row_type2 {
        width: 100%;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox {
        flex-direction: column;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li:nth-child(1),
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex1 ul.row_type1.flexbox > li:nth-child(1) {
        width: fit-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li:nth-child(2),
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex1 ul.row_type1.flexbox > li:nth-child(2) {
        width: 100%;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li:nth-child(2) {
        padding-left: 0;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox {
        flex-direction: column;
        align-items: center;

        width: min(100%,600px);
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li {
        width: 100%;
    }
}
@media (max-width: 640px) {
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 {
        padding-top: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type1 > p {
        font-size: 1.5em;
        padding-left: 0;
        padding-right: 0;
        line-height: 1.75;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type1 > p + br.ex1 {
        display: none;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 {
        margin-top: 30px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-head {
        font-size: 1em;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-main {
        font-size: 1.5em;
        margin-top: 10px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 h2 .r-main .large {
        font-size: 2em;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .row_type2 {
        margin-top: 15px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 {
        padding-top: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 h2 {
        margin-top: 30px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex1 h2 .r-main {
        margin-top: 10px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm1.ex2 {
        padding-top: 50px;
        margin-top: 0;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2.ex2 {
        padding-top: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox {
        gap: 50px 0;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li .r1 {
        font-size: 1.5em;
        margin-bottom: 20px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type1.flexbox > li .r2 > * {
        font-size: 1em;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox {
        gap: 80px 0;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r1 {
        font-size: 1.5em;
        margin-bottom: 20px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r2 > * {
        font-size: 1em;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm2 ul.row_type2.flexbox > li .r3 {
        margin-top: 30px;
    }
    div#wrapcont #mainArea section.mainsec.s3 .mainclm3 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}


div#wrapcont #mainArea section.mainsec.s4 {
    background-image: url('../images/common/bg1.png');
    background-size: 56px auto;
    background-repeat: repeat;
    background-position: center;
}
div#wrapcont #mainArea section.mainsec.s4 > .inner {
    width: min(calc(100% - 30px), 1200px);
    padding-top: 100px;
    padding-bottom: 100px;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type1 {
    text-align: center;
    color: var(--site-theme-color2);
    font-size: 2em;
    font-weight: bold;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap {
    margin-top: 100px;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox {
    --list-clm-margin-h: 15px;
    --list-clm-margin-v: 50px;
    --list-clm-number-h: 3;
    justify-content: center;
    flex-wrap: wrap;
    width: calc( 100% + var(--list-clm-margin-h) );
    gap: var(--list-clm-margin-v) 0;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li {
    width: calc( (100% / var(--list-clm-number-h) ) - var(--list-clm-margin-h) );
    margin-right: var(--list-clm-margin-h);
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li a {
    display: block;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r1 {
    text-align: center;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r1 img {
    border-radius: 30px;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r2 {
    margin-top: 30px;
    text-align: center;
    font-weight: bold;
    position: relative;
    font-size: 1.2em;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r2 .space1 {
    height: 1em;
    width: 1.5em;
    display: inline-block;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}
div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r2 .rb1 {
    position: absolute;
    left: 0.75em;
    bottom: 0;
    z-index: 1;
    transform: translateY(100%);
    font-size: 0.8em;
}
@media (max-width: 1200px) {
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r2 .space1 {
        display: block;
        position: static;
        height: 1px;
    }
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r2 .rb1 {
        display: block;
        position: static;
        transform: translateY(0);
    }
}
@media (max-width: 1000px) {
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap {
        width: min(100%, 750px);
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox {
        --list-clm-margin-h: 30px;
        --list-clm-number-h: 2;
    }
}
@media (max-width: 767px) {
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap {
        width: min(100%, 300px);
    }
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox {
        flex-direction: column;
        --list-clm-number-h: 1;
        align-items: center;
    }
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap ul.row_type2.flexbox > li .r2 {
        margin-top: 15px;
    }
}
@media (max-width: 640px) {
    div#wrapcont #mainArea section.mainsec.s4 > .inner {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type1 {
        font-size: 1.5em;
    }
    div#wrapcont #mainArea section.mainsec.s4 .mainclm1 .row_type2_wrap {
        margin-top: 50px;
    }
}


div#wrapcont #mainArea section.mainsec.s5 > .inner {
    width: min(calc(100% - 30px), 1200px);
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm1 {
    padding-top: 100px;
    padding-bottom: 100px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm1 .row_type1_wrap ul.row_type1.flexbox {
    --list-clm-margin-h: 15px;
    --list-clm-margin-v: 30px;
    --list-clm-number-h: 3;
    justify-content: center;
    flex-wrap: wrap;
    width: calc( 100% + var(--list-clm-margin-h) );
    gap: var(--list-clm-margin-v) 0;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm1 .row_type1_wrap ul.row_type1.flexbox > li {
    width: calc( (100% / var(--list-clm-number-h) ) - var(--list-clm-margin-h) );
    margin-right: var(--list-clm-margin-h);
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm1 .row_type1_wrap ul.row_type1.flexbox > li .r1 {
    text-align: center;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 {
    position: relative;
    padding: 100px 0;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2::before {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    width: calc(100vw + 4px);
    height: 100%;
    content: '';
    transform: translateX(calc(-50vw - 2px));
    background-image: url('../images/common/bg2.png');
    background-size: 24px auto;
    background-repeat: repeat;
    background-position: center;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 > .inner {
    width: calc(100% - 30px);
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
    background-color: #ffffff;
    padding: 50px;
    border-radius: 5px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 > .inner:nth-child(n+2) {
    margin-top: 50px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 {
    --list-clm-width1: 260px;
    width: min(100%, 1050px);
    margin-left: auto;
    margin-right: auto;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li:nth-child(n+2) {
    margin-top: 50px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li:has(.r3) {
    position: relative;
    padding-right: calc(var(--list-clm-width1) + 50px);
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li .r1 {
    font-size: 1.25em;
    font-weight: bold;
    padding-top: 0.125em;
    padding-left: 1em;
    padding-bottom: 0.125em;
    border-left: 5px solid var(--site-theme-color2);
    border-bottom: 1px solid var(--site-theme-color2);
    margin-bottom: 20px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li ul.r2.flexbox {
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.25em 1em;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li ul.r2.flexbox > li {
    position: relative;
    padding-left: calc(1em + 0.25em);
    font-size: 0.9em;
    line-height: 1.75;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li ul.r2.flexbox > li::before {
    position: absolute;
    top: 0.15em;
    left: 0;
    z-index: 1;
    content: '';
    background-color: var(--site-theme-color2);
    width: 1em;
    aspect-ratio: 1;
    border-radius: 50%;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li .r3 {
    color: #ffffff;
    font-size: 1.25em;
    font-weight: bold;
    text-align: center;
    background-color: #eb8500;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 5px;
    height: 80px;
    width: var(--list-clm-width1);
    max-width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li .r3 .large {
    font-size: 1.25em;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dt {
    color: var(--site-theme-color2);
    font-weight: normal;
    border-bottom: 1px solid #005EAD;
    font-size: 1.1em;
    padding: 0 20px 15px 20px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dd {
    padding: 20px 20px 0 20px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dd .r1 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dd .r1 > * {
    line-height: 2;
    font-size: 0.9em;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dd .r1 > p {
    margin-right: 1em
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dd .r1 > span {
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm3 {
    position: relative;
    height: 737px;
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm3 .row_type1 {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100vw + 2px);
    height: 100%;
    z-index: 1;
    transform: translateX(calc(-50vw - 1px));
}
div#wrapcont #mainArea section.mainsec.s5 .mainclm3 .row_type1 iframe {
    width: 100%;
    height: 100%;
}
@media (max-width: 1080px) {
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li:has(.r3) {
        padding-right: 0;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li .r3 {
        position: static;
        margin-top: 20px;
    }
}
@media (max-width: 1000px) {
    div#wrapcont #mainArea section.mainsec.s5 .mainclm1 .row_type1_wrap {
        width: min(100%, 750px);
        margin-left: auto;
        margin-right: auto;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm1 .row_type1_wrap ul.row_type1.flexbox {
        --list-clm-margin-h: 30px;
        --list-clm-number-h: 2;
    }
}
@media (max-width: 767px) {
    div#wrapcont #mainArea section.mainsec.s5 .mainclm1 .row_type1_wrap {
        width: min(100%, 300px);
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm1 .row_type1_wrap ul.row_type1.flexbox {
        --list-clm-margin-v: 15px;
        --list-clm-number-h: 1;
        flex-direction: column;
        align-items: center;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm3 {
        height: auto;
        aspect-ratio: 1;
    }
}
@media (max-width: 640px) {
    div#wrapcont #mainArea section.mainsec.s5 .mainclm1 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 > .inner {
        padding: 30px;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 > .inner:nth-child(n+2) {
        margin-top: 30px;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li:nth-child(n+2) {
        margin-top: 30px;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li .r1 {
        font-size: 1.125em;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 ul.row_type1 > li .r3 {
        font-size: 1em;
        height: auto;
        width: fit-content;
        padding: 0.5em 1.5em;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dt {
        padding: 0 0 15px 0;
    }
    div#wrapcont #mainArea section.mainsec.s5 .mainclm2 dl.row_type2 > dd {
        padding: 20px 0 0 0;
    }
}


/* ----------------------------------------
* フッター
---------------------------------------- */
div#wrapcont footer {
    background-color: #ffffff;
}
div#wrapcont footer ul.r-main.flexbox {
    gap: 30px 50px;
    padding-top: 50px;
    padding-bottom: 50px;
    width: min(calc(100% - 30px), 1200px);
    margin-left: auto;
    margin-right: auto;
    align-items: flex-end;
}
div#wrapcont footer ul.r-main.flexbox > li.li_logo {
    width: 250px;
}
div#wrapcont footer ul.r-main.flexbox > li.li_info {
}
div#wrapcont footer ul.r-main.flexbox > li .r1 {
    text-align: center;
}
div#wrapcont footer ul.r-main.flexbox > li .r2 {
    text-align: right;
}
div#wrapcont footer ul.r-main.flexbox > li .r2 .space1 {
    display: inline-block;
    height: 1em;
    width: 1em;
    line-height: 1px;
}
div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox {
    margin-top: 15px;
    gap: 30px 15px;
    align-items: center;
}
div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox > li.li_1 {
    width: 36px;
    aspect-ratio: 1;
}
div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox > li.li_1.ex1 {
    aspect-ratio: 1 / 0.85;
}
div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox > li.li_1 > a {
    display: block;
    height: 100%;
}
div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox > li.li_1 > a img {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
}
div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox > li.li_2 {
    width: 240px;
    margin-left: 15px;
    text-align: center;
}

div#wrapcont footer .r-copy {
    background-color: var(--site-theme-color2);
    padding: 30px 15px;
}
div#wrapcont footer .r-copy .r1 {
    text-align: center;
    color: #ffffff;
    font-size: 12px;
}
div#wrapcont footer .r-copy .foot-space {
    width: 100%;
    height: 0;
    display: block;
}
@media (max-width: 1200px) {
    div#wrapcont footer .r-copy .foot-space {
        display: block;
        height: 105px;
    }
}
@media (max-width: 850px) {
    div#wrapcont footer ul.r-main.flexbox {
        flex-direction: column;
        align-items: center;
    }
    div#wrapcont footer ul.r-main.flexbox > li .r2 {
        text-align: center;
    }
}
@media (max-width: 640px) {
    div#wrapcont footer ul.r-main.flexbox > li .r1 img {
        width: min(100%, 200px);
    }
    div#wrapcont footer ul.r-main.flexbox > li .r2 {
        width: fit-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
    }
    div#wrapcont footer ul.r-main.flexbox > li .r2 .space1 {
        width: 100%;
        display: block;
        height: 1px;
    }
    div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox {
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 30px;
    }
    div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox > li.li_2 {
        width: 100%;
        margin-left: 0;
    }
    div#wrapcont footer ul.r-main.flexbox > li ul.r3.flexbox > li.li_2 img {
        width: min(100%, 250px);
    }
    div#wrapcont footer .r-copy .foot-space {
        height: calc(var(--site-foot-fixed-height1) + 30px + 60px);
    }
}


