@charset 'utf-8';
/* ============================================================================
 * Base
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * Base > Default
 * ------------------------------------------------------------------------- */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html{line-height: 1.15;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}body{margin: 0;}article,aside,footer,header,nav,section{display: block;}h1{font-size: 2em;margin: 0.67em 0;}figcaption,figure,main{display: block;}figure{margin: 1em 40px;}hr{box-sizing: content-box;height: 0;overflow: visible;}pre{font-family: monospace, monospace;font-size: 1em;}a{background-color: transparent;-webkit-text-decoration-skip: objects;}abbr[title]{border-bottom: none;text-decoration: underline;text-decoration: underline dotted;}b,strong{font-weight: inherit;}b,strong{font-weight: bolder;}code,kbd,samp{font-family: monospace, monospace;font-size: 1em;}dfn{font-style: italic;}mark{background-color: #ff0;color: #000;}small{font-size: 80%;}sub,sup{font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}sub{bottom: -0.25em;}sup{top: -0.5em;}audio,video{display: inline-block;}audio:not([controls]){display: none;height: 0;}img{border-style: none;}svg:not(:root){overflow: hidden;}button,input,optgroup,select,textarea{font-family: sans-serif;font-size: 100%;line-height: 1.15;margin: 0;}button,input{overflow: visible;}button,select{text-transform: none;}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance: button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style: none;padding: 0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline: 1px dotted ButtonText;}fieldset{padding: 0.35em 0.75em 0.625em;}legend{box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0; /* 3 */white-space: normal;}progress{display: inline-block;vertical-align: baseline;}textarea{overflow: auto;}[type="checkbox"],[type="radio"]{box-sizing: border-box;padding: 0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height: auto;}[type="search"]{-webkit-appearance: textfield;outline-offset: -2px;}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance: none;}::-webkit-file-upload-button{-webkit-appearance: button;font: inherit;}details,menu{display: block;}summary{display: list-item;}canvas{display: inline-block;}template{display: none;}[hidden]{display: none;}

/* ----------------------------------------------------------------------------
 * Base > Default Over-ride
 * ------------------------------------------------------------------------- */
*,
*::before,
*::after{
    box-sizing: border-box;
}

html{
    font-size: 62.5%;
}

body{
    background-color: #fff;
    color: #333;
    font-family: 'Yu Gothic Medium', YuGothic,YuGothicM, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 1.5;
    margin: 0 auto;
    padding: 0;
    word-break: normal;
    word-wrap: break-word;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
blockquote{
    font-weight: normal;
    margin: 0;
    padding: 0;
}

a{
    color: #333;
    text-decoration: none;
}

p a{
    color: #5272d3;
    text-decoration: underline;
}

p a:hover{
    text-decoration: none;
}

a:visited{
    color: #551a8b;
}

em,
strong,
b{
    font-style: normal;
}

strong{
    color: #d22222;
    font-weight: normal;
}

sub,
sup{
    font-size: 60%;
}

sup{
    top: -.75em;
}

ul{
    list-style: none;
}

img{
    height: auto;
    -ms-interpolation-mode: bicubic;
    max-width: 100%;
    vertical-align: bottom;
}

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

button{
    border: 0;
    cursor: pointer;
    padding: 0;
    font-family: 'Yu Gothic Medium', YuGothic,YuGothicM, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
}
button[disabled]{
    cursor: auto;
}

input[placeholder]{
    font-family: 'Yu Gothic Medium', YuGothic,YuGothicM, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

table{
    border-collapse: separate;
    table-layout: fixed;
}
table th,
table td{
    border-bottom: 1px solid #333;
    border-right: 1px solid #333;
    vertical-align: middle;
}


/* ============================================================================
 * Layout
 * ========================================================================= */
/* --------------------------------------------------------------------
 * Layout > Header > header
 * ----------------------------------------------------------------- */
.header{
    min-width: 320px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.header.style-member{
    background-color: #7d55c7;
}
@media screen and (min-width:768px){
    .header{
        display: block;
        padding: 28px 0 0;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > site-top
 * ----------------------------------------------------------------- */
.site-top{
    width: 100%;
    height: 54px;
    padding-right: 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media screen and (min-width:768px){
    .site-top{
        max-width: 1520px;
        height: auto;
        margin: 0 auto;
        position: relative;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > site-logo
 * ----------------------------------------------------------------- */
.site-logo{
    font-size: 1.6rem;
    margin-right: auto;
    padding: 0 14px 0 9px;
}
.style-member .site-logo{
    padding: 4px 8px 0 4px;
}
.style-member .site-logo a img{
    vertical-align: middle;
}
@media screen and (min-width:768px){
    .site-logo{
        padding: 0;
        position: absolute;
        top: -16px;
        left: 1.316%;
        width: 244px;
    }
    .style-member .site-logo a{
        width: 100%;
        display: flex;
        align-items: center;
    }
    .style-member .site-logo a img{
        width: 100%;
    }
    .style-member .site-logo{
        padding: 0;
        width: 244px;
    }
}
@media screen and (max-width:767px){
    .site-logo{
        max-width: 174px;
    }
    .style-member .site-logo{
        max-width: 146px;
    }
}

@media print{
    div.site-logo a img{
        width:38%;
        height:auto;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > mypage
 * ----------------------------------------------------------------- */
.mypage{
    text-align: center;
    color: #ededed;
    font-size: 1.2rem;
    padding: 0 44px 2px 0;
    position: absolute;
    top: 20px;
    left: 140px;
    font-size: 10px;
}
.mypage .sub-text{
    display: none;
}
@media screen and (min-width:768px){
    .mypage{
        text-align: left;
        color: #fff;
        font-size: 1.8vw;
        font-weight: bold;
        display: block;
        position: absolute;
        top: 2px;
        left: 262px;
        width: 15%;
        padding: 0;
    }
    .mypage .sub-text{
        display: block;
        color: #ededed;
        font-size: 1rem;
        font-weight: normal;
    }
}
@media screen and (min-width:1001px){
    .mypage{
        font-size: 1.8rem;
    }
    .mypage .sub-text{
        font-size: 1.2rem;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > login logout
 * ----------------------------------------------------------------- */
.login .mod-button-02.static-arrow,
.style-member .logout .mod-button-02.static-arrow{
    font-size: 1.2rem;
    box-shadow: none;
    width: 90px;
    min-height: 36px;
    padding: 8px 6px;
}
.login .mod-button-02.static-arrow::before,
.style-member .logout .mod-button-02.static-arrow::before{
    content: none;
}
.style-member .logout .mod-button-02.static-arrow{
    border: 1px solid #693cbd;
    background-color: #693cbd;
}
.style-member .logout .mod-button-02.static-arrow:visited{
    color: #fff;
}

@media screen and (min-width:768px){
    .login,
    .style-member .logout{
        max-width: 225px;
        width: 14.803%;
        position: absolute;
        top: 2px;
        right: 1.316%;
    }
    .style-member .logout{
        max-width: 200px;
        width: 13.513%;
    }
    .login .mod-button-02.static-arrow,
    .style-member .logout .mod-button-02.static-arrow{
        font-size: 1.4545vw;
        width: 100%;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
        padding: 11px 2.727vw;
    }
    .login .mod-button-02.static-arrow:hover,
    .style-member .logout .mod-button-02.static-arrow:hover{
        box-shadow: none;
    }
    .login .mod-button-02.static-arrow::before,
    .style-member .logout .mod-button-02.static-arrow::before{
        content: '';
        display: block;
        width: 7px;
        height: 7px;
        transform: rotate(135deg);
        position: absolute;
        left: 1.636vw;
        top: 0;
        bottom: 0;
        margin: auto 0;
        border-top: 2px solid #fff;
        border-left: 2px solid #fff;
    }
}
@media screen and (min-width:1101px){
    .login .mod-button-02.static-arrow,
    .style-member .logout .mod-button-02.static-arrow{
        font-size: 1.6rem;
        padding: 11px 30px;
    }
    .login .mod-button-02.static-arrow::before,
    .style-member .logout .mod-button-02.static-arrow::before{
        left: 18px;
    }
}

.login .mod-button-02.static-arrow::before, .style-member .logout .mod-button-02.static-arrow::before {
    background: none;
    border-radius: 0;
}
.login .mod-button-02.static-arrow::after, .style-member .logout .mod-button-02.static-arrow::after {
    display: none;
}

/* --------------------------------------------------------------------
 * Layout > Header > menu-button
 * ----------------------------------------------------------------- */
.menu-button{
    background-color: transparent;
    width: 52px;
    height: 54px;
    margin-left: 6px;
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
}
.menu-button span,
.menu-button::before,
.menu-button::after{
    content: '';
    display: block;
    height: 2px;
    width: 25px;
    border-radius: 3px;
    background: #555;
    position: absolute;
    cursor: pointer;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.menu-button::before{
    top: 15px;
}
.menu-button::after{
    bottom: 15px;
}
.menu-button span{
    color: transparent;
}
.menu-button.is-open{
    background-color: #f5f3fa;
}
.menu-button.is-open::before,
.menu-button.is-open::after{
    width: 32px;
}
.menu-button.is-open::before{
    transform: rotate(45deg);
    top: -5px;
}
.menu-button.is-open::after{
    transform: rotate(-45deg);
    bottom: 5px;
}
.menu-button.is-open span{
    width: 1px;
    background-color: transparent;
}
.style-member .menu-button span,
.style-member .menu-button::before,
.style-member .menu-button::after{
    background-color: #fff;
}
.style-member .menu-button.is-open{
    background-color: #7d55c7;
}

@media screen and (min-width:768px){
    .menu-button{
        display: none;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > navigation
 * ----------------------------------------------------------------- */
.navigation{
    flex: 0 1 100%;
}
@media screen and (min-width:768px){
    .navigation{
        flex-direction: column-reverse;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > global-navigation
 * ----------------------------------------------------------------- */
.global-navigation{
    background-color: #7d55c7;
}
.style-member .global-navigation{
    background-color: #7d55c7;
}

@media screen and (min-width:768px){
    .global-navigation{
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);
    }
    .style-member .global-navigation{
        background-color: #E1D7F2;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > global-navigation-link
 * ----------------------------------------------------------------- */
.global-navigation-link > li{
    border-bottom: 1px solid #ccc;
    position: relative;
}
.global-navigation-link a{
    color: #fff;
    font-weight: bold;
    display: block;
    padding: 13px 40px 11px 15px;
}
.global-navigation-link a::after{
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 1px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.style-member .global-navigation-link > li{
    border-color: #7d55c7;
}
.style-member .global-navigation-link a{
    color: #fff;
    font-weight: normal;
}
.style-member .global-navigation-link a:hover{
    color: #fff;
    background-color: #7d55c7;
}
.style-member .global-navigation-link a::after{
    border-color: #d5c7ff;
}

@media screen and (min-width:768px){
    .global-navigation-link{
        display: flex;
        max-width: 1480px;
        margin: 0 auto;
    }
    .global-navigation-link > li{
        flex: 1 1 0%;
        display: flex;
        border-bottom: none;
        border-right: 1px solid #fff;
    }
    .global-navigation-link > li:first-child{
        border-left: 1px solid #fff;
    }
    .global-navigation-link a{
        flex: 0 1 100%;
        text-align: center;
        font-weight: normal;
        padding: 13px 10px 7px;
        font-size: 1.6vw;
        transition: background-color .15s linear 0s;
    }
    .global-navigation-link a:hover{
        color: #333;
        background-color: #E1D7F2;
    }
    .global-navigation-link .is-current{
        background-color: #E1D7F2;
        color: #333;
    }
    .global-navigation-link a::after{
        content: none;
    }
    .style-member .global-navigation-link > li:first-child{
        border-color: #7d55c7;
    }
    .style-member .global-navigation-link a{
        color: #333;
        padding: 14px 10px 10px;
    }
}
@media screen and (min-width:1001px){
    .global-navigation-link a{
        font-size: 1.6rem;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > navigation-others
 * ----------------------------------------------------------------- */
@media screen and (min-width:768px){
    .navigation-others{
        width: 100%;
        max-width: 1520px;
        margin: 0 auto;
        padding: 2px 16.118% 30px 36.5%;
        display: flex;
        justify-content: flex-end;
    }
    .style-member .navigation-others{
        padding: 2px 16.118% 30px 37.5%;
    }
}
@media screen and (min-width:1521px){
    .navigation-others{
        padding: 2px 245px 30px 348px;
    }
    .style-member .navigation-others{
        padding: 2px 220px 30px 570px;
    }
}
@media screen and (min-width:768px) and (max-width:979px){
    .style-member .navigation-others{
        padding: 2px 16.118% 30px 40%;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > others-link
 * ----------------------------------------------------------------- */
.others-link{
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 20px;
    background-color: #f5f3fa;
}
.others-link > li{
    flex: 0 1 50%;
    border-bottom: 1px solid #ccc;
}
.others-link > li:nth-child(2n-1){
    border-right: 1px solid #ccc;
}
.others-link > li > a{
    color: #7d55c7;
    font-size: 1.2rem;
    display: block;
    padding: 15px;
}
.style-member .others-link{
    background-color: #7d55c7;
}
.style-member .others-link > li{
    border-color: #7d55c7;
}
.style-member .others-link > li > a{
    color: #fff;
}

@media screen and (min-width:768px){
    .others-link{
        flex: 0 1 100%;
        justify-content: flex-end;
        align-items: center;
        padding-bottom: 0;
        background-color: transparent;
        margin-right: 10px;
    }
    .others-link > li{
        flex: 0 1 auto;
        border-bottom: none;
        margin: 1px 3px;
    }
    .others-link > li > a{
        color: #333;
        font-size: 1.3vw;
        padding: 0 0 0 1.363vw;
    }
    .others-link > li:nth-child(2n-1){
        border-right: none;
    }
    .others-link > li > a:hover{
        text-decoration: underline;
    }
    .others-link > li > a::before{
        content: '';
        display: inline-block;
        vertical-align: middle;
        width: 8px;
        height: 8px;
        border-top: 2px solid #7d55c7;
        border-left: 2px solid #7d55c7;
        border-radius: 1px;
        transform: rotate(135deg);
        margin-right: 8px;
    }
    .style-member .others-link{
        margin-right: 7px;
        max-width: 530px;
    }
    .style-member .others-link > li > a{
        padding-left: 12px;
    }
    .style-member .others-link > li > a::before{
        border-color: #d5c7ff;
    }
}
@media screen and (min-width:1001px){
    .others-link > li > a{
        font-size: 1.4rem;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > navigation-search
 * ----------------------------------------------------------------- */
.navigation-search{
    background-color: #f5f3fa;
    padding: 0 19px 33px 16px;
}
.navigation-search .mod-search-box-set .search-input input[type="text"]{
    height: 48px;
    background-color: #fff;
}
.navigation-search .mod-search-box-set .search-button{
    min-width: 48px;
    min-height: 48px;
}
.navigation-search .mod-search-box-set .search-button .search-icon{
    width: 16px;
    height: 16px;
}
.navigation-search .mod-search-box-set .search-button .search-icon::before{
    width: 13px;
    height: 13px;
}.navigation-search .mod-search-box-set .search-button .search-icon::after{
    width: 2px;
    height: 8px;
    top: 8px;
    left: 12px;
}
.style-member .navigation-search{
    background-color: #7d55c7;
}
.style-member .navigation-search .mod-search-box-set .search-input input[type="text"]{
    background-color: #dce0f5;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, .1);
}
.style-member .mod-search-box-set .search-button{
    background-color: #fff;
}
.style-member .mod-search-box-set .search-button .search-icon::before {
    border-color: #7d55c7;
}
.style-member .mod-search-box-set .search-button .search-icon::after {
    background-color: #7d55c7;;
}

@media screen and (min-width:768px){
    .navigation-search{
        flex: 0 1 225px;
        min-width: 24.271%;
        background-color: transparent;
        margin: 0 20px;
        padding: 0;
        justify-content: space-between;
    }
    .navigation-search .mod-search-box-set .search-input input[type="text"]{
        padding: 0 14px;
        background-color: #f5f4f0;
    }
    .style-member .navigation-search{
        margin: 0 2.631%;
    }
}

/* --------------------------------------------------------------------
 * Layout > Header > site-top-senkyo
 * ----------------------------------------------------------------- */
 .site-top-senkyo{
    width: 100%;
    height: 54px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.style-member .site-top-senkyo .site-logo{
    max-width: 120px;
}
.site-top-senkyo .mypage {
    position: relative;
    top: -4px;
    left: auto;
    padding-left: 10px;
}
.header-navigation{
    flex-shrink: 0;
}
.header-link{
    padding-right: 10px;
}
.header-link > li > a{
    color: #fff;
    font-size: 1.2rem;
}
.header-link > li > a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    border-radius: 1px;
    transform: rotate(135deg);
    margin-right: 8px;
}
@media screen and (min-width:768px){
    .site-top-senkyo{
        max-width: 1520px;
        height: auto;
        margin: 0 auto;
        padding-bottom: 80px;
        position: relative;
    }
    .style-member .site-top-senkyo .site-logo,
    .style-member .site-top-senkyo .mypage{
        padding-right: 0;
    }
    .style-member .site-top-senkyo .site-logo{
        max-width: 244px;
    }
    .style-member .site-top-senkyo .mypage{
        width: inherit;
        top: 1.1vh;
        font-size: 3.0vw;
        position: absolute;
        top: 20px;
        left: 270px;
    }
    .header-navigation{
        position: absolute;
        top: 1.5vh;
        right: 10.526%;
    }
    .header-link {
        padding-right: 0;
    }
    .header-link > li > a{
        font-size: 1.4vw;
    }
}
@media screen and (min-width:1001px){
    .style-member .site-top-senkyo .mypage{
        top: 4px;
        font-size: 3rem;
    }
    .header-navigation{
        top: 15px;
    }
    .header-link > li > a{
        font-size: 1.4rem;
    }
}

/* ----------------------------------------------------------------------------
 * Layout > Footer
 * ------------------------------------------------------------------------- */
.site-bottom{
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
}
/* --------------------------------------------------------------------
 * Layout > Footer > footer-link
 * ----------------------------------------------------------------- */
.footer-link-outer{
    margin: 10px 0 10px;
    padding: 10px 0;
    background-color: #7d55c7;
}
.footer-link{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
}
.footer-link > li{
    margin: 6px 10px 6px 0;
}
.footer-link > li > a{
    font-size: 1.4rem;
    color: #fff;
}
.footer-link > li > a:hover{
    text-decoration: underline;
}
@media screen and (min-width:768px){
    .footer-link-outer{
        margin: 0 0 32px;
    }
    .footer-link{
        padding: 6px 20px;
    }
    .footer-link > li{
        margin-right: 28px;
    }
    .footer-link > li:last-child{
        margin-right: 0;
    }
}
/* --------------------------------------------------------------------
 * Layout > Footer > site-bottom
 * ----------------------------------------------------------------- */
.site-bottom .emblem,
.site-bottom .copyright{
    margin: 20px 0;
    text-align: center;
}
.site-bottom .copyright small{
    font-size: 1.2rem;
}
@media screen and (min-width:768px){
    .site-bottom{
        justify-content: space-between;
        align-items: center;
    }
    .site-bottom .emblem{
        margin: 0 auto 16px;
        width: 320px;
    }
    .site-bottom .copyright{
        margin: 0 auto 32px;
    }
    .site-bottom .copyright small{
        font-size: 1.4rem;
    }
}

@media print {
    div.emblem img {
        width: 30%;
        height: auto;
    }
}

/* ----------------------------------------------------------------------------
 * Layout > Main Content
 * ------------------------------------------------------------------------- */

/* --------------------------------------------------------------------
 * Layout > Main > sns-link
 * ----------------------------------------------------------------- */
.sns-link{
    margin: 20px 0 30px;
    display: flex;
    flex-wrap: wrap;
}
.sns-link > li{
    flex: 1 1 200px;
    margin: 10px 16px 25px;
}
.sns-link > li > a{
    display: flex;
    align-items: center;
    transition: opacity .15s linear 0s;
}
.sns-link > li > a:hover{
    opacity: .8;
}
.sns-link > li > a > img{
    margin-right: 15px;
    max-width: 40px;
}
.sns-link > li > a .sns-link-text{
    font-size: 1.4rem;
}
@media screen and (min-width:768px){
    .sns-link{
        width: 100%;
        max-width: 1240px;
        margin: 40px 0 -65px;
        padding: 0 20px;
        justify-content: center;
        align-items: center;
    }
    .sns-link > li{
        flex: 0 1 360px;
        margin: 0 0 25px;
    }
    .sns-link > li > a > img{
        margin-right: 17px;
    }
    .sns-link > li > a .sns-link-text{
        font-size: 1.6rem;
        margin-top: 3px
    }
}

/* --------------------------------------------------------------------
 * Layout > Main Content > breadcrumb
 * ----------------------------------------------------------------- */
.breadcrumb{
    max-width: 1520px;
    margin: 0 auto;
    padding: 5px 10px;
    color: #7d55c7;
    background-color: #f5f5f5;
    line-height: 1.6;
}
.breadcrumb > a,
.breadcrumb > em{
    display: inline-block;
    font-size: 1.4rem;
}
.breadcrumb > a{
    padding-right: 42px;
    color: #333;
    text-decoration: underline;
    position: relative;
}
.breadcrumb > a:hover{
    text-decoration: none;
}
.breadcrumb > a::after{
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #7d55c7;
    border-left: 1px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    right: 19px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.breadcrumb > em{
    color: #999;
}
@media screen and (min-width:768px){
    .breadcrumb{
        flex: 0 1 100%;
        background-color: transparent;
        margin: 0;
        padding: 5px 20px;
    }
}
/* --------------------------------------------------------------------
 * Layout > Main Content > page-title
 * ----------------------------------------------------------------- */
.page-title-outer{
    margin-bottom: 30px;
    background-image: url(/shared/img/bg-pattern-01.gif);
}
.page-title-outer.category-top-01{
    background: url(/shared/img/cover-image-category-top-sp-01.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-top-02{
    background: url(/shared/img/cover-image-category-top-sp-02.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-top-03{
    background: url(/shared/img/cover-image-category-top-sp-03.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-top-04{
    background: url(/shared/img/cover-image-category-top-sp-04.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-top-05{
    background: url(/shared/img/cover-image-category-top-sp-05.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-lower-01{
    background: url(/shared/img/cover-image-category-lower-sp-01.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-lower-02{
    background: url(/shared/img/cover-image-category-lower-sp-02.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-lower-03{
    background: url(/shared/img/cover-image-category-lower-sp-03.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-lower-04{
    background: url(/shared/img/cover-image-category-lower-sp-04.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-outer.category-lower-05{
    background: url(/shared/img/cover-image-category-lower-sp-05.jpg) no-repeat right center;
    background-size: cover;
}
.page-title-01,
.page-title-02{
    padding: 20px 9px;
    font-size: 2.4rem;
    font-weight: bold;
    display: table;
}
.page-title-01{
    color: #7D55C7;
    height: 104px;
}
.page-title-outer.category-top-01 .page-title-01,.page-title-outer.category-top-02 .page-title-01,.page-title-outer.category-top-03 .page-title-01,.page-title-outer.category-top-04 .page-title-01,.page-title-outer.category-top-05 .page-title-01,.page-title-outer.category-lower-01 .page-title-01,.page-title-outer.category-lower-02 .page-title-01,.page-title-outer.category-lower-03 .page-title-01,.page-title-outer.category-lower-04 .page-title-01,.page-title-outer.category-lower-05 .page-title-01{
    color: #7D55C7;
    text-shadow: 0px 0px 10px rgb(254 255 255), 0px 0px 20px rgb(255 255 255), 0px 0px 30px rgb(255 255 255);
}
.page-title-02{
    color: #7D55C7;
    height: 78px;
}
.page-title-outer.category-top-01 .page-title-02,.page-title-outer.category-top-02 .page-title-02,.page-title-outer.category-top-03 .page-title-02,.page-title-outer.category-top-04 .page-title-02,.page-title-outer.category-top-05 .page-title-02,.page-title-outer.category-lower-01 .page-title-02,.page-title-outer.category-lower-02 .page-title-02,.page-title-outer.category-lower-03 .page-title-02,.page-title-outer.category-lower-04 .page-title-02,.page-title-outer.category-lower-05 .page-title-02{
    color: #7D55C7;
}
.page-title-01 .title-text,
.page-title-02 .title-text{
    display: table-cell;
    vertical-align: middle;
}

@media screen and (min-width:768px){
    .page-title-outer{
        flex: 0 1 100%;
    }
    .page-title-outer.category-top-01{
        background-image: url(/shared/img/cover-image-category-top-pc-01.jpg);
    }
    .page-title-outer.category-top-02{
        background-image: url(/shared/img/cover-image-category-top-pc-02.jpg);
    }
    .page-title-outer.category-top-03{
        background-image: url(/shared/img/cover-image-category-top-pc-03.jpg);
    }
    .page-title-outer.category-top-04{
        background-image: url(/shared/img/cover-image-category-top-pc-04.jpg);
    }
    .page-title-outer.category-top-05{
        background-image: url(/shared/img/cover-image-category-top-pc-05.jpg);
    }
    .page-title-outer.category-lower-01{
        background-image: url(/shared/img/cover-image-category-lower-pc-01.jpg);
    }
    .page-title-outer.category-lower-02{
        background-image: url(/shared/img/cover-image-category-lower-pc-02.jpg);
    }
    .page-title-outer.category-lower-03{
        background-image: url(/shared/img/cover-image-category-lower-pc-03.jpg);
    }
    .page-title-outer.category-lower-04{
        background-image: url(/shared/img/cover-image-category-lower-pc-04.jpg);
    }
    .page-title-outer.category-lower-05{
        background-image: url(/shared/img/cover-image-category-lower-pc-05.jpg);
    }
    .page-title-01,
    .page-title-02{
        margin: 0 auto;
        max-width: 1240px;
        width: 100%;
        padding: 20px 290px 20px 20px;
        font-size: 3.6rem;
    }
    .page-title-01{
        height: 240px;
    }
    .page-title-02{
        height: 140px;
    }
}

/* --------------------------------------------------------------------
 * Layout > Main Content > container
 * ----------------------------------------------------------------- */
.container{
    margin: 0 10px 20px;
}
@media screen and (min-width:768px){
    .container{
        display: flex;
        max-width: 1240px;
        width: 100%;
        margin: 0 0 20px;
        padding: 30px 20px 20px;
    }
    main .container:nth-last-of-type(3){
        width: 77%;
        max-width: 980px;
    }
    .container + .container{
        width: 260px;
        max-width: 260px;
        margin-top: -117px;
        position: relative;
        left: -20px;
        padding: 0;
    }
    .breadcrumb + .container{
        margin-top: 55px;
    }
    .local-navigation{
        flex: 0 1 100%;
        max-width: 260px;
    }
}
@media screen and (min-width:1000px) and (max-width:1239px){
    main .container:nth-last-of-type(3){
        width: 72vw;
    }
}
@media screen and (min-width:768px) and (max-width:999px){
    main .container:nth-last-of-type(3){
        width: 63.14786585172vw;
    }
}

/* --------------------------------------------------------------------
 * Layout > Main Content > content
 * ----------------------------------------------------------------- */
.content > :first-child{
    margin-top: 0;
}
@media screen and (min-width:768px){
    .content{
        padding-right: 68px;
        flex: 0 1 100%;
        max-width: 940px;
        min-width: 0;
    }
    .content.full-width{
        padding-right: 0;
        max-width: 100%;
    }
}
@media screen and (min-width:768px) and (max-width:1239px){
    .content{
        padding-right: 10px;
    }
}

/* --------------------------------------------------------------------
 * Layout > Main Content > page-top
 * ----------------------------------------------------------------- */
.page-top{
    background-color: #e7e4f0;
    height: 32px;
    position: relative;
}
.page-top a{
    display: block;
    width: 100%;
    height: 100%;
    font-size: 1rem;
    color: transparent;
    position: absolute;
}
.page-top a::before{
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 3px solid #7d55c7;
    border-left: 3px solid #7d55c7;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
@media screen and (min-width:768px){
    main{
        position: relative;
        padding-bottom: 72px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .page-top{
        width: 40px;
        height: 40px;
        border-radius: 6px;
        position: absolute;
        right: 32px;
        bottom: 32px;
    }
}
@media screen and (min-width:768px) and (max-width:1239px){
    main{
        justify-content: space-between;
    }
}

/* --------------------------------------------------------------------
 * Layout > Main Content > local-navigation
 * ----------------------------------------------------------------- */
.local-navigation{
    margin: 30px -10px;
    border-top: 1px solid #7d55c7;
    border-bottom: 1px solid #7d55c7;
}

/* title */
.local-navigation .local-navigation-title > a{
    display: block;
    font-size: 2rem;
    font-weight: bold;
    padding: 14px 40px 14px 14px;
    background-color: #e7e4f0;
    position: relative;
}
.local-navigation .local-navigation-title > a::before{
    content: '';
    display: block;
    width: 13px;
    height: 13px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto 0;
}

/* base */
.local-navigation-list a{
    display: block;
    width: 100%;
}
.local-navigation-list button{
    position: relative;
    display: block;
    width: 70px;
    background: none;
    color: transparent;
    font-size: 1rem;
}

/* layer-1 */
.local-navigation-list.layer-1{
    background-color: #f5f3fa;
}
.local-navigation-list.layer-1 a,
.local-navigation-list.layer-1 button{
    border-bottom: 1px solid #d3cde5;
}
.local-navigation-list.layer-1 a{
    padding: 11px 15px 9px;
}
.local-navigation-list.layer-1 > li:first-child a,
.local-navigation-list.layer-1 > li:first-child button{
    border-top: 1px solid #d3cde5;
}

/* layer-2 */
.local-navigation-list.layer-2{
    background-color: #e8e6ed;
    padding-left: 15px;
}
.local-navigation-list.layer-2 > li a,
.local-navigation-list.layer-2 > li button{
    border-top: none;
    border-bottom: 1px solid #d3cde5;
}
.local-navigation-list.layer-2 > li a{
    padding: 8px 0 8px 19px;
}

/* layer-3 */
.local-navigation-list.layer-3{
    background-color: #dcdae0;
}
.local-navigation-list.layer-3 > li a,
.local-navigation-list.layer-3 > li button{
    border-top: 1px solid #e8e6ed;
}
.local-navigation-list.layer-3 > li a{
    padding: 8px 0 8px 20px;
}
.local-navigation-list.layer-3 > li:first-child a,
.local-navigation-list.layer-3 > li:first-child button{
    border-top: none;
}

/* bar mark */
.local-navigation .mark-bar{
    padding-left: 20px;
    position: relative;
    display: block;
}
.local-navigation .mark-bar::before{
    content: '';
    display: block;
    width: 10px;
    height: 1px;
    background-color: #7d55c7;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2px;
    margin: auto 0;
}

/* current */
.local-navigation-list .is-current{
    color: #999;
    position: relative;
}
.local-navigation-list .is-current::before{
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    background-color: #ffa400;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    margin: auto 0;
}
.local-navigation-list.layer-1 .is-current{
    padding-left: 30px;
}
.local-navigation-list.layer-1 > li{
    position: relative;
}
.local-navigation-list.layer-3 .is-current{
    padding-left: 20px;
}
.local-navigation-list.layer-3 .is-current::before{
    left: 10px;
}

/* .js-current-nav */
.local-navigation.js-current-nav .local-navigation-list.layer-1 .local-navigation-list{
    display: none;
}
.local-navigation.js-current-nav .local-navigation-list.layer-1 .is-current-item > .local-navigation-list,
.local-navigation.js-current-nav .local-navigation-list.layer-1 .local-navigation-list.is-current-category{
    display: block;
}

@media screen and (min-width:768px){
    .page-title-outer + .container .local-navigation{
        margin-top: -147px;
    }
    .local-navigation{
        display: block;
        border: none;
        align-self: flex-start;
        margin: 0;
        padding-bottom: 15px;
        position: relative;
        z-index: 2;
    }
    .local-navigation .local-navigation-title{
        font-size: 2rem;
        font-weight: bold;
        border-radius: 6px 6px 0 0;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .16);
    }
    .local-navigation .local-navigation-title > a{
        border-radius: 6px 6px 0 0;
        padding: 29px 20px 27px 24px;
        background-color: #fff;
        transition: background-color .15s linear 0s;
    }
    .local-navigation .local-navigation-title > a:hover{
        background-color: #f5f3fa;
    }
    .local-navigation .local-navigation-title > a::before{
        content: none;
    }

    /* base */
    .local-navigation .local-navigation-list a{
        display: block;
        width: 100%;
    }
    .local-navigation-list.layer-1,
    .local-navigation-list.layer-2,
    .local-navigation-list.layer-3{
        background-color: #fff;
    }

    /* layer-1 */
    .local-navigation-list.layer-1{
        padding: 0 21px;
        border-radius: 0 0 6px 6px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .16);
    }
    .local-navigation-list.layer-1 > li:first-child{
        border-top: 1px solid #7d55c7;
    }
    .local-navigation-list.layer-1 > li{
        padding-left: 20px;
    }
    .local-navigation-list.layer-1 > li a{
        border-top: 1px solid rgba(146, 131, 189, .4);
        border-bottom: none;
        padding: 21px 0 17px 6px;
    }
    .local-navigation-list.layer-1 > li:first-child a{
        border-top: none;
    }

    /* layer-2 */
    .local-navigation-list.layer-2{
        padding: 11px 0;
        border-top: 1px solid rgba(146, 131, 189, .4);
    }
    .local-navigation-list.layer-2 > li a{
        font-weight: normal;
        padding: 8px 0 8px 17px;
        border-top: none;
    }

    /* layer-3 */
    .local-navigation-list.layer-3{
        padding: 2px 0 0;
    }
    .local-navigation-list.layer-3 > li a{
        padding: 8px 0 8px 19px;
        border-top: none;
    }

    /* current */
    .local-navigation-list.layer-1 .is-current{
        color: #7d55c7;
        font-weight: bold;
    }
    .local-navigation-list .is-current::before{
        left: -10px;
    }
    .local-navigation-list.layer-1 .is-current{
        padding-left: 7px;
    }
    .local-navigation-list.layer-3 .is-current{
        padding-left: 19px;
    }

    /* bar mark */
    .local-navigation-list .mark-bar{
        display: block;
        position: relative;
    }
    .local-navigation-list .mark-bar::before{
        content: '';
        display: block;
        width: 11px;
        height: 1px;
        background-color: #ccc;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto 0;
    }

    /* hover */
    .local-navigation-list a{
        position: relative;
        transition: background-color .1s linear 0s;
        background-color: #fff;
    }
    .local-navigation-list > li a:hover{
        background-color: #f5f3fa;
    }
}

.local-navigation .local-navigation-list + .banner-list{
    margin-top: 20px;
    margin-bottom: 20px;
}
.local-navigation .banner-list > li{
    text-align: center;
    margin-top: 20px;
}
.local-navigation .banner-list > li:first-child{
    margin-top: 0;
}

/* ============================================================================
 * Module
 * ========================================================================= */

/* --------------------------------------------------------------------
 * Module > Grid Modules > mod-grid
 * ----------------------------------------------------------------- */
.mod-grid{
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}
.mod-grid-col1.style-fit{
    margin-top: 0;
}
.mod-grid > .column{
    flex: 0 1 100%;
}
.mod-grid.style-fit > .column{
    margin: 0;
}
.mod-grid > .column :first-child{
    margin-top: 0;
}
@media screen and (max-width:767px){
    .mod-grid > .column{
        margin-top: 15px;
    }
    .mod-grid > .column:first-child{
        margin-top: 0;
    }
}

/* sp蟷�〒繧ゅげ繝ｪ繝�ラ縺輔○繧句ｿ�ｦ√′蜃ｺ縺ｦ縺阪◆縺ｨ縺阪↓菴ｿ縺� */
@media screen and (max-width:767px){
    [class*="sp-column"]{
        margin-top: 20px;
    }
    .mod-grid.sp-column1 > .column{
        margin-top: 26px;
    }
    [class*="sp-column"] > .column{
        margin-top: 6px;
        margin-left: 2%;
    }
    .mod-grid.sp-column1 > .column:first-child,
    .mod-grid.sp-column2 > .column:nth-child(-n+2),
    .mod-grid.sp-column3 > .column:nth-child(-n+3),
    .mod-grid.sp-column4 > .column:nth-child(-n+4),
    .mod-grid.sp-column5 > .column:nth-child(-n+5){
        margin-top: 0;
    }
    .mod-grid.sp-column1 > .column:nth-child(n+1),
    .mod-grid.sp-column2 > .column:nth-child(2n+1),
    .mod-grid.sp-column3 > .column:nth-child(3n+1),
    .mod-grid.sp-column4 > .column:nth-child(4n+1),
    .mod-grid.sp-column5 > .column:nth-child(5n+1){
        margin-left: 0;
    }

    .mod-grid.sp-column1 > .column{
        flex: 0 1 100%;
    }
    .mod-grid.sp-column2 > .column{
        flex: 0 1 49%;
    }
    .mod-grid.sp-column3 > .column{
        flex: 0 1 32%;
    }
    .mod-grid.sp-column4 > .column{
       flex: 0 1 23.5%;
    }
    .mod-grid.sp-column5 > .column{
        flex: 0 1 18.4%;
    }
    .mod-grid.sp-column1.style-fit > .column{
        flex: 0 1 100%;
    }
    .mod-grid.sp-column2.style-fit > .column{
        flex: 0 1 50%;
    }
    .mod-grid.sp-column3.style-fit > .column{
        flex: 0 1 33.333%;
    }
    .mod-grid.sp-column4.style-fit > .column{
        flex: 0 1 25%;
    }
    .mod-grid.sp-column5.style-fit > .column{
        flex: 0 1 20%;
    }
}

/* pc only */
@media screen and (min-width:768px){
    .mod-grid{
        margin-top: 60px;
    }
    .mod-grid > .column{
        margin-top: 25px;
        margin-left: 2.873%;
    }
    .mod-grid.pc-column1 > .column:first-child,
    .mod-grid.pc-column2 > .column:nth-child(-n+2),
    .mod-grid.pc-column3 > .column:nth-child(-n+3),
    .mod-grid.pc-column4 > .column:nth-child(-n+4),
    .mod-grid.pc-column5 > .column:nth-child(-n+5){
        margin-top: 0;
    }
    .mod-grid.pc-column1 > .column:nth-child(n+1),
    .mod-grid.pc-column2 > .column:nth-child(2n+1),
    .mod-grid.pc-column3 > .column:nth-child(3n+1),
    .mod-grid.pc-column4 > .column:nth-child(4n+1),
    .mod-grid.pc-column5 > .column:nth-child(5n+1){
        margin-left: 0;
    }
    .mod-grid.pc-column1 > .column{
        flex: 0 1 100%;
    }
    .mod-grid.pc-column2 > .column{
        flex: 0 1 48.563%;
    }
    .mod-grid.pc-column3 > .column{
        flex: 0 1 31.417%;
    }
    .mod-grid.pc-column4 > .column{
       flex: 0 1 22.844%;
    }
    .mod-grid.pc-column5 > .column{
        flex: 0 1 17.701%;
    }
    .mod-grid.pc-column1.style-fit > .column{
        flex: 0 1 100%;
    }
    .mod-grid.pc-column2.style-fit > .column{
        flex: 0 1 50%;
    }
    .mod-grid.pc-column3.style-fit > .column{
        flex: 0 1 33.333%;
    }
    .mod-grid.pc-column4.style-fit > .column{
        flex: 0 1 25%;
    }
    .mod-grid.pc-column5.style-fit > .column{
        flex: 0 1 20%;
    }
}
@media screen and (min-width:768px) and (max-width:1000px){
    .mod-grid.tab-column{
        display: block;
    }
    .mod-grid.tab-column.pc-column2 > .column:nth-child(-n+2),
    .mod-grid.tab-column.pc-column3 > .column:nth-child(-n+3),
    .mod-grid.tab-column.pc-column4 > .column:nth-child(-n+4),
    .mod-grid.tab-column.pc-column5 > .column:nth-child(-n+5),
    .mod-grid.tab-column > .column{
        margin-top: 25px;
        margin-left: 0;
    }
    .mod-grid.tab-column > .column:first-child{
        margin-top: 0;
    }
}

/* --------------------------------------------------------------------
 * Module > Layout Modules > mod-image-text
 * ----------------------------------------------------------------- */
.mod-image-text{
    margin-top: 15px;
    font-size: 1.4rem;
}
.mod-image-text.style-wraparound{
    display: flex;
    flex-direction: column;
}
.mod-image-text.style-wraparound .image{
    flex: none;
}
.mod-image-text.style-wraparound .text{
    order: -1;
}
.mod-image-text .image{
    width: 100%;
    text-align: center;
    margin-top: 10px;
}

/* in mod-list */
[class*=mod-list] .mod-image-text .image{
    margin-bottom: 25px;
}

.mod-image-text .image .caption{
    display: block;
    margin-top: 6px;
}
.mod-image-text .text{
    line-height: 1.75;
}
.mod-image-text .text > :first-child{
    margin-top: 0;
}
.mod-image-text .image.style-left{
    margin: 30px auto;
}
@media screen and (min-width:768px){
    .mod-image-text{
        font-size: 1.6rem;
        margin-top: 25px;
    }
    .mod-image-text .text{
        line-height: 1.812;
    }
    .mod-image-text .image.style-left,
    .mod-image-text .image.style-right{
        width: auto;
        margin: 30px auto;
    }
    .mod-image-text .image .caption{
        font-size: 1.4rem;
    }
    .mod-image-text.style-wraparound .image.style-left + .text > [class^="mod-heading-"]{
        margin-right: 0;
    }
    /* in mod-list */
    [class*=mod-list] .mod-image-text .image{
        margin-bottom: 35px;
    }
    /* in mod-gird  */
    .mod-grid .mod-image-text{
        display: flex;
        flex-direction: column;
    }
    .mod-grid .mod-image-text .image{
        flex: none;
    }
    .mod-grid .mod-image-text .image.style-left,
    .mod-grid .mod-image-text .image.style-right{
        width: 100%;
        margin: 0 0 30px;
        float: none;
    }
}
@media screen and (min-width:1001px){
    .mod-image-text{
        display: flex;
        justify-content: center;
    }
    .mod-image-text .text{
        flex: 1 0 0%;
    }
    .mod-image-text .image.style-left,
    .mod-image-text .image.style-right{
        margin-top: 5px;
        flex: none;
    }
    .mod-image-text.style-wraparound{
        display: block;
    }
    .mod-image-text.style-wraparound .image{
        margin-bottom: 30px;
    }
    .mod-image-text.style-wraparound .image.style-left{
        float: left;
    }
    .mod-image-text.style-wraparound .image.style-right{
        float: right;
    }
    .mod-image-text.style-wraparound::after{
        content: '';
        display: block;
        clear: both;
    }
    .mod-image-text .image.style-left{
        order: -1;
        margin-right: 30px;
    }
    .mod-image-text .image.style-right{
        margin-left: 30px;
    }
}

/* --------------------------------------------------------------------
 * Module > Layout Modules > mod-image-text style-stereotyped
 * ----------------------------------------------------------------- */
.mod-image-text.style-stereotyped{
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    background-color: #f5f5f5;
    padding: 16px 15px;
    display: flex;
    flex-direction: column;
}
.mod-image-text.style-stereotyped .image.style-left{
    order: -1;
    text-align: left;
    margin-top: 0;
}
.mod-image-text.style-stereotyped .text{
    margin-top: 10px;
}
@media screen and (min-width:768px){
    .mod-image-text.style-stereotyped{
        padding: 19px 24px 16px;
        flex-direction: row;
        justify-content: flex-start;
    }
    .mod-image-text.style-stereotyped .image.style-left,
    .mod-image-text.style-stereotyped .text{
        flex: 0 1 auto;
    }
    .mod-image-text.style-stereotyped .image.style-left{
        margin: 0 23px 0 0;
        min-width: 158px;
        width: auto;
    }
    .mod-image-text.style-stereotyped .text{
        margin-top: 0;
    }
    .mod-image-text.style-stereotyped .image.style-left img{
        margin-top: 5px;
    }
}
/* --------------------------------------------------------------------
 * Module > Heading Modules > mod-heading-XX
 * ----------------------------------------------------------------- */
.mod-heading-01,
.mod-heading-02,
.mod-heading-03,
.mod-heading-04,
.mod-heading-05,
.mod-heading-circle,
.mod-heading-accordion{
    font-weight: bold;
}


.mod-heading-01{
    font-size: 2.2rem;
    margin: 30px auto 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #7d55c7;
}

.mod-heading-01--small {
    font-size: 2.4rem;
    margin: 30px auto 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #dddddd;
}

.mod-heading-02{
    font-size: 2rem;
    margin: 30px auto 20px;
    padding: 2px 0 1px 12px;
    border-left: 2px solid #7d55c7;
}

.mod-heading-03{
    font-size: 1.8rem;
    margin: 30px auto 20px;
    padding-bottom: 7px;
    position: relative;
}
.mod-heading-03::after{
    content: '';
    display: block;
    width: 36px;
    height: 1px;
    background-color: #b0b0b0;
    position: absolute;
    left: 0;
    bottom: 0;
}

.mod-heading-04{
    color: #7d55c7;
    font-size: 1.6rem;
    margin: 25px auto 20px;
}

/* mod-heading-circle */

.mod-heading-circle{
    font-size: 1.8rem;
    margin: 40px auto 20px;
    padding-left: 30px;
    position: relative;
}
.mod-heading-circle .mark{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-radius: 50%;
    font-size: 1.4rem;
    width: 2.4rem;
    height: 2.4rem;
    padding: 2px;
    text-align: center;
}
.mod-heading-circle .mark{
    color: #fff;
    background-color: #7d55c7;
}
.mod-heading-circle.style-light-color .mark{
    color: #7d55c7;
    background-color: #ede9f9;
}

/* accordion */

.mod-heading-accordion{
    font-size: 2.2rem;
    margin: 30px auto 24px;
    padding: 21px 48px 19px 12px;
    background-color: #f7f5fa;
    border-bottom: 1px solid #7d55c7;
    position: relative;
    line-height: 1.25;
}
.mod-heading-accordion.width-circle{
    padding-left: 4rem;
}
.mod-heading-accordion .js-toggle-hook{
    background-color: transparent;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.mod-heading-accordion .js-toggle-hook .button-text{
    font-size: 0;
    color: transparent;
    background-color: #fff;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    margin: auto 0;
}
.mod-heading-accordion .js-toggle-hook .button-text::before,
.mod-heading-accordion .js-toggle-hook .button-text::after{
    content: '';
    display: block;
    width: 18px;
    height: 2px;
    background-color: #ffa400;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.mod-heading-accordion .js-toggle-hook .button-text::after{
    transform: rotate(90deg);
}
.js-toggle.is-open .mod-heading-accordion .js-toggle-hook .button-text::after{
    content: none;
}
.mod-heading-accordion.width-circle .mark,
.mod-heading-accordion.width-circle .mark::before{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}
.mod-heading-accordion.width-circle .mark{
    top: 23px;
    left: 1.5rem;
    z-index: 1;
    min-width: 2.3rem;
    padding: .4rem 0;
    font-size: 1.2rem;
    font-weight: normal;
    text-align: center;
    color: #7d55c7;
}
.mod-heading-accordion.width-circle .mark::before{
    content: '';
    z-index: -1;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 50%;
    background-color: #fff;
}

.mod-heading-01 .tag.new,
.mod-heading-02 .tag.new,
.mod-heading-03 .tag.new,
.mod-heading-04 .tag.new,
.mod-heading-05 .tag.new{
    min-width: 70px;
    vertical-align: middle;
    margin-left: 10px;
}

@media screen and (min-width:768px){
    .mod-heading-01{
        font-size: 2.8rem;
        margin-top: 60px;
        margin-bottom: 40px;
        padding-bottom: 14px;
    }

    .mod-heading-01--small {
        font-size: 2.4rem;
    }

    .mod-heading-02{
        font-size: 2.2rem;
        margin: 50px auto 32px;
        padding-left: 19px;
    }

    .mod-heading-03{
        font-size: 2rem;
    }

    .mod-heading-04{
        font-size: 1.8rem;
    }

    /* mod-heading-circle */

    .mod-heading-circle{
        font-size: 2.2rem;
        padding-left: 4.7rem;
    }
    .mod-heading-circle .mark{
        font-size: 1.8rem;
        top: -2px;
        width: 3.6rem;
        height: 3.6rem;
        padding: 5px;
    }

    /* accordion */

    .mod-heading-accordion{
        font-size: 2.8rem;
        margin: 30px auto 46px;
        padding-bottom: 16px;
        padding-right: 65px;
    }
    .mod-heading-accordion.width-circle{
        padding-left: 6.5rem;
    }
    .mod-heading-accordion .js-toggle-hook .button-text{
        width: 45px;
        height: 45px;
        right: 16px;
    }
    .mod-heading-accordion .js-toggle-hook .button-text::before,
    .mod-heading-accordion .js-toggle-hook .button-text::after{
        width: 23px;
        height: 3px;
    }
    .mod-heading-accordion.width-circle .mark{
        font-size: 1.8rem;
        font-weight: bold;
        top: 20px;
        left: 1.8rem;
        min-width: 3.6rem;
        padding: .7rem 0;
    }
    .mod-heading-accordion.width-circle .mark::before{
        width: 3.6rem;
        height: 3.6rem;
    }
}

/* --------------------------------------------------------------------
 * Module > Heading Modules > mod-heading > link
 * ----------------------------------------------------------------- */
.mod-heading-01 > .link,
.mod-heading-02 > .link,
.mod-heading-03 > .link,
.mod-heading-04 > .link,
.mod-heading-05 > .link{
    display: inline-block;
    position: relative;
    padding-right: 20px;
    background-color: transparent;
}
.mod-heading-01 > .link:hover,
.mod-heading-02 > .link:hover,
.mod-heading-03 > .link:hover,
.mod-heading-04 > .link:hover,
.mod-heading-05 > .link:hover{
    color: #7d55c7;
    text-decoration: underline;
}
.mod-heading-01 > .link::after,
.mod-heading-02 > .link::after,
.mod-heading-03 > .link::after,
.mod-heading-04 > .link::after,
.mod-heading-05 > .link::after{
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
    margin: auto 0;
}
.mod-heading-01 > .link::after{
    width: 12px;
    height: 12px;
}

/* --------------------------------------------------------------------
 * Module > Paragraph Modules > mod-sentence
 * ----------------------------------------------------------------- */
* + .mod-sentence{
    margin-top: 11px;
}
.mod-sentence{
    font-size: 1.4rem;
    line-height: 1.7;
}
.mod-sentence.align-center{
    text-align: center;
}
.mod-sentence.align-right{
    text-align: right;
}
.mod-sentence a{
    color: #5272d3;
    text-decoration: underline;
}
.mod-sentence a:hover{
    text-decoration: none;
}
.mod-sentence.style-lead,
.mod-sentence em,
.mod-sentence strong{
    font-weight: bold;
}
@media screen and (min-width:768px){
    .mod-link-list-04 + .mod-sentence{
        margin-top: 20px;
    }
    .mod-sentence{
        font-size: 1.6rem;
    }
    .mod-sentence.style-lead,
    .mod-sentence em,
    .mod-sentence strong{
        font-weight: bold;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-XXX
 * ----------------------------------------------------------------- */
* + .mod-list-bullet-01,
* + .mod-list-01,
* + .mod-list-number-01,
* + .mod-list-description-01,
* + .mod-list-note-01,
* + .mod-list-note-02,
* + .mod-list-note-03{
    margin-top: 20px;
}
.mod-list-bullet-01,
.mod-list-01,
.mod-list-number-01,
.mod-list-description-01,
.mod-list-note-01,
.mod-list-note-02,
.mod-list-note-03{
    font-size: 1.4rem;
}
.mod-list-note-01,
.mod-list-note-02,
.mod-list-note-03{
    color: #666;
}
.mod-list-bullet-01 > li,
.mod-list-01 > li,
.mod-list-number-01 > li,
.mod-list-note-01 > li,
.mod-list-note-02 > li,
.mod-list-note-03 > li{
    position: relative;
    margin-top: 10px;
}
.mod-list-bullet-01 > li:first-child,
.mod-list-01 > li:first-child,
.mod-list-number-01 > li:first-child,
.mod-list-note-01 > li:first-child,
.mod-list-note-02 > li:first-child,
.mod-list-note-03 > li:first-child{
    margin-top: 0;
}
.mod-list-bullet-01 > li,
.mod-list-number-01 > li{
    padding-left: 3rem;
}
.mod-list-bullet-01 .mod-list-bullet-01,
.mod-list-number-01 .mod-list-number-01{
    margin-top: 10px;
}
.mod-list-bullet-01 a,
.mod-list-number-01 a,
.mod-list-description-01 a{
    color: #5272d3;
    text-decoration: underline;
}

@media screen and (min-width:768px){
    .mod-list-bullet-01,
    .mod-list-01,
    .mod-list-number-01,
    .mod-list-description-01{
        font-size: 1.6rem;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-bullet-01
 * ----------------------------------------------------------------- */
.mod-list-bullet-01 > li::before{
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #bbb;
    position: absolute;
    top: .8rem;
    left: .4rem;
}
.mod-list-bullet-01 .mod-list-bullet-01 > li{
    padding-left: 20px;
}
.mod-list-bullet-01 .mod-list-bullet-01 > li::before{
    width: 4px;
    height: 4px;
    top: 1rem;
    left: .7rem;
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-01
 * ----------------------------------------------------------------- */
.mod-list-01 > li{
    padding-left: 2.5rem;
}
.mod-list-01 > li .mark{
    position: absolute;
    top: 0;
    left: -15px;
    width: 4rem;
    text-align: center;
}
@media screen and (min-width:768px){
    .mod-list-01 > li{
        padding-left: 3rem;;
    }
    .mod-list-01 > li .mark{
        left: -20px;
        width: 5.5rem;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-number-01
 * ----------------------------------------------------------------- */
.mod-list-number-01,
.mod-list-number-01.style-circle{
    list-style-type: none;
    counter-reset: number;
}
.mod-list-number-01 > li::before,
.mod-list-number-01.style-circle > li::before{
    counter-increment: number;
    content: counter(number) '.';
    text-align: center;
    width: 2em;
}
.mod-list-number-01.non-order > li::before,
.mod-list-number-01.style-circle.non-order > li::before{
    content: none;
}
.mod-list-number-01 > li::before,
.mod-list-number-01.style-circle > li::before,
.mod-list-number-01 > li .mark,
.mod-list-number-01.style-circle > li .mark{
    position: absolute;
    top: 0;
    left: 0;
}

/* style-circle */
.mod-list-number-01.style-circle > li{
    padding-left: 2.3rem;
}
.mod-list-number-01.style-circle > li::before,
.mod-list-number-01.style-circle > li .mark{
    color: #fff;
    text-align: center;
    background-color: #7d55c7;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    top: 3px;
    left: -3px;
}
.mod-list-number-01.style-circle > li::before{
    content: counter(number);
}

.mod-list-number-01 > li > .mod-list-01,
.mod-list-number-01.style-circle > li > .mod-list-01{
    padding-top: 5px;
}
.mod-list-number-01 > li > .mod-list-01 > li,
.mod-list-number-01.style-circle > li > .mod-list-01 > li{
    padding-left: 5rem;
}

@media screen and (min-width:768px){
    .mod-list-number-01 > li::before,
    .mod-list-number-01.non-order > li .mark{
        font-weight: bold;
    }
    .mod-list-number-01.style-circle > li::before,
    .mod-list-number-01.style-circle.non-order > li .mark{
        font-weight: normal;
        font-size: 1.2rem;
        padding: 1px;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-description-XX
 * ----------------------------------------------------------------- */
.mod-list-description-01{
    padding-top: 1px;
}
.mod-list-description-01 dt{
    margin-top: 16px;
}
.mod-list-description-01 dt:first-child{
    margin-top: 0;
}
.mod-list-description-01 dd{
    margin-top: 5px;
    line-height: 1.7;
}
.mod-list-description-01 .mod-link-list-01,
.mod-list-description-01 .mod-link-list-02{
    margin-top: 0;
}
@media screen and (min-width:768px){
    .mod-list-description-01 dt{
        font-weight: bold;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-note-XX
 * ----------------------------------------------------------------- */
.mod-list-note-01 > li{
    padding-left: 1.7rem;
}
.mod-list-note-02 > li{
    padding-left: 3rem;
}
.mod-list-note-03 > li{
    padding-left: 4.5rem;
}
.mod-list-note-01 > li .mark,
.mod-list-note-02 > li .mark,
.mod-list-note-03 > li .mark{
    position: absolute;
    top: 0;
    left: -1px;
}
.mod-list-note-03 > li .mark{
    left: -8px;
}
.mod-list-note-01 > li a,
.mod-list-note-02 > li a,
.mod-list-note-03 > li a{
    color: #5272d3;
    text-decoration: underline;
}
@media screen and (min-width:768px){
    .mod-list-note-02 > li{
        padding-left: 3.3rem;
    }
    .mod-list-note-03 > li{
        padding-left: 5.2rem;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-support
 * ----------------------------------------------------------------- */
.mod-list-support{
    display: flex;
    margin-top: 10px;
    font-size: 1.2rem;
}
.mod-list-support > li{
    border-left: 1px solid #ebe9e1;
    padding: 0 6px;
    line-height: 1;
}
.mod-list-support > li:first-child{
    border-left: none;
    padding-left: 0;
}
.mod-list-support.no-border{
    margin: 0 0 10px;
    align-items: center;
    flex-wrap: wrap;
}
.mod-list-support.no-border > li{
    border: none;
}
@media screen and (min-width:768px){
    .mod-list-support{
        font-size: 1.4rem;
    }
    .mod-list-support > li{
        padding: 0 20px;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-time-01
 * ----------------------------------------------------------------- */
.mod-list-time-01 > li{
    display: flex;
    margin-top: 5px;
    font-size: 1.4rem;
}
.mod-list-time-01 > li:first-child{
    margin-top: 0;
}
.mod-list-time-01 .date{
    flex: 0 1 100%;
    max-width: 94px;
    padding-right: 10px;
    font-weight: bold;
    font-size: 1.6rem;
}
.mod-list-time-01 .time-text{
    line-height: 1.75;
    flex: 0 1 100%;
}
@media screen and (min-width:768px){
    .mod-list-time-01 > li{
        font-size: 1.6rem;
        margin-top: 0;
    }
    .mod-list-time-01 .date{
        max-width: 122px;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-list-time-01
 * ----------------------------------------------------------------- */
.content .mod-list-icon{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: -15px;
}
.content .mod-list-icon + *{
    margin-top: 10px;
}
.mod-list-icon > li{
    margin-left: 15px;
    margin-top: 15px;
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-link-XXXX
 * ----------------------------------------------------------------- */
.mod-link-list-01,
.mod-link-list-02,
.mod-link-list-03{
    font-size: 1.4rem;
}
.mod-link-list-01 > li > a,
.mod-link-list-02 > li > a{
    color: #5272d3;
}
.mod-link-list-01 > li > a:hover,
.mod-link-list-02 > li > a:hover,
.mod-link-list-03 > li > a:hover{
    text-decoration: underline;
}
@media screen and (min-width:768px){
    .mod-link-list-01,
    .mod-link-list-02,
    .mod-link-list-03{
        font-size: 1.6rem;
    }
}
/* --------------------------------------------------------------------
 * Module > List Modules > mod-link-list-XX
 * ----------------------------------------------------------------- */
.mod-link-list-01,
.mod-link-list-02{
    margin-top: 20px;
}
.mod-link-list-01 > li,
.mod-link-list-02 > li{
    margin-top: 10px;
}
.mod-link-list-01 > li > a,
.mod-link-list-02 > li > a{
    padding-left: 17px;
    display: inline-block;
    position: relative;
}
.mod-link-list-01.no-arrow > li > a,
.mod-link-list-02.no-arrow > li > a{
    padding-left: 0;
}
.mod-link-list-01 > li:first-child,
.mod-link-list-02 > li:first-child{
    margin-top: 0;
}
.mod-link-list-01 > li > a::before,
.mod-link-list-02 > li > a::before{
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #7d55c7;
    border-left: 1px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: .8rem;
    left: -2px;
}
.mod-link-list-01.no-arrow > li > a::before,
.mod-link-list-02.no-arrow > li > a::before{
    content: none;
}
.mod-link-list-01.upper-arrow > li > a::before,
.mod-link-list-02.upper-arrow > li > a::before{
    transform: rotate(45deg);
    top: 1rem;
}
.mod-link-list-01 img,
.mod-link-list-02 img{
    vertical-align: middle;
    margin-left: 5px;
}

@media screen and (min-width:768px){
    .mod-link-list-02{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 20px;
    }
    .mod-link-list-02 > li{
        flex: 0 1 48.275%;
    }
    .mod-link-list-02.style-3set > li{
        flex: 0 1 31.034%;
    }
    .mod-link-list-02.style-4set > li{
        flex: 0 1 22.413%;
    }
    .mod-link-list-02 > li:nth-child(-n+2),
    .mod-link-list-02.style-3set > li:nth-child(-n+3),
    .mod-link-list-02.style-4set > li:nth-child(-n+4){
        margin-top: 0;
    }
    .mod-link-list-01 img,
    .mod-link-list-02 img{
        margin-left: 12px;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-link-list-03
 * ----------------------------------------------------------------- */
.mod-link-list-03{
    display: flex;
    flex-wrap: wrap;
    line-height: 1;
    margin-top: 10px;
}
.content .mod-link-list-03:first-child{
    margin-top: -10px;
}
.mod-link-list-03 > li{
    text-align: center;
    margin-top: 10px;
    flex: 0 1 16.666%;
    position: relative;
    box-sizing: border-box;
}
.mod-link-list-03 > li::before,
.mod-link-list-03 > li::after{
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: #999;
    position: absolute;
    top: 0;
    left: -1px;
}
.mod-link-list-03 > li::after{
    left: auto;
    right: 0;
}
.mod-link-list-03.style-4set > li{
    flex: 0 1 24.942%;
}
.mod-link-list-03.style-3set > li{
    flex: 0 1 33.256%;
}
.mod-link-list-03 > li > a{
    display: inline-block;
    position: relative;
    padding-left: 13.761%;
    margin: 0 5px;
}
.mod-link-list-03 > li > a::before{
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #7d55c7;
    border-left: 1px solid #7d55c7;
    transform: rotate(225deg);
    position: absolute;
    top: 0;
    bottom: 5px;
    left: -2px;
    margin: auto 0;
}
@media screen and (min-width:768px){
    .content .mod-link-list-03:first-child{
        margin-top: -20px;
    }
    .mod-link-list-03 > li{
        margin-top: 20px;
    }
    .mod-link-list-03 > li > a::before{
        width: 7px;
        height: 7px;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-link-list-04
 * ----------------------------------------------------------------- */
.mod-link-list-04{
    margin-top: 10px;
}
.mod-link-list-04 > li{
    border-left: 1px solid #999;
    border-right: 1px solid #999;
    margin-top: 10px;
    padding: 0 30px;
    text-align: center;
}
.mod-link-list-04 > li:first-child{
    margin-top: 0;
}
.mod-link-list-04 > li > a{
    display: inline-block;
    padding-left: 15px;
    position: relative;
    font-size: 1.4rem;
}
.mod-link-list-04 > li > a::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    border-radius: 1px;
    transform: rotate(-135deg);
    position: absolute;
    top: -5px;
    bottom: 0;
    left: 0;
    margin: auto 0;
}
@media screen and (min-width:768px){
    .mod-link-list-04{
        display: flex;
        flex-wrap: wrap;
    }
    .content .mod-link-list-04:first-child{
        margin-top: -20px;
    }
    .mod-link-list-04 > li{
        border-left: none;
        position: relative;
        padding: 0;
        margin-top: 20px;
    }
    .mod-link-list-04 > li:first-child{
        margin-top: 20px;
    }
    .mod-link-list-04 > li::before{
        content: '';
        display: block;
        width: 1px;
        height: 100%;
        background-color: #999;
        position: absolute;
        top: 0;
        left: -1px;
    }
    .mod-link-list-04 > li > a{
        padding: 0 20px 0 40px;
        font-size: 1.6rem;
    }
    .mod-link-list-04 > li > a::after{
        left: 20px;
    }
    .mod-link-list-04 > li > a:hover{
        color: #7d55c7;
        background-color: #f7f5fa;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-link-list-05
 * ----------------------------------------------------------------- */
.mod-link-list-05{
    margin-top: 20px;
    border-radius: 6px;
    background-color: #f7f5fa;
    padding: 8px 12px;
    font-size: 1.4rem;
}
.mod-link-list-05 > li > a{
    display: block;
    padding-top: 14px;
    padding-bottom: 16px;
    border-bottom: 1px solid #cdc5e6;
}
.mod-link-list-05 > li > .is-current,
.mod-link-list-05 > li:last-child > .is-current{
    font-weight: bold;
    color: #7d55c7;
    border-bottom: 2px solid #7d55c7;
}
.mod-link-list-05 > li:last-child > a{
    border-bottom: none;
}
@media screen and (min-width:768px){
    .mod-link-list-05{
        font-size: 1.6rem;
        display: flex;
        padding: 25px;
    }
    .mod-link-list-05 > li{
        padding: 0 15px;
    }
    .mod-link-list-05 > li > a{
        line-height: 1.1;
        border-bottom: none;
        padding-bottom: 10px;
        position: relative;
    }
    .mod-link-list-05 > li > a::before{
        content: '';
        display: block;
        background-color: #cdc5e6;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -15px;
        margin: auto 0;
        width: 1px;
        height: 1.6rem;
    }
    .mod-link-list-05 > li:first-child > a::before{
        content: none;
    }
    .mod-link-list-05 > li:last-child > .is-current{
        border-bottom: 2px solid #7d55c7;
    }
}

/* --------------------------------------------------------------------
 * Module > List Modules > mod-link-button-list-01
 * ----------------------------------------------------------------- */
.mod-link-button-list-01{
    text-align: center;
}
.mod-link-button-list-01 > li{
    margin-top: 15px;
}
.mod-link-button-list-01 > li .mod-button-01:not(.static-arrow),
.mod-link-button-list-01 > li .mod-button-02:not(.static-arrow){
    padding: 12px 72px 12px 82px;
}
.mod-link-button-list-01 > li .mod-button-01:not(.static-arrow)::before,
.mod-link-button-list-01 > li .mod-button-02:not(.static-arrow)::before{
    left: 54px;
    bottom: 3px;
}
.mod-link-button-list-01 > li .mod-button-01:not(.static-arrow)::after,
.mod-link-button-list-01 > li .mod-button-02:not(.static-arrow)::after{
    left: 59px;
    bottom: 3px;
 }
@media screen and (min-width:768px){
    .mod-link-button-list-01{
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .mod-link-button-list-01 > li{
        margin: 20px 10px;
    }
    .mod-link-button-list-01 > li .mod-button-01:not(.static-arrow),
    .mod-link-button-list-01 > li .mod-button-02:not(.static-arrow){
        padding: 11px 82px 11px 88px;
    }
    .mod-link-button-list-01 > li .mod-button-01:not(.static-arrow)::before,
    .mod-link-button-list-01 > li .mod-button-02:not(.static-arrow)::before{
        left: 60px;
        bottom: 0;
    }
    .mod-link-button-list-01 > li .mod-button-01:not(.static-arrow)::after,
    .mod-link-button-list-01 > li .mod-button-02:not(.static-arrow)::after{
        left: 65px;
        bottom: 0;
    }
}

/* --------------------------------------------------------------------
 * Module > tag Modules > tag
 * ----------------------------------------------------------------- */
.tag{
    display: inline-block;
    font-size: 1.3rem;
    text-align: center;
    background-color: #f0f3fa;
    border: 1px solid #f0f3fa;
    border-radius: 12px/50%;
    padding: 2px 20px;
    min-width: 97px;
}
.tag.new{
    background-color: #f77f93;
    border-color: #f77f93;
    color: #fff;
}
.tag.color-green-01,
.tag.color-pink-01,
.tag.color-orange-01,
.tag.color-blue-01,
.tag.color-gray-01{
    background-color: #fff;
}
.tag.color-green-01{
    border-color: #93cc8f;
}
.tag.color-pink-01{
    border-color: #e28cc9;
}
.tag.color-orange-01{
    border-color: #f4b776;
}
.tag.color-blue-01{
    border-color: #7d55c7;
}
.tag.color-gray-01{
    border-color: #ccc;
}
.tag.color-orange-02{
    background-color: #faeace;
    border-color: #faeace;
}
.tag.color-purple-02{
    background-color: #e7e4f1;
    border-color: #e7e4f1;
}
@media screen and (min-width:768px){
    .tag{
        min-width: 92px;
    }
}

/* --------------------------------------------------------------------
 * Module > Button Modules > mod-button-XX
 * ----------------------------------------------------------------- */
/* base */
.mod-button-01,
.mod-button-02{
    display: inline-block;
    border-radius: 6px;
    font-size: 1.6rem;
    text-align: left;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    padding: 12px 78px 12px 92px;
    position: relative;
    transition: background-color .15s linear 0s, box-shadow .15s linear 0s;
}
.mod-button-01::before,
.mod-button-02::before{
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background: #7d55c7;
    border-radius: 50%;  
    position: absolute;
    left: 65px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.mod-button-01::after,
.mod-button-02::after{
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    transform: rotate(135deg);
    position: absolute;
    left: 70px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.mod-button-01 .small-text,
.mod-button-02 .small-text{
    font-size: 1.2rem;
}

/* static-arrow */
.mod-button-01.static-arrow,
.mod-button-02.static-arrow{
    width: 100%;
    text-align: center;
    padding: 12px 30px;
}
.mod-button-01.static-arrow::before,
.mod-button-02.static-arrow::before{
    left: 10px;
}
.mod-button-01.static-arrow::after,
.mod-button-02.static-arrow::after{
    left: 14px;
}
/* color-01 */
.mod-button-01{
    border: 1px solid #7d55c7;
    color: #7d55c7;
    background-color: #fff;
}
.mod-button-01:visited{
    color: #7d55c7;
}
.mod-button-01::before{   
}
.mod-button-01::after{
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
}
.mod-button-01:hover{
    background-color: #c9bfe3;
    box-shadow: none;
}
.mod-button-01:hover::before{
    background-color: #a286d6;
}
.mod-button-01:hover::after{
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
}

/* color-02 */
.mod-button-02{
    border: 1px solid #7d55c7;
    background-color: #7d55c7;
    color: #fff;
}
.mod-button-02:visited{
    color: #fff;
}
.mod-button-02::before{
    background-color: #fff;
}
.mod-button-02::after{
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
}
.mod-button-02:hover{
    border: 1px solid #c9bfe3;
    background-color: #c9bfe3;
    box-shadow: none;
}
.mod-button-02:hover::after{
    border-top: 2px solid #c9bfe3;
    border-left: 2px solid #c9bfe3;
}

/* non-arrow */
.mod-button-03{
    padding: 10px;
    border: 1px solid #7d55c7;
    display: inline-block;
    border-radius: 6px;
    color: #7d55c7;
    font-size: 1.4rem;
    text-align: center;
    background-color: #fff;
    transition: background-color .15s linear 0s;
}
.mod-button-03:hover{
    background-color: #f5f3fa;
}

* + .mod-button-01,
* + .mod-button-02,
* + .mod-button-03{
    margin-top: 20px;
}
@media screen and (min-width:768px){
    .mod-button-03{
        font-size: 1.6rem;
    }
    * + .mod-button-01,
    * + .mod-button-02,
    * + .mod-button-03{
        margin-top: 30px;
    }
}
@media screen and (min-width:768px) and (max-width:1000px){
    .mod-grid.pc-column2 .column .mod-button-01,
    .mod-grid.pc-column3 .column .mod-button-01,
    .mod-grid.pc-column4 .column .mod-button-01,
    .mod-grid.pc-column5 .column .mod-button-01,
    .mod-grid.pc-column2 .column .mod-button-02,
    .mod-grid.pc-column3 .column .mod-button-02,
    .mod-grid.pc-column4 .column .mod-button-02,
    .mod-grid.pc-column5 .column .mod-button-02{
        padding: 12px 28px 12px 42px;
    }
    .mod-grid.pc-column2 .column .mod-button-01::before,
    .mod-grid.pc-column3 .column .mod-button-01::before,
    .mod-grid.pc-column4 .column .mod-button-01::before,
    .mod-grid.pc-column5 .column .mod-button-01::before,
    .mod-grid.pc-column2 .column .mod-button-02::before,
    .mod-grid.pc-column3 .column .mod-button-02::before,
    .mod-grid.pc-column4 .column .mod-button-02::before,
    .mod-grid.pc-column5 .column .mod-button-02::before{
        left: 15px;
    }
}

/* --------------------------------------------------------------------
 * Module > Table Modules > mod-table-XX
 * ----------------------------------------------------------------- */
.mod-table-01,
.mod-table-02{
    border-top: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
    border-collapse: collapse;
    font-size: 1.4rem;
    table-layout: fixed;
    width: 100%;
    margin-top: 30px;
}
.mod-table-01 th,
.mod-table-02 tbody th{
    font-weight: normal;
}
.mod-table-01 thead th,
.mod-table-01 thead td{
    background-color: #dcd0f3;
}
.mod-table-01 tbody th,
.mod-table-02 tbody th,
.mod-table-01 tbody .empty-head-cell{
    background-color: #f5f5f5;
}
.mod-table-01 th,
.mod-table-01 td,
.mod-table-02 tbody th,
.mod-table-02 td{
    border-bottom: 1px solid #e6e6e6;
    border-right: 1px solid #e6e6e6;
}
.mod-table-01 th,
.mod-table-01 td,
.mod-table-02 th,
.mod-table-02 td{
    padding: 12px 8px;
}
.mod-table-01 .text-center{
    text-align: center;
}
.mod-table-01 .text-right{
    text-align: right;
}
.mod-table-02 tbody th,
.mod-table-02 td{
    display: block;
}
.mod-table-02 tbody th{
    text-align: left;
}
.mod-table-scroll{
    margin-top: 30px;
    overflow-x: auto;
}
.mod-table-scroll > .mod-table-01,
.mod-table-scroll > .mod-table-02{
    margin-top: 0;
}
.mod-table-scroll > .mod-table-01{
    margin-top: 0;
    min-width: 560px;
}
.mod-table-scroll.ever > .mod-table-01{
    min-width: 1200px;
}
/* adjust */
.mod-table-01 .width-0{
    width: 0;
}
.mod-table-01 .width-5{
    width: 5%;
}
.mod-table-01 .width-10{
    width: 10%;
}
.mod-table-01 .width-15{
    width: 15%;
}
.mod-table-01 .width-20{
    width: 20%;
}
.mod-table-01 .width-25{
    width: 25%;
}
.mod-table-01 .width-30{
    width: 30%;
}
.mod-table-01 .width-35{
    width: 35%;
}
.mod-table-01 .width-40{
    width: 40%;
}
.mod-table-01 .width-45{
    width: 45%;
}
.mod-table-01 .width-50{
    width: 50%;
}
.mod-table-01 .width-55{
    width: 55%;
}
.mod-table-01 .width-60{
    width: 60%;
}
.mod-table-01 .width-65{
    width: 65%;
}
.mod-table-01 .width-70{
    width: 70%;
}
.mod-table-01 .width-75{
    width: 75%;
}
.mod-table-01 .width-80{
    width: 80%;
}
.mod-table-01 .width-85{
    width: 85%;
}
.mod-table-01 .width-90{
    width: 90%;
}
.mod-table-01 .width-95{
    width: 95%;
}
.mod-table-01 .width-100{
    width: 100%;
}
.mod-table-01 a,
.mod-table-02 a{
    color: #5272d3;
    text-decoration: underline;
}
.mod-table-01 .tag.new,
.mod-table-02 .tag.new{
    min-width: 70px;
    padding: 0 10px;
    vertical-align: text-bottom;
}

@media screen and (min-width:768px){
    .mod-table-01,
    .mod-table-02{
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .mod-table-01 th,
    .mod-table-02 tbody th{
        font-weight: bold;
    }
    .mod-table-01 th,
    .mod-table-01 td,
    .mod-table-02 th,
    .mod-table-02 td{
        padding: 12px 20px;
    }
    .mod-table-01 tbody th{
        text-align: left;
    }
    .mod-table-02 tbody th,
    .mod-table-02 td{
        display: table-cell;
    }
    .mod-table-02 tbody th{
        width: 24.913%;
    }
    .mod-table-scroll > .mod-table-01,
    .mod-table-scroll > .mod-table-02{
        min-width: 700px;
    }
    .mod-table-scroll.ever > .mod-table-01,
    .mod-table-scroll.ever > .mod-table-02{
        min-width: 1200px;
    }

    /* adjust */
    .mod-table-02 .width-0,
    .comp-shopping-cart-table .width-0{
        width: 0;
    }
    .mod-table-02 .width-5,
    .comp-shopping-cart-table .width-5{
        width: 5%;
    }
    .mod-table-02 .width-10,
    .comp-shopping-cart-table .width-10{
        width: 10%;
    }
    .mod-table-02 .width-15,
    .comp-shopping-cart-table .width-15{
        width: 15%;
    }
    .mod-table-02 .width-20,
    .comp-shopping-cart-table .width-20{
        width: 20%;
    }
    .mod-table-02 .width-25,
    .comp-shopping-cart-table .width-25{
        width: 25%;
    }
    .mod-table-02 .width-30,
    .comp-shopping-cart-table .width-30{
        width: 30%;
    }
    .mod-table-02 .width-35,
    .comp-shopping-cart-table .width-35{
        width: 35%;
    }
    .mod-table-02 .width-40,
    .comp-shopping-cart-table .width-40{
        width: 40%;
    }
    .mod-table-02 .width-45,
    .comp-shopping-cart-table .width-45{
        width: 45%;
    }
    .mod-table-02 .width-50,
    .comp-shopping-cart-table .width-50{
        width: 50%;
    }
    .mod-table-02 .width-55,
    .comp-shopping-cart-table .width-55{
        width: 55%;
    }
    .mod-table-02 .width-60,
    .comp-shopping-cart-table .width-60{
        width: 60%;
    }
    .mod-table-02 .width-65,
    .comp-shopping-cart-table .width-65{
        width: 65%;
    }
    .mod-table-02 .width-70,
    .comp-shopping-cart-table .width-70{
        width: 70%;
    }
    .mod-table-02 .width-75,
    .comp-shopping-cart-table .width-75{
        width: 75%;
    }
    .mod-table-02 .width-80,
    .comp-shopping-cart-table .width-80{
        width: 80%;
    }
    .mod-table-02 .width-85,
    .comp-shopping-cart-table .width-85{
        width: 85%;
    }
    .mod-table-02 .width-90,
    .comp-shopping-cart-table .width-90{
        width: 90%;
    }
    .mod-table-02 .width-95,
    .comp-shopping-cart-table .width-95{
        width: 95%;
    }
    .mod-table-02 .width-100,
    .comp-shopping-cart-table .width-100{
        width: 100%;
    }
}

/* --------------------------------------------------------------------
 * Module > Box Modules > mod-box-XX
 * ----------------------------------------------------------------- */
.mod-box-01,
.mod-box-03{
    display: block;
    border-radius: 6px;
    border: 1px solid #e6e6e6;
}
.mod-box-01{
    background-color: #f5f5f5;
    margin-top: 26px;
    padding: 13px 15px 15px 16px;
    font-size: 1.4rem;
}
.mod-box-01 p{
    line-height: 1.7;
}

/* mod-box-02 */

.mod-box-02{
    display: block;
    margin-top: 26px;
}
.mod-box-02 .box-heading{
    border: 1px solid #e6e6e6;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    background-color: #f5f5f5;
    padding: 15px;
    font-size: 1.4rem;
    font-weight: bold;
}
.mod-box-02 .box-body{
    font-size: 1.4rem;
    border: 1px solid #e6e6e6;
    border-top: none;
    border-radius: 0 0 6px 6px;
    padding: 15px;
}
.mod-box-02 .box-body > :first-child,
.mod-box-03 > :first-child{
    margin-top: 0;
}

/* mod-box-03 */
.mod-box-03{
    margin-top: 26px;
    padding: 30px 17px;
}

@media screen and (min-width:768px){
    .mod-box-01{
        margin-top: 46px;
        padding: 22px 39px 20px;
        font-size: 1.6rem;
    }
    .mod-box-01 p{
        line-height: 1.85;
    }
    .mod-box-02 .box-heading{
        font-size: 2rem;
        padding: 25px 37px;
    }
    .mod-box-02 .box-body{
        padding: 28px 40px;
        font-size: 1.6rem;
    }
    .mod-box-03{
        padding: 20px 40px;
    }
}

/* --------------------------------------------------------------------
 * Module > Unit Modules > mod-box-inscribe
 * ----------------------------------------------------------------- */
.mod-box-inscribe{
    margin: 0 auto;
    max-width: 400px;
}
.mod-box-inscribe.box-right{
    margin: 0 0 0 auto;
}
.mod-box-inscribe.width-600{
    margin: 0 auto;
    max-width: 600px;
}
.mod-box-inscribe a{
    color: #5272d3;
    text-decoration: underline;
}
.mod-box-inscribe a:hover{
    text-decoration: none;
}

/* --------------------------------------------------------------------
 * Module > Unit Modules > mod-unit-XX
 * ----------------------------------------------------------------- */
.mod-unit-01,
.mod-unit-02{
    padding: 15px 0 20px;
    font-size: 1.4rem;
    border-top: 1px solid #ebe9e1;
    border-bottom: 1px solid #ebe9e1;
}
*:not([class*="mod-unit-"]) + [class*="mod-unit-"]{
    margin-top: 20px;
}
[class*="mod-unit-"] + [class*="mod-unit-"]{
    border-top: none;
}
.mod-unit-01 .title{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.mod-unit-01 .title > *{
    margin-right: 10px;
}
.mod-unit-01 .title.style-arrow a{
    color: #5272d3;
    padding-left: 16px;
    position: relative;
    display: block;
}
.mod-unit-01 .title.style-arrow a::before{
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #7d55c7;
    border-left: 1px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: .7rem;
    left: -2px;
}
.mod-unit-01 .title.style-bold{
    font-weight: bold;
}
.mod-unit-01 .mod-link-list-01,
.mod-unit-01 .mod-link-list-02,
.mod-unit-02 .mod-link-list-01,
.mod-unit-02 .mod-link-list-02{
    margin-top: 10px;
}
.mod-unit-02 .date-set{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.mod-unit-02 .date-set > *{
    margin: 5px 10px 5px 0;
}
.mod-unit-02 .date{
    letter-spacing: .1em;
}

@media screen and (min-width:768px){
    .mod-unit-01,
    .mod-unit-02{
        padding: 24px 0 30px;
        font-size: 1.6rem;
    }
    *:not([class*="mod-unit-"]) + [class*="mod-unit-"]{
        margin-top: 30px;
    }
    .mod-unit-02 .date{
        font-size: 1.4rem;
    }
    .mod-unit-01.pc-nowrap,
    .mod-unit-01.pc-nowrap dl,
    .mod-unit-02.pc-nowrap{
        display: flex;
        width: 100%;
    }
    .mod-unit-01.pc-nowrap .title,
    .mod-unit-02.pc-nowrap .date{
        flex: 0 1 100%;
    }
    .mod-unit-01.pc-nowrap .title + *,
    .mod-unit-02.pc-nowrap .date + *{
        margin-top: 0;
        flex: 0 1 100%;
    }
    .mod-unit-01.pc-nowrap .mod-link-list-01 > li,
    .mod-unit-02.pc-nowrap .mod-link-list-01 > li{
        padding-left: 0;
    }
    .mod-unit-01.pc-nowrap .mod-link-list-01 > li::before,
    .mod-unit-02.pc-nowrap .mod-link-list-01 > li::before{
        content: none;
    }
    .mod-unit-01.pc-nowrap .title{
        max-width: 240px;
        padding-right: 15px;
        align-items: flex-start;
    }
    .mod-unit-01.pc-nowrap .title + *{
        max-width: 632px;
    }
    .mod-unit-02.pc-nowrap .date{
        max-width: 160px;
        padding-right: 10px;
    }
    .mod-unit-02.pc-nowrap .date + *{
        max-width: 712px;
    }
    .mod-unit-02 .date-set > *{
        margin: 0 20px 5px 0;
    }
    .mod-unit-01 .mod-link-list-02,
    .mod-unit-02 .mod-link-list-02{
        justify-content: flex-start;
    }
    .mod-unit-01 .mod-link-list-02 > li,
    .mod-unit-02 .mod-link-list-02 > li{
        padding: 0 20px 0 21px;
        flex: 0 1 50%;
        max-width: 50%;
    }
}

/* --------------------------------------------------------------------
 * Module > Unit Modules > mod-unit-link-01
 * ----------------------------------------------------------------- */
.mod-unit-link-01{
    font-size: 1.4rem;
    border-top: 1px solid #ebe9e1;
    border-bottom: 1px solid #ebe9e1;
}
[class*="mod-unit-link-"] + [class*="mod-unit-link-"]{
    border-top: none;
}
.mod-unit-link-01 a{
    display: block;
    padding: 20px 28px 20px 0;
    position: relative;
    transition: background-color .15s linear .0s;
}
.mod-unit-link-01 a:hover{
    background-color: #f5f3fa;
}
.mod-unit-link-01 a:hover *{
    color: #7d55c7;
}
.mod-unit-link-01 a:hover .tag{
    background-color: #fff;
}
.mod-unit-link-01 a::after{
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3px;
    margin: auto 0;
}
.mod-unit-link-01 a::before {
    content: '';
    width: 24px;
    height: 24px;
    background: #7d55c7;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -10px;
}
.mod-unit-link-01 a::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -2px;
    transform: rotate(45deg);
}
.mod-unit-link-01 .date-set{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.mod-unit-link-01 .date-set > *,
.mod-unit-link-01 .date,
.mod-unit-link-01 .tag-outer{
    margin: 0 25px 10px 0;
}
.mod-unit-link-01 .date{
    letter-spacing: .1em;
}
.mod-unit-link-01 .date-set + *,
.mod-unit-link-01.pc-nowrap .mod-sentence{
    margin-top: 0;
}
.mod-unit-link-01 .tag-outer{
    display: inline-block;
}

@media screen and (min-width:768px){
    .mod-unit-link-01{
        font-size: 1.6rem;
    }
    .mod-unit-link-01 .date-set > *{
        margin: 0 20px 10px 0;
    }
    .mod-unit-link-01 .date{
        font-size: 1.4rem;
        letter-spacing: 0;
    }
    .mod-unit-link-01 a{
        padding: 20px 30px 18px 16px;
    }
    .mod-unit-link-01 a::after{
        right: 10px;
    }
    .mod-unit-link-01.pc-nowrap a{
        display: flex;
        flex-wrap: wrap;
    }
    .mod-unit-link-01.pc-nowrap a > *{
        flex: 0 1 100%;
        align-self: flex-start;
    }
    .mod-unit-link-01.pc-nowrap .date,
    .mod-unit-link-01.pc-nowrap .tag-outer{
        max-width: 130px;
        margin: 5px 0;
        padding-right: 10px;
    }
    .mod-unit-link-01 .tag{
        min-width: 120px;
        padding: 2px 30px;
    }
    .mod-unit-link-01 .narrow{
        padding: 2px 10px;
    }
    .mod-unit-link-01.pc-nowrap .tag-outer .tag{
        margin-bottom: 5px;
    }
    .mod-unit-link-01.pc-nowrap .mod-sentence{
        max-width: 612px;
    }
}
@media screen and (min-width:1001px){
    .mod-unit-link-01.pc-nowrap a{
        flex-wrap: nowrap;
    }
    .mod-unit-link-01.pc-nowrap .mod-sentence{
        padding-left: 10px;
    }
}


/* --------------------------------------------------------------------
 * Module > Form Modules > mod-search-box-set
 * ----------------------------------------------------------------- */
.mod-search-box-set{
    display: flex;
    justify-content: center;
}
.mod-search-box-set .search-input{
    margin: 0 6px 0 0;
    flex: 0 1 100%;
}
.mod-search-box-set .search-input input[type="text"]{
    display: block;
    border: none;
    border-radius: 30px;
    box-shadow: inset 0px 2px 4px 0px rgba(0,0,0,.1);
    background-color: #d7cef0;
    width: 100%;
    height: 42px;
    padding: 0 17px;
    color: #333;
    font-size: 1.4rem;
}
.mod-search-box-set.style-content{
    margin: 20px 0 30px;
    max-width: 500px;
}

/* placeholder set */

.mod-search-box-set .search-input input[type="text"]::-webkit-input-placeholder,
.comp-search-box .keyword-input input[type="text"]::-webkit-input-placeholder{
    color: #333;
}
.mod-search-box-set .search-input input[type="text"]::-moz-placeholder,
.comp-search-box .keyword-input input[type="text"]::-moz-placeholder{
    color: #333;
    opacity: 1;
}
.mod-search-box-set .search-input input[type="text"]:-ms-input-placeholder,
.comp-search-box .keyword-input input[type="text"]:-ms-input-placeholder{
    color: #333;
}
.mod-search-box-set .search-input input[type="text"]:focus,
.comp-search-box .keyword-input input[type="text"]:focus{
    box-shadow: none;
}
.mod-search-box-set input[type="text"]:focus::-webkit-input-placeholder,
.comp-search-box .keyword-input input[type="text"]:focus::-webkit-input-placeholder{
    color: transparent;
}
.mod-search-box-set input[type="text"]:focus:-moz-placeholder,
.comp-search-box .keyword-input input[type="text"]:focus:-moz-placeholder{
    color: transparent;
}
.mod-search-box-set input[type="text"]:focus::-moz-placeholder,
.comp-search-box .keyword-input input[type="text"]:focus::-moz-placeholder{
    color: transparent;
}

/* search-button */

.mod-search-box-set .search-button{
    display: block;
    border-radius: 50%;
    background-color: #7d55c7;
    min-width: 42px;
    height: 42px;
    font-size: 1rem;
    color: transparent;
    position: relative;
    transition: background-color .15s linear 0s;
}
.mod-search-box-set .search-button:hover{
    background-color: #c9bfe3;
}
.mod-search-box-set .search-button .search-icon{
    width: 16px;
    height: 16px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.mod-search-box-set .search-button .search-icon::before,
.mod-search-box-set .search-button .search-icon::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.mod-search-box-set .search-button .search-icon::before{
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 2px solid #fff;
}
.mod-search-box-set .search-button .search-icon::after{
    width: 2px;
    height: 8px;
    border-radius: 10px;
    background-color: #fff;
    transform: rotate(-45deg);
    top: 8px;
    left: 12px;
}
@media screen and (min-width:768px){
    .mod-search-box-set .search-input input[type="text"]{
        height: 60px;
    }
    .mod-search-box-set .search-button{
        min-width: 60px;
        min-height: 60px;
    }
    .mod-search-box-set .search-button .search-icon{
        width: 22px;
        height: 22px;
    }
    .mod-search-box-set .search-button .search-icon::before{
        width: 16px;
        height: 16px;
    }
    .mod-search-box-set .search-button .search-icon::after{
        width: 2px;
        height: 14px;
        top: 10px;
        left: 16px;
    }
}

/* --------------------------------------------------------------------
 * Module > Form Modules > mod-list-input
 * ----------------------------------------------------------------- */
.mod-list-input{
    margin-top: 20px;
}
.mod-list-input.style-row{
    display: flex;
    flex-wrap: wrap;
}
.mod-list-input .input-label{
    margin-right: 20px;
    position: relative;
    display: block;
}
.mod-list-input > :last-child .input-label{
    margin-right: 0;
}
.mod-list-input .input-label [type="radio"],
.mod-list-input .input-label [type="checkbox"]{
    transform: scale(.5);
}
.mod-list-input .input-label [type="radio"] + .label-text{
    font-size: 1.4rem
}
.mod-list-input .input-label [type="radio"] + .label-text,
.mod-list-input .input-label [type="checkbox"] + .label-text{
    display: block;
    padding-left: 25px;
}
.mod-list-input .input-label [type="radio"],
.mod-list-input .input-label [type="checkbox"],
.mod-list-input .input-label [type="radio"] + .label-text::before,
.mod-list-input .input-label [type="checkbox"] + .label-text::before,
.mod-list-input .input-label [type="checkbox"]:checked + .label-text::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
}
.mod-list-input .input-label [type="radio"] + .label-text::before,
.mod-list-input .input-label [type="checkbox"] + .label-text::before,
.mod-list-input .input-label [type="checkbox"]:checked + .label-text::after{
    content: '';
    display: inline-block;
}
.mod-list-input .input-label [type="radio"] + .label-text::before{
    width: 18px;
    height: 18px;
    background-color: #fff;
    border: 1px solid #c1c2c7;
    box-shadow: 0px 0px 0px 2px #fff inset;
    border-radius: 50px;
}
.mod-list-input .input-label [type="checkbox"] + .label-text::before{
    width: 16px;
    height: 16px;
    background-color: #fff;
    border: 1px solid #c1c2c7;
    border-radius: 2px;
}
.mod-list-input .input-label [type="radio"]:checked + .label-text::before,
.mod-list-input .input-label [type="checkbox"]:checked + .label-text::before{
    background-color: #7d55c7;
}
.mod-list-input .input-label [type="checkbox"]:checked + .label-text::before{
    border-color: #7d55c7;
}
.mod-list-input .input-label [type="checkbox"]:checked + .label-text::after{
    width: 6px;
    height: 12px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(224deg);
    margin: 5px 0 0 5px;
}
@media screen and (min-width:768px){
    .mod-list-input .input-label [type="radio"] + .label-text{
        font-size: 1.6rem;
    }
}

/* --------------------------------------------------------------------
 * Module > Form Modules > mod-step
 * ----------------------------------------------------------------- */
.mod-step{
    display: flex;
    list-style-type: none;
    font-size: 1.8rem;
    overflow: hidden;
    margin-bottom: 15px;
}
.mod-step > li{
    flex: 1 1 auto;
}
.mod-step > li .step{
    display: block;
    text-align: center;
    padding: 17px 0 17px 12px;
    background-color: #ededed;
    position: relative;
    margin-left: -17px;
}
.mod-step > li .step.is-current,
.mod-step > li .step.is-past{
    color: #fff;
    background-color: #7d55c7;
}
.mod-step > li .step::before,
.mod-step > li .step::after{
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: 32px solid transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -48px;
    margin: auto 0;
    z-index: 1;
}
.mod-step > li .step::before{
    border-left: 32px solid #fff;
}
.mod-step > li .step::after,
.mod-step > li .step.is-current::after,
.mod-step > li .step.is-past::after{
    right: -46px;
}
.mod-step > li .step::after{
    border-left: 32px solid #ededed;
}
.mod-step > li .step.is-current::after,
.mod-step > li .step.is-past::after{
    border-left: 32px solid #7d55c7;
}
.mod-step > li:last-child .step::before,
.mod-step > li:last-child .step::after{
    content: none;
}

@media screen and (min-width:768px){
    .mod-step{
        font-size: 2.4rem;
        margin-bottom: 45px;
    }
    .mod-step > li .step{
        padding: 11px 0 11px 8px;
        margin-left: -3px;
    }
    .mod-step > li .step::before,
    .mod-step > li .step::after{
        right: -63px;
    }
    .mod-step > li .step::after,
    .mod-step > li .step.is-current::after,
    .mod-step > li .step.is-past::after{
        right: -61px;
    }
}

/* --------------------------------------------------------------------
 * Module > Layout Modules > mod-center
 * ----------------------------------------------------------------- */
.mod-center{
    margin: 15px auto 0;
    text-align: center;
}

.mod-center--wide {
    margin: 22px auto 0;
}
@media screen and (min-width:768px){
    .mod-center{
        margin: 30px auto 0;
    }

    .mod-center--wide {
        margin: 44px auto 0;
    }
}

/* --------------------------------------------------------------------
 * Module > Unique Modules > mod-movie
 * ----------------------------------------------------------------- */
.mod-movie{
    margin-top: 20px;
    position: relative;
    padding-top: 56.25%;
}
.mod-movie iframe,
.mod-movie object{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (min-width:768px){
   .dialog .mod-movie{
       max-width: calc(674px - 60px);
       width: 100vw;
   }
}

/* --------------------------------------------------------------------
 * Module > Unique Modules > mod-flip-heading
 * ----------------------------------------------------------------- */
.mod-flip-heading{
    display: flex;
    flex-direction: column;
    margin-top: 30px;
}
.mod-flip-heading > :first-child{
    margin: 10px 0 0 0;
}
.mod-flip-heading > :last-child{
    order: -1;
}
@media screen and (min-width:768px){
    .mod-flip-heading{
        margin-top: 40px;
    }
}

/* --------------------------------------------------------------------
 * Module > Unique Modules > mod-map
 * ----------------------------------------------------------------- */

.mod-map iframe{
    width: 100%;
}

/* ============================================================================
 * component
 * ========================================================================= */

/* --------------------------------------------------------------------
 * Component > comp-grid-panel
 * ----------------------------------------------------------------- */
* + .comp-grid-panel{
    margin-top: 20px;
}
.comp-grid-panel .column{
    margin-top: 26px;
}
.comp-grid-panel .column:first-child{
    margin-top: 0;
}
.comp-grid-panel .column > a,
.comp-grid-panel .column > .multiple-links{
    border-radius: 6px;
    border: 1px solid #f2eff9;
    display: block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    transition: .15s linear 0s;
}
.comp-grid-panel .column > a,
.comp-grid-image-panel .column > a{
    position: relative;
}
.comp-grid-panel .column > a .icon {
    position: absolute;
    top: 20px;
    right: 8px;
}
.comp-grid-panel a:visited{
    color: #333;
}
.comp-grid-panel .panel-heading{
    display: block;
    border-radius: 6px 6px 0 0;
    padding: 20px 26px 16px 41px;
    position: relative;
    /* background: url(/shared/img/bg-panel.jpg) no-repeat center center;
    background-size: cover; */
    background-color: #7d55c7;
    background-image: none;
    color: #fff;
    border-radius: 3px;
}
.comp-grid-panel .column > .multiple-links .panel-heading{
    padding: 20px 23px 16px 23px;
}
.comp-grid-panel .column > .multiple-links .panel-heading a{
    padding-left: 14px;
    display: block;
    position: relative;
    color: #fff;
}
.comp-grid-panel > li:nth-child(even) .panel-heading{
    /* background: url(/shared/img/bg-panel2.jpg) no-repeat center center;
    background-size: cover; */
    background-color: #7d55c7;
    background-image: none;
}
.comp-grid-panel .panel-heading::before,
.comp-grid-panel .multiple-links .panel-heading a::before{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    left: 14px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.comp-grid-panel .panel-heading::after,
.comp-grid-panel .multiple-links .panel-heading a::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 18px;
    margin: auto 0;
}
.comp-grid-panel .multiple-links .panel-heading a::before{
    left: -11px;
}
@media screen and (max-width:767px){
.comp-grid-panel .multiple-links .panel-heading a::before {
    left: -11px;
    top: -3px;
}
.comp-grid-panel .panel-heading::after{
    left: 18px;
}
.comp-grid-panel .multiple-links .panel-heading::after{
    left: 16px;
    top: 1px;
}
}
.comp-grid-panel .multiple-links .panel-heading::before{
    content: none;
}
.comp-grid-panel .panel-body{
    border-radius: 0 0 6px 6px;
    font-size: 1.4rem;
    padding: 17px 23px;
    transition: background-color .15s linear 0s;
}
.comp-grid-panel .panel-body > *:first-child{
    margin-top: 0;
}
.comp-grid-panel a:hover{
    color: #7d55c7;
    box-shadow: none;
}
.comp-grid-panel a:hover .panel-body{
    background-color: rgba(245, 243, 250,.2);
}

@media screen and (min-width:768px){
    * + .comp-grid-panel{
        margin-top: 30px;
    }

    * + .comp-grid-panel--wide {
        margin-top: 80px;
    }

    .comp-grid-panel{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .comp-grid-panel .panel-heading{
        display: flex;
        align-items: center;
        padding: 12px 25px 11px 42px;
        font-size: 2rem;
        color: #fff;
    }
    .comp-grid-panel .column > .multiple-links .panel-heading{
        padding: 12px 25px 11px;
    }
    .comp-grid-panel .panel-body{
        padding: 17px 24px 26px;
        font-size: 1.6rem;
    }
    .comp-grid-panel > .column{
        margin-top: 25px;
        margin-left: 2.873%;
    }
    .comp-grid-panel.pc-column1 > .column:first-child,
    .comp-grid-panel.pc-column2 > .column:nth-child(-n+2),
    .comp-grid-panel.pc-column3 > .column:nth-child(-n+3),
    .comp-grid-panel.pc-column4 > .column:nth-child(-n+4),
    .comp-grid-panel.pc-column5 > .column:nth-child(-n+5){
        margin-top: 0;
    }
    .comp-grid-panel.pc-column1 > .column:nth-child(n+1),
    .comp-grid-panel.pc-column2 > .column:nth-child(2n+1),
    .comp-grid-panel.pc-column3 > .column:nth-child(3n+1),
    .comp-grid-panel.pc-column4 > .column:nth-child(4n+1),
    .comp-grid-panel.pc-column5 > .column:nth-child(5n+1){
        margin-left: 0;
    }
    .comp-grid-panel.pc-column1 > .column{
        flex: 0 1 100%;
    }
    .comp-grid-panel.pc-column2 > .column{
        flex: 0 1 48.563%;
    }
    .comp-grid-panel.pc-column3 > .column{
        flex: 0 1 31.417%;
    }
    .comp-grid-panel.pc-column4 > .column{
       flex: 0 1 22.844%;
    }
    .comp-grid-panel.pc-column5 > .column{
        flex: 0 1 17.701%;
    }
    .comp-grid-panel.pc-column1.style-fit > .column{
        flex: 0 1 100%;
    }
    .comp-grid-panel.pc-column2.style-fit > .column{
        flex: 0 1 50%;
    }
    .comp-grid-panel.pc-column3.style-fit > .column{
        flex: 0 1 33.333%;
    }
    .comp-grid-panel.pc-column4.style-fit > .column{
        flex: 0 1 25%;
    }
    .comp-grid-panel.pc-column5.style-fit > .column{
        flex: 0 1 20%;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-grid-image-panel
 * ----------------------------------------------------------------- */
* + .comp-grid-image-panel{
    margin-top: 20px;
}
.comp-grid-image-panel .column{
    margin-top: 26px;
}
.comp-grid-image-panel .column:first-child{
    margin-top: 0;
}
.comp-grid-image-panel .column > a .icon {
    position: absolute;
    top: 36px;
    right: 8px;
}
@media screen and (max-width:767px){
    .comp-grid-image-panel .column > a .icon {
        top: 24px;
    }
}
.comp-grid-image-panel .column > a{
    border: 1px solid #f2eff9;
    border-radius: 6px;
    display: block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    transition: .15s linear 0s;
    color: #fff;
}
.comp-grid-image-panel a:visited{
    color: #333;
    color: #fff;
}
.comp-grid-image-panel .panel-heading{
    display: block;
    border-radius: 6px 6px 0 0;
    padding: 20px 26px 16px 37px;
    position: relative;
    background: url(/shared/img/bg-panel.jpg) no-repeat center center;
    background-size: cover;
    background-color: #7d55c7;
    background-image: none;
}
.comp-grid-image-panel > li:nth-child(even) .panel-heading{
    background: url(/shared/img/bg-panel2.jpg) no-repeat center center;
    background-size: cover;
    background-color: #7d55c7;
    background-image: none;
}
.comp-grid-image-panel .panel-heading::before{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    left: 12px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.comp-grid-image-panel .panel-heading::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    margin: auto 0;
}
.comp-grid-image-panel .panel-body{
    border-radius: 0 0 6px 6px;
    font-size: 1.4rem;
    padding: 17px 23px;
    transition: background-color .15s linear 0s;
}
.comp-grid-image-panel .panel-body > *:first-child{
    margin-top: 0;
}
.comp-grid-image-panel .column:not(.full-width) .panel-body .image{
    margin: -17px -24px 20px;
    overflow: hidden;
    height: 127px;
    position: relative;
}
.comp-grid-image-panel .column:not(.full-width) .panel-body .image.feature{
    margin: auto;
    width: 200px;
    height: 180px;
}
.comp-grid-image-panel .column:not(.full-width) .panel-body .image.feature + *{
    margin-top: 20px;
}
.comp-grid-image-panel .column:not(.full-width) .panel-body .image img{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
}
.comp-grid-image-panel .column:not(.full-width) .panel-body .image.feature img{
    position: static;
    border-radius: 6px;
}
.comp-grid-image-panel .column.full-width .panel-body .image{
    margin: -17px -24px -26px;
}
.comp-grid-image-panel .column.full-width .panel-body .image img{
    border-radius: 0 0 6px 6px;
}
.comp-grid-image-panel .panel-body .image img{
    width: 100%;
}
.comp-grid-image-panel a:hover{
    color: #fff;
    box-shadow: none;
}
.comp-grid-image-panel a:hover .panel-body{
    background-color: rgba(245, 243, 250,.2);
}

.comp-grid-image-panel p{
    color: #333;
}

@media screen and (min-width:768px){
    * + .comp-grid-image-panel{
        margin-top: 30px;
    }
    .comp-grid-image-panel{
        display: flex;
        flex-wrap: wrap;
    }
    .comp-grid-image-panel .panel-heading{
        display: flex;
        align-items: center;
        padding: 30px 25px 30px 39px;
        font-size: 2rem;
    }
    .comp-grid-image-panel .panel-body{
        padding: 17px 24px 36px;
        font-size: 1.6rem;
    }
    .comp-grid-image-panel > .column.half-width:nth-child(-n+2){
        margin-top: 0;
    }
    .comp-grid-image-panel > .column.half-width,
    .comp-grid-image-panel > .column.full-width + .column.half-width,
    .comp-grid-image-panel > .column.full-width ~ .column.half-width:nth-child(2n-1){
        margin-top: 25px;
        margin-left: 2.873%;
    }
    .comp-grid-image-panel > .column.half-width:nth-child(2n-1),
    .comp-grid-image-panel > .column.full-width ~ .column.half-width{
        margin-left: 0;
    }
    .comp-grid-image-panel > .column.full-width{
        flex: 0 1 100%;
    }
    .comp-grid-image-panel > .column.half-width{
        flex: 0 1 48.563%;
    }
    .comp-grid-image-panel.style-fit > .column.full-width{
        flex: 0 1 100%;
    }
    .comp-grid-image-panel.style-fit > .column.half-width{
        flex: 0 1 50%;
    }
    .comp-grid-image-panel .column.full-width .panel-body .image{
        margin-bottom: -36px;
    }
    .comp-grid-image-panel .column:not(.full-width) .panel-body .image{
        height: 120px;
        margin-bottom: 30px;
    }
    .comp-grid-image-panel .column:not(.full-width) .panel-body .image.feature{
        max-width: 200px;
        width: auto;
    }
}
@media screen and (min-width:1001px){
    .comp-grid-image-panel .column:not(.full-width) .panel-body .image{
        height: 194px;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-search-box
 * ----------------------------------------------------------------- */
.comp-search-box{
    margin: 40px -10px 60px;
    border-top: 1px solid #7d55c7;
}
.comp-search-box .mod-heading-04{
    color: #333;
    font-size: 1.8rem;
    margin-top: 15px;
}
.comp-search-box .mod-heading-01{
    font-size: 1.6rem;
    padding-bottom: 5px;
    border-color: #c1c2c7;
    margin: 0;
}

/* search-keyword */

.comp-search-box .search-keyword{
    margin: 0 15px;
}
.comp-search-box .keyword-input-set input[type="text"]{
    display: block;
    border: none;
    border-radius: 30px;
    box-shadow: inset 0px 2px 4px 0px rgba(0,0,0,.1);
    width: 100%;
    height: 42px;
    padding: 0 17px;
    color: #333;
    font-size: 1.4rem;
    background-color: #ede9f9;
}
.comp-search-box .mod-list-input.style-row{
    margin-top: 16px;
}
.comp-search-box .search-keyword .input-label{
    margin-right: 30px;
}
.comp-search-box .search-keyword li:last-child .input-label{
    margin-right: 0;
}

/* details button */

.comp-search-box .button-search-details{
    display: block;
    width: 100%;
    margin: 10px 0;
    background-color: transparent;
}
.comp-search-box .button-search-details .button-text{
    display: inline-block;
    padding: 15px 30px 15px 40px;
    position: relative;
}
.comp-search-box .button-search-details .button-text::before,
.comp-search-box .button-search-details .button-text::after{
    content: '';
    display: block;
    width: 18px;
    height: 2px;
    background-color: #ffa400;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
}
.comp-search-box .button-search-details .button-text::after{
    transform: rotate(90deg);
}
.comp-search-box .search-keyword + .is-open .button-search-details .button-text::after{
    content: none;
}
.comp-search-box .search-details{
    background-color: #f9f9f9;
    padding: 20px 10px 0;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0,.05);
}

/* search-details
----------------------------------------------------------------- */

/* sort-term */

.comp-search-box .sort-term{
    margin: 0 5px;
}
.comp-search-box .term-input{
    margin-top: 20px;
}
.comp-search-box .term-input label input[type="text"]{
    width: 100px;
    border-radius: 6px;
    border: 1px solid #c1c2c7;
    margin: 0 10px;
    padding: 10px;
}
.comp-search-box .term-input label:first-child input[type="text"]{
    margin-left: 0;
}

/* sort-committee */

.comp-search-box .sort-committee{
    margin: 0 5px;
    padding-top: 20px;
}
.comp-search-box .committee-list > li{
    border-bottom: 2px dotted #c7c7c7;
}
.comp-search-box .committee-list > li:last-child{
    border: none;
}
.comp-search-box .committee-list > li > .js-toggle-ui{
    position: relative;
}
.comp-search-box .committee-title{
    color: #4a5c94;
}

/* toggle mark */

.comp-search-box .committee-title,
.comp-search-box .committee-title + .button-item{
    display: block;
    width: 100%;
    padding: 15px 0;
}
.comp-search-box .committee-title + .button-item{
    position: absolute;
    top: 0;
    left: 0;
    color: transparent;
    background-color: transparent;
    height: 100%;
}
.comp-search-box .committee-title + .button-item::before,
.comp-search-box .committee-title + .button-item::after{
    content: '';
    display: block;
    width: 14px;
    height: 2px;
    background-color: #ffa400;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto 0;
}
.comp-search-box .committee-title + .button-item::after{
    transform: rotate(90deg);
}
.comp-search-box .committee-list .is-open .button-item::after{
    content: none;
}

/* layout checkbox */

.comp-search-box .sort-committee .mod-list-input{
    margin-top: 0;
    padding-bottom: 20px;
}
.comp-search-box .sort-committee .mod-list-input > li{
    margin-top: 10px;
}
.comp-search-box .sort-committee .mod-list-input > li:first-child{
    margin-top: 0;
}

/* submit-inputted */

.comp-search-box .submit-inputted{
    text-align: center;
    padding: 20px;
    background-color: #f5f3fa;
    border-top: 1px solid #7d55c7;
    border-bottom: 1px solid #7d55c7;
    box-shadow: 0 2px 4px #c7c7c7;
}
.comp-search-box .submit-inputted .mod-button-02{
    max-width: 252px;
    background-color: #7d55c7;
}
.comp-search-box .submit-inputted .mod-button-02::before,
.comp-search-box .submit-inputted .mod-button-02::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 15px;
    border: 2px solid #fff;
}
.comp-search-box .submit-inputted .mod-button-02::before{
    width: 14px;
    height: 14px;
    border-radius: 50%;
    top: -8px;
}
.comp-search-box .submit-inputted .mod-button-02::after{
    width: 2px;
    height: 8px;
    transform: rotate(-45deg);
    top: 7px;
    left: 29px;
    border: none;
    background-color: #fff;
}

@media screen and (min-width:768px){
    .comp-search-box{
        border-radius: 6px;
        border: 1px solid #7d55c7;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
        margin: 10px 0 40px;
    }
    .comp-search-box .mod-heading-01{
        font-size: 1.8rem;
    }

    /* search-keyword */

    .comp-search-box .search-keyword{
        margin: 34px 30px 0;
    }
    .comp-search-box .input-group{
    }
    .comp-search-box .keyword-input-set{
        display: flex;
        flex-wrap: wrap;
    }
    .comp-search-box .keyword-input-set .keyword-input{
        flex: 0 1 479px;
        margin-right: 35px;
    }
    .comp-search-box .keyword-input-set input[type="text"]{
        height: 60px;
    }

    /* details button */

    .comp-search-box .button-search-details{
        width: auto;
        margin-left: 30px;
    }
    .comp-search-box .button-search-details .button-text{
        padding: 10px 30px 10px 40px;
    }

    /* search-details */

    .comp-search-box .search-details{
        margin: 0;
        padding: 10px 30px 30px;
    }
    .comp-search-box .sort-term{
        margin: 15px 0 0;
    }
    .comp-search-box .term-input label input[type="text"]{
        padding: 7px 10px;
    }

    /* sort-committee */

    .comp-search-box .sort-committee{
        margin: 15px 0 0 0;
    }
    .comp-search-box .committee-title{
        padding-bottom: 5px;
    }
    .comp-search-box .sort-committee .mod-list-input{
        padding-bottom: 10px;
    }
    .comp-search-box .sort-committee .mod-list-input .input-label{
        margin-right: 30px;
    }
    .comp-search-box .committee-list{
        display: flex;
        flex-wrap: wrap;
    }
    .comp-search-box .committee-list > li{
        flex: 1 1 100%;
    }
    .comp-search-box .committee-list > .width-small{
        flex: 1 1 32.592%;
        max-width: 264px;
    }
    .comp-search-box .committee-list > .width-middle{
        flex: 1 1 65.185%;
        max-width: 528px;
    }
    .comp-search-box .committee-list .mod-list-input{
        display: flex;
        flex-wrap: wrap;
    }
    .comp-search-box .committee-list .mod-list-input > li{
        margin: 0;
        line-height: 1.6;
    }
    .comp-search-box .committee-title + .button-item{
        display: none;
    }

    /* submit-inputted */

    .comp-search-box .submit-inputted{
        margin: 0;
        padding: 25px 20px;
        border-radius: 0 0 6px 6px;
        box-shadow: none;
        border-bottom: none;
    }

}

/* --------------------------------------------------------------------
 * Component > comp-sort
 * ----------------------------------------------------------------- */
.comp-sort{
    display: flex;
    flex-wrap: wrap;
    margin: 37px 0 20px;
    font-size: 1.4rem;
}
.comp-sort > *{
    margin-top: 20px;
}
.comp-sort .result-sorting{
    font-weight: bold;
}
.comp-sort .result-sorting::after{
    content: '：';
    margin: 0 6px 0 8px;
}
.comp-sort .mod-list-support{
    margin-top: 0;
}
.comp-sort .mod-list-support > li{
    padding: 0px 13px;
    border: none;
    position: relative;
}
.comp-sort .mod-list-support > li::before{
    content: '';
    display: block;
    width: 1px;
    height: 1.4rem;
    position: absolute;
    top: 2px;
    left: 0;
    background-color: #ebe9e1;
}
.comp-sort .mod-list-support > li:first-child::before{
    content: none;
}
.comp-sort .mod-list-support > li:first-child{
    padding-left: 0;
}
.comp-sort .mod-list-support > li > .button-sort{
    background-color: transparent;
    padding: 2px 0 5px;
    color: #333;
}
.comp-sort .mod-list-support > li > .button-sort:hover{
    color: #551a8b;
}
.comp-sort .mod-list-support > li > .button-sort:active,
.comp-sort .mod-list-support > li > .button-sort:active > .button-text{
    position: relative;
}
.comp-sort .mod-list-support > li > .is-current{
    border-bottom: 2px solid #7d55c7;
}
.comp-sort .rss{
    margin-left: auto;
    padding: 0 30px;
    width: 180px;
    text-align: right;
    position: relative;
}
.comp-sort .rss::after{
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: #ebe9e1;
    position: absolute;
    top: 0;
    right: 15px;
}
.comp-sort .rss + .search-total{
    margin-left: 0;
}
.comp-sort .search-total{
    margin-left: auto;
}

/* --------------------------------------------------------------------
 * Component > comp-report-information
 * ----------------------------------------------------------------- */
.comp-report-information{
    margin-bottom: 20px;
}
.comp-report-information .posting-data{
    border-bottom: 1px solid #ebe9e1;
    padding-bottom: 10px;
    line-height: 1.5;
    display: flex;
    flex-wrap: wrap;
}
.comp-report-information .posting-data dd{
    padding-right: 1.6rem;
}
.comp-report-information .posting-data > dt::after{
    content: ':';
    margin: 0 5px;
}
.comp-report-information .author{
    display: block;
    text-align: right;
    margin-top: 20px;
}
.comp-report-information .author + .author{
    margin-top: 0;
}
@media screen and (min-width:768px){
    .comp-report-information{
        margin-bottom: 40px;
    }
    .comp-report-information .posting-data{
        padding-bottom: 10px;
        line-height: 1;
    }
    .comp-report-information .posting-data dt{
        border-left: 1px solid #ccc;
        padding-left: 8px;
    }
    .comp-report-information .posting-data dt:first-child{
        border: none;
        padding-left: 0;
    }
    .comp-report-information .posting-data dd{
        padding-right: 8px;
    }
    .comp-report-information .author{
        margin-top: 40px;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-link-group
 * ----------------------------------------------------------------- */
.comp-link-group .mod-grid{
    margin-top: 0;
}
.comp-link-group .column{
    display: flex;
}
.comp-link-group .mod-button-03{
    flex: 0 1 100%;
    padding: 2px;
    color: #999;
    border-color: #999;
}
.comp-link-group .mod-button-03:hover{
    color: #7d55c7;
    border-color: #7d55c7;
}
.comp-link-group .mod-button-03.is-current{
    color: #7d55c7;
    border-color: #7d55c7;
}
@media screen and (min-width:768px){
    .comp-link-group{
        margin-top: 30px;
    }
    .comp-link-group .mod-button-03{
        padding: 5px;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-agreement-box
 * ----------------------------------------------------------------- */
.comp-agreement-box{
    margin-top: 26px;
    margin-bottom: 35px;
}
.comp-agreement-box .mod-box-02{
    margin-top: 0;
}
.comp-agreement-box .mod-box-02 .box-heading{
    background-color: #ebebeb;
}

.comp-agreement-box .box-body .mod-button-02{
    padding: 10px 88px 9px 98px;
}
.comp-agreement-box .box-body .mod-button-02::before{
    left: 65px;
}
.comp-agreement-box .document-corner{
    padding-bottom: 19px;
}
.comp-agreement-box .document-corner .mod-link-list-01{
    margin-top: 23px;
}
.comp-agreement-box .document-corner p{
    font-size: 1.4rem;
    line-height: 1.8;
}
.comp-agreement-box .mod-image-text.style-stereotyped{
    margin-top: 35px;
}
@media screen and (min-width:768px){
    .comp-agreement-box .mod-box-02 .box-heading{
        padding: 19px 31px;
    }
    .comp-agreement-box .mod-box-02 .box-body{
        padding: 28px 31px 39px;
        line-height: 1.85;
    }
    .comp-agreement-box .document-corner .mod-link-list-01:nth-of-type(1){
        margin-top: 36px;
    }
    .comp-agreement-box .document-corner p{
        font-size: 1.6rem;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-pager
 * ----------------------------------------------------------------- */
.comp-pager{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 50px;
}
.comp-pager > li{
    margin: 0 3px 10px;
}
.comp-pager .page-jump,
.comp-pager .is-current,
.comp-pager a{
    text-align: center;
    font-size: 1.4rem;
    line-height: 1;
}
.comp-pager .is-current,
.comp-pager a{
    display: block;
    width: 3.7rem;
    height: 3.7rem;
    padding: 1rem 0;
    border-radius: 6px;
    border: 1px solid #999;
}
.comp-pager .page-jump{
    padding: 1rem .5rem;
}
.comp-pager .is-current{
    color: #fff;
    border-color: #7d55c7;
    background-color: #7d55c7;
}
.comp-pager .page-previous,
.comp-pager .page-next{
    width: 7.2rem;
    position: relative;
    font-size: 1.6rem;
}
.comp-pager .page-previous::before,
.comp-pager .page-next::after{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 7px;
    height: 7px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
}
.comp-pager .page-previous::before{
    transform: rotate(-45deg);
    margin-right: 3px;
}
.comp-pager .page-next::after{
    transform: rotate(135deg);
    margin-left: 3px;
}
.comp-pager a:hover{
    color: #7d55c7;
    border-color: #7d55c7;
    background-color: #f5f3fa;
}
.comp-pager .page-previous:hover::before,
.comp-pager .page-next:hover::after{
    border-color: #7d55c7;
}


/* --------------------------------------------------------------------
 * Component > comp-form-table
 * ----------------------------------------------------------------- */
.comp-form-table{
    margin-top: 32px;
}
.comp-form-table + .mod-heading-02{
    margin-bottom: 27px;
}
.comp-form-table .mod-table-02 th{
    font-weight: bold;
    padding: 14px 9px;
}
.comp-form-table .mod-table-02 .tag.required{
    font-weight: bold;
    color: #fff;
    background-color: #ee5252;
    padding: 2px 10px;
    min-width: 55px;
    margin-left: 10px;
}
.comp-form-table .mod-table-02 td{
    padding: 15px 10px;
}
.comp-form-table .mod-table-02 input[type="text"],
.comp-form-table .mod-table-02 select,
.comp-form-table .mod-table-02 textarea{
    width: 100%;
    border: 1px solid #c1c2c7;
    border-radius: 6px;
    padding: 5px 10px;
}
.comp-form-table .mod-table-02 input[type="text"],
.comp-form-table .mod-table-02 select{
    min-height: 40px;
}
.comp-form-table .mod-table-02 textarea{
    min-height: 160px;
}
.comp-form-table .mod-table-02 .mod-list-note-01{
    margin: 0 0 10px;
}
.comp-form-table .mod-table-02 input.phone-number{
    width: 78px;
    margin: 0 8px;
}
.comp-form-table .mod-table-02 input.phone-number:first-of-type{
    margin-left: 0;
}
.comp-form-table .mod-table-02 input.phone-number:last-of-type{
    margin-right: 0;
}
.comp-form-table .mod-table-02 input.width-175{
    width: 175px;
    margin-left: 8px;
}
.comp-form-table .mod-table-02 input.minimum{
    width: 80px;
    margin-right: 8px;
}
.comp-form-table .mod-table-02 .mod-list-input{
    display: flex;
    flex-wrap: wrap;
}
.comp-form-table .mod-table-02 .mod-list-input:first-child{
    margin-top: 0;
}

@media screen and (min-width:768px){
    .comp-form-table .mod-table-02 th,
    .comp-form-table .mod-table-02 td{
        display: block;
        width: 100%;
    }
}
@media screen and (min-width:1001px){
    .comp-form-table .mod-table-02 th,
    .comp-form-table .mod-table-02 td{
        display: table-cell;
        width: auto;
    }
    .comp-form-table .mod-table-02 th{
        padding: 25px 20px;
        width: 30%;
    }
    .comp-form-table .mod-table-02.style-th-long th{
        width: 60%;
    }
    .comp-form-table .mod-table-02 .tag.required{
        margin-left: 18px;
        padding: 0 17px;
    }
    .comp-form-table .mod-table-02 td{
        padding: 15px 23px;
    }
    .comp-form-table .mod-table-02 input.phone-number{
        width: 20%;
        margin: 0 11px;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-form-image
 * ----------------------------------------------------------------- */
.comp-form-image{
    margin-top: 30px;
    text-align: center;
}
.comp-form-image .image-authentication{
    width: 282px;
    margin: 0 auto;
}
.comp-form-image .mod-button-01{
    padding: 10px 39px 10px 69px;
}
.comp-form-image .mod-button-01::before{
    left: 40px;
}
@media screen and (min-width:768px){
    .comp-form-image{
        display: flex;
        align-items: center;
        margin-top: 25px;
    }
    .comp-form-image .image-authentication{
        margin-left: 0;
        margin-right: 20px;
    }
    .comp-form-image .mod-button-01{
        margin-top: 0;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-form-submit
 * ----------------------------------------------------------------- */
.comp-form-submit{
    text-align: center;
    margin-top: 60px;
}
.comp-form-submit .mod-button-01{
    color: #fff;
    background-color: #ffa400;
    border-color: #ffa400;
    padding: 14px 50px 10px 55px;
}
.comp-form-submit .mod-button-01::before{
    left: 30px;
    background-color: #fff;
}
.comp-form-submit .mod-button-01::after{
    border-color: #ffa400;
    left: 35px;
}
.comp-form-submit .mod-button-01:hover{
    background-color: #ec933a;
}
.comp-form-submit .mod-button-03{
    padding: 12px 80px 12px 85px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
}
.comp-form-submit .mod-button-03 + .mod-button-01{
    padding: 12px 80px;
}
.comp-form-submit .mod-button-03 + .mod-button-01::before{
    left: 55px;
}
.comp-form-submit .mod-button-03 + .mod-button-01::after{
    left: 60px;
}

@media screen and (min-width:768px){
    .comp-form-submit .mod-button-03{
        margin-right: 10px;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-btn-download
 * ----------------------------------------------------------------- */
 .comp-btn-download{
    text-align: center;
    margin: 30px 0 20px;
}
.comp-btn-download .mod-button-02{
    border: 1px solid #7d55c7;
    background-color: #7d55c7;
    color: #fff;
    padding: 12px 50px 12px 55px;
}
.comp-btn-download .mod-button-02::before{
    left: 30px;
    border-color: #fff;
}
.comp-btn-download .mod-button-02:hover{
    border: 1px solid #c9bfe3;
    background-color: #c9bfe3;
    box-shadow: none;
}

/* --------------------------------------------------------------------
 * Component > error-message-box
 * ----------------------------------------------------------------- */
.error-message-box{
    background-color: #f0f3fa;
    padding: 24px 20px 21px 15px;
}
.error-message-box .mod-list-note-01{
    margin-top: 0;
}
.error-message-box .mod-list-note-01 > li{
    padding-left: 3.3rem;
}
.error-message-box .mod-list-note-01 > li strong{
    font-weight: bold;
}
.error-message-box .mod-list-note-01 > li .mark{
    text-align: center;
    color: #fff;
    background-color: #d22222;
    border-radius: 50%;
    width: 2.2rem;
    height: 2.2rem;
    bottom: 0;
    margin: auto 0;
    padding: .1rem;
}
@media screen and (min-width:768px){
    .error-message-box{
        padding: 40px 32px 38px;
    }
    .error-message-box .mod-list-note-01 > li{
        padding-left: 4rem;
    }
    .error-message-box .mod-list-note-01 > li .mark{
        width: 2.8rem;
        height: 2.8rem;
        padding: .2rem;
    }
}

/* --------------------------------------------------------------------
 * Component > error-message
 * ----------------------------------------------------------------- */
.error-message{
    font-weight: bold;
    color: #d22222;
}
.comp-form-table .error-message ~ input[type="text"],
.comp-form-table .error-message ~ textarea{
    border-color: #ee5252;
}

/* --------------------------------------------------------------------
 * Component > comp-order-details
 * ----------------------------------------------------------------- */
.comp-order-details .mod-list-input > li{
    padding: 15px 0 20px;
    border-bottom: 1px solid #ebe9e1;
    text-align: right;
}
.comp-order-details .mod-list-input > li:first-child{
    border-top: 1px solid #ebe9e1;
}
.comp-order-details .mod-list-input .input-label{
    text-align: left;
}
.comp-order-details .mod-list-input .input-label [type="radio"],
.comp-order-details .mod-list-input .input-label [type="checkbox"],
.comp-order-details .mod-list-input .input-label [type="radio"] + .label-text::before,
.comp-order-details .mod-list-input .input-label [type="checkbox"] + .label-text::before{
    top: 3px;
    bottom: auto;
}
.comp-order-details .mod-list-input .input-label [type="checkbox"]:checked + .label-text::after{
    margin-top: 3px;
}
.comp-order-details .mod-list-input [type="text"]{
    border: 1px solid #c1c2c7;
    border-radius: 6px;
    width: 100px;
    height: 36px;
    margin: 20px 5px 0 auto;
    padding: 2px 10px;
}
@media screen and (min-width:768px){
    .comp-order-details .mod-list-input > li{
        padding: 24px 0 30px 20px;
        text-align: left;
        display: flex;
        align-items: center;
    }
    .comp-order-details .mod-list-input .after-input-element{
        flex: 0 1 50%;
    }
    .comp-order-details .mod-list-input .input-label{
        display: inline-block;
    }
    .comp-order-details .mod-list-input > li:last-child .input-label{
        margin-right: 20px;
    }
    .comp-order-details .mod-list-input [type="text"]{
        width: 180px;
        height: 40px;
        margin-top: 0;
        margin-left: 0;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-shopping-cart
 * ----------------------------------------------------------------- */
.comp-shopping-cart{
    margin-top: 30px;
}
.comp-shopping-cart .total-price{
    display: flex;
    justify-content: flex-end;
    text-align: right;
    font-size: 1.8rem;
}
.comp-shopping-cart .total-price .price-title{
    font-weight: bold;
}
.comp-shopping-cart .total-price .price{
    margin-left: 20px;
}
.comp-shopping-cart .comp-shopping-cart-table{
    width: 100%;
    margin-top: 20px;
    border-top: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
}
.comp-shopping-cart .comp-shopping-cart-table th,
.comp-shopping-cart .comp-shopping-cart-table td{
    border-right: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
}
.comp-shopping-cart .comp-shopping-cart-table td{
    font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
.comp-shopping-cart .comp-shopping-cart-table th a,
.comp-shopping-cart .comp-shopping-cart-table td a{
    color: #5272d3;
    text-decoration: underline;
}
.comp-shopping-cart .comp-shopping-cart-table .copies{
    width: 78px;
    height: 40px;
    padding: 2px 10px;
    border-radius: 6px;
    border: 1px solid #c1c2c7;
}
.comp-shopping-cart .comp-shopping-cart-table .mod-button-03{
    margin-top: 0;
    padding: 15px 20px;
    font-size: 1.6rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
}
.comp-shopping-cart .cart-utility{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.comp-shopping-cart .cart-utility.align-right{
    margin-right: -10px;
    justify-content: flex-end;
}
.comp-shopping-cart .comp-shopping-cart-table + .cart-utility{
    padding-bottom: 40px;
}
.comp-shopping-cart .cart-utility .mod-button-03{
    margin: 20px 10px 0;
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
}
.comp-shopping-cart .comp-shopping-cart-table .mod-button-03:active,
.comp-shopping-cart .comp-shopping-cart-table .mod-button-03:active > .button-text
.comp-shopping-cart .cart-utility .utility-right .mod-button-03:active,
.comp-shopping-cart .cart-utility .utility-right .mod-button-03:active > .button-text{
    position: relative;
}

/* sp - 1000px */
@media screen and (max-width:1000px){
    .comp-shopping-cart .comp-shopping-cart-table,
    .comp-shopping-cart .comp-shopping-cart-table tbody,
    .comp-shopping-cart .comp-shopping-cart-table tfoot,
    .comp-shopping-cart .comp-shopping-cart-table td{
        display: block;
    }
    .comp-shopping-cart .comp-shopping-cart-table{
        border-top: none;
        border-left: none;
    }
    .comp-shopping-cart .comp-shopping-cart-table thead,
    .comp-shopping-cart .comp-shopping-cart-table tfoot th{
        display: none;
    }
    .comp-shopping-cart .comp-shopping-cart-table tbody tr,
    .comp-shopping-cart .comp-shopping-cart-table tfoot tr{
        display: flex;
        flex-wrap: wrap;
        border-top: 1px solid #e6e6e6;
        margin-top: 20px;
    }
    .comp-shopping-cart .comp-shopping-cart-table tbody tr:first-child{
        margin-top: 0;
    }
    .comp-shopping-cart .comp-shopping-cart-table th,
    .comp-shopping-cart .comp-shopping-cart-table td{
        border-left: 1px solid #e6e6e6;
        width: 100%;
        padding: 0 10px 15px;
        text-align: right;
    }
    .comp-shopping-cart .comp-shopping-cart-table .sp-text-center{
        text-align: center;
    }
    .comp-shopping-cart .comp-shopping-cart-table .sp-width-half{
        width: 50%;
    }
    .comp-shopping-cart .comp-shopping-cart-table .sp-width-half:nth-child(2n){
        border-left: none;
    }
    .comp-shopping-cart .comp-shopping-cart-table .sp-width-half .price{
        display: flex;
        justify-content: flex-end;
        align-items: center;
        height: 40px;
    }
    .comp-shopping-cart .comp-shopping-cart-table .copies + span{
        margin-left: 5px;
    }
    .comp-shopping-cart .comp-shopping-cart-table .pseudo-thead{
        font-family: 'Yu Gothic Medium', YuGothic,YuGothicM, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
        background-color: #f5f5f5;
        border-bottom: 1px solid #e6e6e6;
        display: block;
        margin: 0 -10px 10px;
        padding: 10px;
        font-weight: bold;
        text-align: left;
    }
}
@media screen and (min-width:1001px){
    .comp-shopping-cart .total-price .price{
        margin-left: 30px;
    }
    .comp-shopping-cart .comp-shopping-cart-table{
        margin-top: 15px;
        border-collapse: collapse;
        table-layout: auto;
    }
    .comp-shopping-cart .comp-shopping-cart-table .pseudo-thead{
        display: none;
    }
    .comp-shopping-cart .comp-shopping-cart-table th{
        background-color: #f5f5f5;
        border-bottom: 1px solid #e6e6e6;
        font-weight: bold;
        height: 70px;
    }
    .comp-shopping-cart .comp-shopping-cart-table tbody th{
        background-color: #fff;
        padding: 10px 15px;
    }
    .comp-shopping-cart .comp-shopping-cart-table th:first-child{
        width: 35%;
    }
    .comp-shopping-cart .comp-shopping-cart-table th:last-child{
        width: 15%;
    }
    .comp-shopping-cart .comp-shopping-cart-table td{
        padding: 10px 15px;
        text-align: center;
    }
    .comp-shopping-cart .comp-shopping-cart-table .copies{
        width: 47px;
    }
    .comp-shopping-cart .comp-shopping-cart-table .mod-button-03{
        padding: 15px;
    }
    .comp-shopping-cart .cart-utility{
        justify-content: space-between;
    }
    .comp-shopping-cart .cart-utility.align-right{
        margin-right: 0;
    }
    .comp-shopping-cart .cart-utility .mod-button-03{
        margin: 20px 0 0 20px;
    }
    .comp-shopping-cart .cart-utility > li:first-child .mod-button-03{
        margin-left: 0;
    }
    .comp-shopping-cart .cart-utility > li:nth-of-type(2){
        margin-right: auto;
    }
}

/* --------------------------------------------------------------------
 * Component > form-order-content
 * ----------------------------------------------------------------- */
@media screen and (min-width:1001px){
    .form-order-content{
        padding-right: 27.5%;
        position: relative;
    }
    .form-order-content::after{
        content: '';
        display: block;
        background-color: #f0f0f0;
        border-radius: 6px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .16);
        width: 21.666%;
        height: 709px;
        max-width: 260px;
        position: absolute;
        top: 0;
        right: 0;
    }
}

/* --------------------------------------------------------------------
 * Component > comp-site-search
 * ----------------------------------------------------------------- */
* + form .comp-site-search{
    margin-top: 30px;
}
.comp-site-search .search-input input[type="text"]{
    background-color: #f5f4f0;
    height: 48px;
    padding: 0 14px;
}
.comp-site-search .search-button{
    min-width: 48px;
    min-height: 48px;
}
.comp-site-search .another-way{
    text-align: center;
    margin-top: 35px;
}
.comp-site-search .another-way .mod-button-01{
    padding: 12px 84px 12px 102px;
}
.comp-site-search .another-way .mod-button-01::before{
    left: 76px;
}
.comp-site-search .another-way .mod-button-01::after{
    left: 81px;
}
@media screen and (min-width:768px){
    .comp-site-search .mod-search-box-set{
        flex: 1 0 auto;
    }
    .comp-site-search .search-input{
        flex: 0 1 356px;
    }
    .comp-site-search .search-button{
        color: #fff;
        background-color: #7d55c7;
        font-size: 1.6rem;
        border-radius: 6px;
        min-width: 146px;
        min-height: 48px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    }
    .comp-site-search .search-button::before{
        content: '';
        display: inline-block;
        width: 7px;
        height: 7px;
        transform: rotate(135deg);
        position: absolute;
        left: 15px;
        top: 0;
        bottom: 0;
        margin: auto 0;
        border-top: 2px solid #fff;
        border-left: 2px solid #fff;
    }
    .comp-site-search .search-button .search-icon{
        position: static;
    }
    .comp-site-search .search-button .search-icon::before,
    .comp-site-search .search-button .search-icon::after{
        content: none;
    }
    .comp-site-search .another-way .mod-button-01{
        padding: 11px 35px 11px 55px;
    }
    .comp-site-search .another-way .mod-button-01::before{
        left: 15px;
    }
    .comp-site-search .another-way .mod-button-01::after{
        left: 20px;
    }
}
@media screen and (min-width:1001px){
    .comp-site-search{
        display: flex;
    }
    .comp-site-search .mod-search-box-set{
        justify-content: flex-start;
        padding-right: 20px;
    }
    .comp-site-search .another-way{
        margin-top: 0;
        margin-left: auto;
    }
}

/* ----------------------------------------------------------------------------
 * JavaScript
 * ------------------------------------------------------------------------- */

/* js-toggle-menu */
.js-toggle-menu-content{
    display: none;
}
@media screen and (min-width:768px){
    .js-toggle-menu-content{
        display: flex !important;
    }
}

/* js-toggle */
@media screen and (min-width:768px){
    .js-toggle.is-disable-pc > .js-toggle-ui .js-toggle-hook{
        display: none !important;
    }
    .js-toggle.is-disable-pc > .js-toggle-content{
        display: block !important;
    }
}

/* js-switcher */
.js-switcher .js-switcher-after > :first-child{
    margin-top: 0;
}

/* js-dialog */
body.is-dialog-active{
    overflow: hidden;
}
.dialog-wrapper{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    display: none;
    overflow: auto;
    padding: 22px 10PX;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    align-items: center;
}
body.is-dialog-active .dialog-wrapper{
    display: flex;
}
body.is-dialog-active .dialog-wrapper.is-active{
    opacity: 1;
}
.dialog-wrapper .dialog{
    position: relative;
    display: none;
    margin: auto;
    padding: 35px 15px;
    max-width: 674px;
    border-radius: 7px;
    background: #fff;
}
.dialog-wrapper .dialog > div > :first-child{
    margin-top: 0 !important;
}
.dialog-wrapper .dialog.is-active{
    display: block;
    align-self: flex-start;
}
.dialog-wrapper .dialog-close-button{
    position: absolute;
    top: -10px;
    right: -6px;
    display: block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #7d55c7;
    color: transparent;
    font-size: 0;
    transition: background-color .15s linear 0s;
}
.dialog-wrapper .dialog-close-button:hover,
.dialog-wrapper .dialog-close-button:focus{
    background-color: #c9bfe3;
}
.dialog-wrapper .dialog-close-button::before,
.dialog-wrapper .dialog-close-button::after{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    margin: auto;
    width: 14px;
    height: 2px;
    background: #fff;
    content: "";
}
.dialog-wrapper .dialog-close-button::before{
    transform: rotate(45deg);
}
.dialog-wrapper .dialog-close-button::after{
    transform: rotate(-45deg);
}
.dialog-wrapper .dialog .image img{
    width: 100%;
    max-width: 100%;
}
@media screen and (min-width:768px){
    .dialog-wrapper{
        padding: 60px;
    }
    .dialog-wrapper .dialog{
        padding: 40px 30px;
    }
    .dialog-wrapper .dialog-close-button{
        top: -16px;
        right: -16px;
        width: 48px;
        height: 48px;
    }
    .dialog-wrapper .dialog-close-button::before,
    .dialog-wrapper .dialog-close-button::after{
        width: 22px;
    }
}

/* setAddFileInfo */
.icon{
    margin-left: 5px;
    vertical-align: middle;
}

/* js-carousel */
.js-carousel{
}
.js-carousel-slider{
    overflow: hidden;
    user-select: none;
}
.js-carousel-list{
    display: flex;
}
.js-carousel-panel{
    flex: 1 1 1200px;
}
.js-carousel .control{
    width: 86px;
    height: 32px;
    background-color: #fff;
    margin: 10px auto;
    border-radius: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    display: flex;
}
.js-carousel .control > li{
    flex: 1 0 auto;
}
.js-carousel .control .previous,
.js-carousel .control .pause,
.js-carousel .control .play,
.js-carousel .control .next{
    display: block;
    position: relative;
    background-color: transparent;
    font-size: 0;
    width: 100%;
    height: 32px;
}
.js-carousel .control .play{
    background-color: #7d55c7;
}
.js-carousel .control .previous{
    border-radius: 16px 0 0 16px;
}
.js-carousel .control .next{
    border-radius: 0 16px 16px 0;
}
.js-carousel .control .previous:hover,
.js-carousel .control .pause:hover,
.js-carousel .control .play:hover,
.js-carousel .control .next:hover{
    background-color: #c9bfe3;
}
.js-carousel .control .previous::before,
.js-carousel .control .pause::before,
.js-carousel .control .play::before,
.js-carousel .control .next::before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.js-carousel .control .previous::before,
.js-carousel .control .next::before{
    width: 7px;
    height: 7px;
}
.js-carousel .control .previous::before{
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
}
.js-carousel .control .next::before{
    border-right: 2px solid #7d55c7;
    border-bottom: 2px solid #7d55c7;
}
.js-carousel .control .previous::before{
    transform: rotate(-45deg);
    left: 10px;
}
.js-carousel .control .next::before{
    transform: rotate(-45deg);
    right: 10px;
}
.js-carousel .control .pause::before{
    width: 7px;
    height: 10px;
    border-left: 2px solid #7d55c7;
    border-right: 2px solid #7d55c7;
    left: 0;
    right: 0;
}
.js-carousel .control .play::before{
    width: 0;
    height: 13px;
    border-radius: 2px;
    border: 6px solid transparent;
    border-left: 10px solid #fff;
    left: 6px;
    right: 0;
}

/* js-tab */
.js-tab .js-tab-content{
    display: none;
}
.js-tab .js-tab-content.is-active{
    display: block;
}


/* ============================================================================
 * Unique
 * ========================================================================= */

/* --------------------------------------------------------------------
 * Unique > mainvisual-guide
 * ----------------------------------------------------------------- */
.mainvisual-guide{
    width: 100%;
    background-color: #f4f2fa;
    box-shadow: 0 6px 9px rgba(0, 0, 0, .1);
    padding-bottom: 20px;
}

/* visual */

.mainvisual-guide .visual a:hover{
    opacity: .7;
}

/* guide */

.mainvisual-guide .guide{
    margin: 0 10px;
}
.mainvisual-guide .guide > li{
    margin-top: 5px;
}
.mainvisual-guide .guide > li > a{
    color: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    position: relative;
    display: flex;
    align-items: center;
    padding-right: 20px;
}
.mainvisual-guide .guide.for-staff > li > a{
    color: #333;
    background-color: #dedef4;
    padding: 20px;
}
.mainvisual-guide .guide > li > a::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    right: 10px;
}
.mainvisual-guide .guide.for-staff > li > a::after{
    border-color: #7d55c7;
    right: 16px;
}
.mainvisual-guide .guide > .member > a{
    background-color: #7d55c7;
}
.mainvisual-guide .guide > .about > a{
    background-color: #ffa400;
}
.mainvisual-guide .guide > .company > a{
    background-color: #3a5dae;
}
.mainvisual-guide .guide a:hover{
    opacity: .7;
}
.mainvisual-guide-02 .guide li:hover{
    opacity: .7;
}
   
.mainvisual-guide .guide.for-staff a:hover{
    opacity: 1;
    background-color: transparent;
}
.mainvisual-guide .guide a:hover::before{
    content: none;
}
.mainvisual-guide .guide.for-staff a:hover::before{
    content: '';
}
.mainvisual-guide .guide .image{
    flex: 0 1 90px;
    margin-right: 15px;
}
.mainvisual-guide .guide .image img{
    border-radius: 4px 0 0 4px;
}
.mainvisual-guide .guide .text{
    flex: 1 0 0%;
    font-size: 1.6rem;
}
.mainvisual-guide .guide .sub-text{
    font-size: 1.4rem;
}

@media screen and (min-width:768px){
    .mainvisual-guide{
        background-image: linear-gradient( -90deg, rgba(182,210,235,.4) 0%, rgba(215,206,240,.4) 100%);
        padding-bottom: 0;
    }
    .mainvisual-guide .mainvisual-guide-inner{
        max-width: 1480px;
        margin: 0 auto;
    }
    .mainvisual-guide .visual-outer{
        position: relative;
        background-color: #fff;
    }
    .mainvisual-guide .visual-outer .visual img {
        width: 100%;
    }
    .mainvisual-guide .control{
        position: absolute;
        right: 20px;
        bottom: 20px;
    }
    .mainvisual-guide .guide{
        margin: 0;
        display: flex;
    }
    .mainvisual-guide .guide > li{
        margin-top: 0;
        flex: 1 0 0%;
        position: relative;
    }
    .mainvisual-guide .guide > li > a{
        padding-right: 6.136%;
        border-radius: 0;
        box-shadow: none;
    }
    .mainvisual-guide .guide.for-staff > li > a{
        padding: 20px 30px 20px 40px;
        height: 100%;
    }
    .mainvisual-guide .guide > li > a::before{
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        box-shadow: inset 0 2px 4px rgba(0, 0, 0, .2);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
    }
    .mainvisual-guide .guide .image{
        flex: 0 1 140px;
        margin-right: 6.136%;
    }
    .mainvisual-guide .guide .image img{
        border-radius: 0;
    }
    .mainvisual-guide .guide .text{
        font-size: 1.6rem;
        flex: 0 1 212.725px;
    }
    .mainvisual-guide .guide.for-staff .text{
        flex: 0 1 100%;
    }
    .mainvisual-guide .guide .sub-text{
        font-size: 1.4rem;
    }
}
@media screen and (min-width:1001px){
    .mainvisual-guide .mainvisual-guide-inner{
        display: flex;
        justify-content: center;
    }
    .mainvisual-guide .visual-outer{
        flex: 0 1 100%;
    }
    .mainvisual-guide .guide{
        flex: 0 1 400px;
        flex-direction: column;
    }
    .mainvisual-guide .guide > li{
        flex: 1 0 0%;
        display: flex;
    }
    .mainvisual-guide .guide > li > a{
        width: 100%;

    }
    .mainvisual-guide .guide .text{
        font-size: 1.315vw;
    }
    .mainvisual-guide .guide .sub-text{
        font-size: 1.052vw;
    }
}

@media screen and (min-width:1521px){
    .mainvisual-guide .guide .text{
        font-size: 2rem;
    }
    .mainvisual-guide .guide .sub-text{
        font-size: 1.6rem;
    }
}

/* --------------------------------------------------------------------
 * Unique > mainvisual-guide-02
 * ----------------------------------------------------------------- */

.mainvisual-guide-02{
    width: 100%;
    background-color: #f4f2fa;
    box-shadow: 0 6px 9px rgba(0, 0, 0, .1);
    padding-bottom: 20px;
}

.mainvisual-guide-02 .guide li > a {
    width: 100%;
    color: #fff;
    position: relative;
    align-items: center;
    display: flex;
    padding: 24px 20px;
    font-size: 1.6rem;
    align-items: center;
}

.mainvisual-guide-02 .guide li > a::before {
    content: '';
    width: 28px;
    height: 28px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -14px;
}

.mainvisual-guide-02 .guide li > a::after {
    content: '';
    width: 10px;
    height: 10px;
    border: 0;
    position: absolute;
    top: 50%;
    right: 31px;
    margin-top: -5px;
    transform: rotate(45deg);
}

.mainvisual-guide-02 .guide li.member > a::after {
    border-top: solid 2px #7d55c7;
    border-right: solid 2px #7d55c7;
}

.mainvisual-guide-02 .guide li.about > a::after {
    border-top: solid 2px #ffa400;
    border-right: solid 2px #ffa400;
}

.mainvisual-guide-02 .guide li.company > a::after {
    border-top: solid 2px #3a5dae;
    border-right: solid 2px #3a5dae;
}

.mainvisual-guide-02 .guide .member {
    background-color: #7d55c7;
}

.mainvisual-guide-02 .guide .about {
    background-color: #ffa400;
}

.mainvisual-guide-02 .guide .company {
    background-color: #3a5dae;
}

.mainvisual-guide-02 .guide li .sub-text {
    font-size: 1.2rem;
}

@media screen and (min-width:768px){
    .mainvisual-guide-02 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        background-image: linear-gradient( -90deg, rgba(182,210,235,.4) 0%, rgba(215,206,240,.4) 100%);
    }
    .mainvisual-guide-02 .guide {
        display: flex;
        max-width: 1480px;
        margin: 0 auto;
    }
    .mainvisual-guide-02 .guide li {
        display: flex;
        flex: 1 0 auto;
        flex-basis: 33.3333%;
        text-align: center;
        font-size: 1.315vw;
    }
    .mainvisual-guide-02 .guide li a {
        padding: 40px 40px 40px 32px;
        font-size: 1.8rem;
    }
    .mainvisual-guide-02 .guide li .sub-text {
        font-size: 0.6vw;
    }
    .mainvisual-guide-02 .guide li > a::before {
        right: 14px;
    }
    .mainvisual-guide-02 .guide li > a::after {
        right: 25px;
    }
}

@media screen and (min-width:1185px){
    .mainvisual-guide-02 .guide li a {
        font-size: 2.0rem;
    }
}

@media screen and (min-width:1521px){
}

/* --------------------------------------------------------------------
 * Unique > mainvisual-member-info
 * ----------------------------------------------------------------- */
.mainvisual-member-info{
    width: 100%;
    background-color: #f4f2fa;
    box-shadow: 0 6px 9px rgba(0, 0, 0, .1);
}

/* visual */

.mainvisual-member-info .visual a:hover{
    opacity: .7;
}

/* member-info */

.mainvisual-member-info .member-name-outer{
    padding: 20px 15px;
    background: url(/n_member/img/bg-n_member-pattern-sp.png) no-repeat center center;
    background-size: cover;
}
.mainvisual-member-info .member-name{
    font-size: 2.4rem;
    font-weight: bold;
}
.mainvisual-member-info .region{
    margin-top: 8px;
    display: flex;
    font-size: 1.4rem;
}
.mainvisual-member-info .region .region-meeting{
    color: #fff;
    background-color: #7d55c7;
    border-radius: 2px 0 0 2px;
    padding: .4rem .8rem;
}
.mainvisual-member-info .region .meeting-name{
    padding: .4rem 0 .4rem 3rem;
    position: relative;
    flex: 1 0 0%;
}
.mainvisual-member-info .region .meeting-name::after{
    content: '';
    display: block;
    border: 1.4rem solid transparent;
    border-left: 1.4rem solid #7d55c7;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -.1%;
    margin: auto 0;
}
.mainvisual-member-info .region .meeting-name a{
    text-decoration: underline;
    position: relative;
}
.mainvisual-member-info .region .meeting-name a:hover{
    text-decoration: none;
}
.mainvisual-member-info .region .meeting-name a::after{
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: url(/shared/img/icon-window02.png) no-repeat center center;
    margin-left: 5px;
}
.mainvisual-member-info .info-setting{
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #b9aae1;
    font-size: 1.4rem;
    overflow: hidden;
}
.mainvisual-member-info .info-setting > li{
    flex: 1 0 50%;
    border-bottom: 1px solid #b9aae1;
    position: relative;
}
.mainvisual-member-info .info-setting > li > a{
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 60px;
    padding: 0 25px 0 15px;
    position: relative;
}
.mainvisual-member-info .info-setting > li::before,
.mainvisual-member-info .info-setting > li > a::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
}
.mainvisual-member-info .info-setting > li::before{
    width: 1px;
    height: 100%;
    background-color: #b9aae1;
    right: -1px;
}
.mainvisual-member-info .info-setting > li > a::after{
    width: 8px;
    height: 8px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    bottom: 0;
    right: 10px;
    margin: auto 0;
}
.mainvisual-member-info .info-setting .info-support{
    background-color: #d5d5eb;
    display: flex;
    min-height: 60px;
}
.mainvisual-member-info .info-setting .info-support > li{
    flex: 1 0 50%;
}
.mainvisual-member-info .info-setting .info-support > li > a{
    line-height: 1.25;
    display: block;
    margin: 10px;
    padding-left: 20px;
    position: relative;
}
.mainvisual-member-info .info-setting .info-support > li > a::before{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(135deg);
    position: absolute;
    top: .3rem;
    left: 0;
}
@media screen and (max-width:767px){
    .mainvisual-member-info .info-setting > .sp-full-width{
        flex: 1 0 100%;
    }
}
@media screen and (min-width:768px){
    .mainvisual-member-info{
        background-image: linear-gradient( -90deg, rgba(182,210,235,.4) 0%, rgba(215,206,240,.4) 100%);
    }
    .mainvisual-member-info .mainvisual-member-info-inner{
        max-width: 1600px;
        margin: 0 auto;
    }
    .mainvisual-member-info .visual-outer{
        position: relative;
    }
    .mainvisual-member-info .control{
        position: absolute;
        right: 20px;
        bottom: 20px;
    }
    .mainvisual-member-info .member-info{
        margin: 0;
        display: flex;
    }
    .mainvisual-member-info .member-name-outer{
        flex: 0 1 220px;
        padding: 20px;
        background-image: url(/n_member/img/bg-n_member-pattern.png);
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .mainvisual-member-info .member-name{
        font-size: 1.973vw;
    }
    .mainvisual-member-info .region{
        font-size: .921vw;
        margin-top: 3.125%;
    }
    .mainvisual-member-info .region .meeting-name{
        padding-left: 7.5%;
    }
    .mainvisual-member-info .region .meeting-name::after{
        height: 0;
        border-width: 1vw;
    }
    .mainvisual-member-info .info-setting{
        flex: 1 0 0%;
        font-size: 1.4rem;
        background-color: #f4f2fa;
    }
    .mainvisual-member-info .info-setting > li{
        flex: 1 0 33.333%;
    }
    .mainvisual-member-info .info-setting > li > a{
        padding: 0 20% 0 10%;
        min-height: auto;
    }
    .mainvisual-member-info .info-setting > li > a:hover{
        color: #fff;
        background-color: #b9aae1;
    }
    .mainvisual-member-info .info-setting > li > a:hover::after{
        border-color: #fff;
    }
    .mainvisual-member-info .info-setting > li > a::before{
        content: none;
    }
    .mainvisual-member-info .info-setting .info-support{
        font-size: .921vw;
        flex-direction: column;
        height: 100%;
        min-height: auto;
    }
    .mainvisual-member-info .info-setting .info-support > li{
        flex: none;
    }
    .mainvisual-member-info .info-setting .info-support > li > a{
        margin: 8px 5% 8px 10%;
    }
    .mainvisual-member-info .info-setting .info-support > li > a:hover{
        color: #7d55c7;
        text-decoration: underline;
    }
}
@media screen and (min-width:1001px){
    .mainvisual-member-info .mainvisual-member-info-inner{
        display: flex;
        justify-content: center;
    }
    .mainvisual-member-info .visual-outer{
        flex: 0 1 1200px;
    }
    .mainvisual-member-info .member-info{
        display: block;
        position: relative;
        background: url(/n_member/img/bg-n_member-pattern.png) repeat center center;
        background-size: cover;
    }
    .mainvisual-member-info .member-name-outer{
        padding: 10.75% 10%;
    }
    .mainvisual-member-info .member-name{
        font-size: 1.973vw;
    }
    .mainvisual-member-info .member-info{
        flex: 0 1 400px;
    }
    .mainvisual-member-info .info-setting{
        position: absolute;
        bottom: 0;
        left: 0;
        font-size: 1.052vw;
        width: 100%;
        height: 59.5%;
    }
    .mainvisual-member-info .info-setting > li{
        flex: 1 0 50%;
    }
    .mainvisual-member-info .info-setting > li:last-child,
    .mainvisual-member-info .info-setting > li:nth-last-child(2){
        border-bottom: none;
    }
    .mainvisual-member-info .info-setting > li > a{
        height: 5vw;
    }
    .mainvisual-member-info .info-setting .info-support > li > a{
        margin: 7.5% 5% 0 10%;
    }
}
@media screen and (min-width:1601px){
    .mainvisual-member-info .member-name-outer{
        height: 170px;
    }
    .mainvisual-member-info .region .meeting-name::after{
        border-width: 1.4rem;
    }
    .mainvisual-member-info .member-name{
        font-size: 3rem;
    }
    .mainvisual-member-info .region{
        font-size: 1.4rem;
    }
    .mainvisual-member-info .info-setting{
        font-size: 1.6rem;
    }
    .mainvisual-member-info .info-setting > li > a{
        height: 83px;
    }
    .mainvisual-member-info .info-setting .info-support{
        font-size: 1.4rem;
    }
}

/* --------------------------------------------------------------------
 * Unique > XXXX-field
 * ----------------------------------------------------------------- */
.news-field,
.specialized-field-inner,
.about-field-inner,
.cpa-field,
.contact-field-inner,
.search-field,
.contents-link-field{
    padding: 35px 0;
}
.field-heading{
    color: #7d55c7;
    font-size: 2.2rem;
    font-weight: bold;
    margin: 0 10px;
}
.field-heading a{
    color: #fff;
}
.field-heading a:hover{
    text-decoration: underline;
}
.specialized-field-inner .mod-grid .mod-button-01,
.about-field-inner .mod-grid .mod-button-01,
.contents-link-field .mod-grid .mod-button-01{
    padding: 12px 10px 12px 30px;
}
.specialized-field-inner .mod-grid .mod-button-01::before,
.about-field-inner .mod-grid .mod-button-01::before,
.contents-link-field .mod-grid .mod-button-01::before{
    width: 16px;
    height: 16px;
}
.mod-grid.style-blank-icon .mod-button-01 .icon{
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    bottom: 8px;
    right: 8px;
}

@media screen and (min-width:768px){
    .news-field,
    .specialized-field-inner,
    .about-field-inner,
    .cpa-field,
    .contact-field-inner,
    .search-field,
    .contents-link-field{
        max-width: 1240px;
        margin: 0 auto;
        padding: 80px 20px;
    }
    .mainvisual-member-info ~ .news-field,
    .mainvisual-member-info ~ .search-field,
    .mainvisual-member-info ~ .contents-link-field{
        padding: 20px;
    }
    .field-heading{
        font-size: 2.4rem;
    }
}

/* --------------------------------------------------------------------
 * Unique > news-field
 * ----------------------------------------------------------------- */
.news-field .sort-ui{
    margin-top: 20px;
    display: flex;
    justify-content: center;
}
.news-field .sort-ui > li{
    flex: 1 0 0%;
    position: relative;
}
.news-field .sort-ui > li::before,
.news-field .sort-ui > li:last-child::after{
    content: '';
    display: block;
    width: 1px;
    height: 2rem;
    background-color: #ebe9e1;
    position: absolute;
    top: 2px;
    left: 0;
}
.news-field .sort-ui > li:first-child::before,
.news-field .sort-ui > li:last-child::after{
    content: none;
}
.news-field .sort-ui > li > .sort-button{
    display: block;
    width: 100%;
    padding: 5px 10px 20px;
    color: #999;
    font-weight: bold;
    background-color: transparent;
    text-align: center;
    position: relative;
    line-height: 1;
}
.news-field .sort-ui > li > .sort-button:hover{
    color: #333;
}
.news-field .sort-ui > li > .sort-button.is-active{
    color: #333;
}
.news-field .sort-ui > li > .sort-button.is-active::before,
.news-field .sort-ui > li > .sort-button.is-active::after{
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.news-field .sort-ui > li > .sort-button.is-active::before{
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-bottom: 6px solid #7d55c7;
}
.news-field .sort-ui > li > .sort-button.is-active::after{
    width: 80%;
    height: 3px;
    border-radius: 10px;
    background-color: #7d55c7;
    width: 16px!important;
    height: 16px;
    border-radius: 8px;
    background-color: #7d55c7;
    bottom: -8px;
    z-index: 100;
}

/* mod-unit-link-01 */

.news-field .field-heading-outer + .mod-unit-link-01{
    margin-top: 0;
}
.news-field .mod-unit-link-01 a{
    padding: 20px 30px 20px 20px;
}
.news-field .mod-unit-link-01 a::before{
    right: 6px;
}
.news-field .mod-unit-link-01 a::after{
    right: 15px;
}
.news-field .mod-unit-link-01 .tag-outer{
    margin-right: 10px;
}

/* mod-link-list-01 */

.news-field .mod-link-list-01{
    text-align: right;
    margin-left: 10px;
    margin-right: 10px;
}
.news-field .mod-link-list-01 > li{
    display: inline-block;
}
.news-field .mod-link-list-01 > li a::before{
    left: auto;
    right: 0;
}
.news-field .mod-link-list-01 > li a{
    color: #333;
    padding-left: 0;
    padding-right: 17px;
}
.news-field .mod-link-list-01 > .rss{
    position: relative;
    padding-right: 30px;
}
.news-field .mod-link-list-01 > .rss::before{
    content: '';
    width: 1px;
    height: 100%;
    background-color: #ebe9e1;
    position: absolute;
    top: 0;
    right: 15px;
}
.news-field .mod-link-list-01 > .rss > a{
    padding-right: 0;
}
.news-field .mod-link-list-01 > .rss > a::before{
    content: none;
}
.news-field .mod-link-list-01 .rss img{
    margin-left: 0;
}

/* mod-unit-02 */
.news-field .mod-unit-02{
    padding: 20px;
}

@media screen and (min-width:768px){
    .news-field{
        width: 100%;
        margin: 0;
    }
    .news-field .field-heading-outer{
        display: flex;
    }
    .news-field .field-heading{
        margin: 0;
        line-height: 1;
        font-size: 2.8rem;
    }
    .news-field .sort-ui{
        margin-top: 0;
        flex:1 0 auto;
        justify-content: flex-end;
    }
    .news-field .sort-ui > li{
        flex: 0 1 240px;
    }
    .news-field .sort-ui > li:first-child::before,
    .news-field .sort-ui > li:last-child::after{
        content: '';
    }
    .news-field .sort-ui > li:last-child::after{
        left: auto;
        right: 0;
    }
    .news-field .sort-ui > li > .sort-button{
        font-size: 1.8rem;
    }
    .news-field .sort-ui > li > .sort-button.is-active::after{
        width: 66.666%;
    }
    .news-field .mod-unit-link-01.pc-nowrap .mod-sentence{
        max-width: none;
    }
}

/* --------------------------------------------------------------------
 * Unique > specialized-field
 * ----------------------------------------------------------------- */
.specialized-field{
    background: url(/img/bg-index-specialized-field01.jpg) no-repeat center center;
    background-size: cover;
}
.specialized-field .field-heading{
    position: relative;
    display: inline-block;
    padding-right: 15px;
}
.specialized-field .field-heading::before,
.specialized-field .field-heading::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 0;
}
.specialized-field .field-heading::before{
    margin-right: 5px;
}
.specialized-field .search-box{
    margin-top: 20px;
    padding: 20px 15px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
}
.specialized-field .search-box-heading-outer{
    display: flex;
}
.specialized-field .search-box-heading{
    color: #7d55c7;
    font-size: 1.6rem;
    font-weight: bold;
    margin-right: auto;
}
.specialized-field .mod-link-list-01{
    margin-top: 0;
}
.specialized-field .mod-link-list-01 a{
    color: #333;
    font-size: 1.6rem;
}
.specialized-field .mod-link-list-01 a:hover{
    color: #7d55c7;
}
.specialized-field .mod-search-box-set{
    display: block;
}
.specialized-field .mod-search-box-set .search-input{
    display: block;
    margin-top: 15px;
}
.specialized-field .mod-search-box-set .search-input input[type="text"]{
    background-color: #ede9f9;
}
.specialized-field .mod-list-input{
    margin-top: 15px;
}
.specialized-field .mod-list-input > li{
    flex: 1 0 0%;
}
.specialized-field .mod-button-02{
    margin-top: 15px;
    padding-left: 40px;
}
.specialized-field .mod-button-02::before{
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #fff;
    top: -8px;
    left: 13px;
    background: none;
}
.specialized-field .mod-button-02::after{
    content: '';
    display: block;
    background-color: #fff;
    transform: rotate(-45deg);
    width: 2px;
    height: 13px;
    position: absolute;
    top: 10px;
    bottom: 0;
    left: 30px;
    margin: auto 0;
    border-color: #fff;
}
.specialized-field .mod-grid{
    margin: 30px 10px 0;
}
.specialized-field .mod-grid .mod-button-01,
.specialized-field .mod-grid .mod-button-01:visited{
    color: #333;
    border: none;
}
.specialized-field .mod-grid .mod-button-01:hover{
    color: #7d55c7;
    background-color: #ede9f9;
}
.specialized-field .mod-grid .mod-button-01::before{
    border-color: #7d55c7;
}
@media screen and (min-width:768px){
    .specialized-field{
        width: 100%;
    }
    .specialized-field .field-heading{
        margin-left: 0;
        padding-right: 30px;
    }
    .specialized-field .field-heading::before,
    .specialized-field .field-heading::after{
        width: 13px;
        height: 13px;
        border-width: 2px;
    }
    .specialized-field .field-heading::before{
        margin-right: 8px;
    }
    .specialized-field .mod-search-box-set{
        display: flex;
    }
    .specialized-field .search-box{
        padding: 30px;
        border-radius: 6px;
    }
    .specialized-field .mod-search-box-set .search-input{
        flex: 1 0 0%;
        margin-right: 30px;
    }
    .specialized-field .mod-list-input{
        flex: 0 1 auto;
    }
    .specialized-field .mod-list-input > li{
        flex: 1 0 auto;
        display: flex;
        align-items: center;
    }
    .specialized-field .mod-button-02{
        font-size: 0;
        padding: 0;
        border-radius: 50%;
        border: none;
        width: 60px;
        height: 60px;
        flex: none;
        margin-left: 30px;
    }
    .specialized-field .mod-button-02::before{
        left: 18px;
    }
    .specialized-field .mod-button-02::after{
        left: 34px;
    }
    .specialized-field .mod-grid{
        margin: 30px 0 0;
    }
    .specialized-field .mod-grid .mod-button-01{
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

/* --------------------------------------------------------------------
 * Unique > about-field
 * ----------------------------------------------------------------- */
.about-field{
    background: url(/shared/img/bg-pattern-03.gif) repeat;
}
.about-field .mod-grid{
    margin: 30px 10px 0;
    padding-top: 30px;
    border-top: 1px solid #e6e6e6;
}
.about-field .mod-grid:first-child{
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.about-field .mod-grid .mod-button-01:hover{
    color: #7d55c7;
    background-color: #ede9f9;
}
.about-field .mod-grid .mod-button-01::before{
    border-color: #7d55c7;
}
.about-field .mod-grid a > img{
    width: 100%;
}
.about-field .mod-grid a > .icon{
    width: auto;
}
@media screen and (min-width:768px){
    .about-field{
        width: 100%;
    }
    .about-field .mod-grid{
        margin-top: 40px;
        padding-top: 40px;
    }
    .about-field .mod-grid .mod-button-01{
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        border: none;
        color: #333;
    }
}

a[target="_blank"].no-icon img.icon,
a[href$=".pdf"].no-icon img.icon {
    display: none !important;
}

/* --------------------------------------------------------------------
 * Unique > cpa-field
 * ----------------------------------------------------------------- */
.cpa-field-inner{
    display: block;
    margin: 0 10px;
    padding: 25px 0;
    background: url(/shared/img/bg-pattern-02.gif) repeat;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
}
.cpa-field-inner:hover{
    opacity: .9;
    box-shadow: none;
}
.cpa-field .field-heading{
    font-size: 2rem;
    text-align: center;
}
.cpa-field .mod-sentence{
    margin: 10px 10px 0;
}
.cpa-field .image > p{
    margin-top: 10px;
}
.cpa-field .image img{
    width: 100%;
}
.cpa-field .image .mod-button-02:hover{
    border-color: #7d55c7;
}
@media screen and (min-width:768px){
    .cpa-field-inner{
        margin: 0;
        padding: 0;
        display: flex;
    }
    .cpa-field-inner .text{
        flex: 0 1 380px;
        padding: 3.229vw 0 10px 4.111%;
    }
    .cpa-field-inner .image{
        flex: 0 2 820px;
        position: relative;
    }
    .cpa-field .field-heading{
        font-size: 1.935vw;
        text-align: left;
        margin: 0;
    }
    .cpa-field .text .mod-sentence{
        font-size: 1.290vw;
        margin: 9.090% 0 0;
    }
    .cpa-field .image > p{
        margin: 0;
    }
    .cpa-field .image .mod-center{
        margin: 0;
        display: inline-block;
        position: absolute;
        right: 6.463%;
        bottom: 20%;
    }
}
@media screen and (min-width:1240px){
    .cpa-field-inner .text{
        padding-top: 40px;
    }
    .cpa-field .field-heading{
        font-size: 2.4rem;
    }
    .cpa-field .text .mod-sentence{
        font-size: 1.6rem;
    }
}

/* --------------------------------------------------------------------
 * Unique > contact-field
 * ----------------------------------------------------------------- */
.contact-field{
    background-color: #7d55c7;
}
.contact-field-inner{
    padding: 35px 15px;
}
.contact-field .assistance-text{
    line-height: 1.8;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 0 4px rgba(0, 0, 0, .5);
}
.contact-field .mod-link-button-list-01{
    margin-top: 25px;
}
.contact-field .mod-link-button-list-01 > li{
    margin-top: 10px;
}
.contact-field .mod-link-button-list-01 > li:first-child{
    margin-top: 0;
}
.contact-field .mod-link-button-list-01 .mod-button-01{
    font-size: 1.8rem;
    font-weight: bold;
    border: none;
    padding: 22px 70px 22px 50px;
}
.contact-field .mod-link-button-list-01 .mod-button-01:hover{
    background-color: #ede9f9;
}
.contact-field .mod-link-button-list-01 .mod-button-01::before{
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    transform: rotate(135deg);
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 12px;
    height: 12px;
    border-color: #7d55c7;
    background: none;
    border-top: 2px solid #9f8fcc;
    border-left: 2px solid #9f8fcc;
    border-radius: 0;
}
.contact-field .mod-link-button-list-01 .mod-button-01::after{
    content: '';
    display: block;
    width: 50px;
    height: 37px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto 0;
    border: none;
    transform: none;
    left: initial;
}
.contact-field .mod-link-button-list-01 .mod-button-01.contact-01::after{
    background: url(/img/icon-contact-01.png) no-repeat center center;
    background-size: contain;
}
.contact-field .mod-link-button-list-01 .mod-button-01.contact-02::after{
    background: url(/img/icon-contact-02.png) no-repeat center center;
    background-size: contain;
}
@media screen and (min-width:768px){
    .contact-field{
        width: 100%;
        background-color: #7d55c7;
    }
    .contact-field-inner{
        display: flex;
        align-items: center;
    }
    .contact-field .assistance-text{
        flex: 0 1 420px;
        padding-right: 30px;
    }
    .contact-field .mod-link-button-list-01{
        margin: 0 auto;
        flex: 0 1 780px;
        justify-content: space-between;
    }
    .contact-field .mod-link-button-list-01 > li{
        flex: 0 1 46.153%;
        margin: 0;
    }
    .contact-field .mod-link-button-list-01 .mod-button-01{
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

/* --------------------------------------------------------------------
 * Unique > search-field
 * ----------------------------------------------------------------- */
.search-field .mod-grid{
    margin: 30px 15px 0;
    padding: 25px 15px;
    border-radius: 4px;
    background-color: #f4f2fa;
    box-shadow: 0 5px 6px rgba(0, 0, 0, .05);
}
.search-field .mod-grid .mod-button-01{
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    color: #333;
    height: 100%;
}
.search-field .mod-grid .mod-button-01:hover{
    color: #7d55c7;
    background-color: #fcfcfc;
}
@media screen and (min-width:768px){
    .search-field{
        width: 100%;
        margin: 0;
    }
    .search-field .mod-grid{
        margin: 30px -20px 0;
        padding: 30px;
        box-shadow: 0 12px 24px rgba(0, 0, 0, .15);
    }
}

/* --------------------------------------------------------------------
 * Unique > contents-link-field
 * ----------------------------------------------------------------- */
.contents-link-field{
    margin: 0 15px;
    padding-top: 0;
}
.mod-image-button{
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    color: #4a5c94;
    background-color: #f9f7ff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    transition: opacity .15s linear 0s, box-shadow .15s linear 0s;
}
.mod-image-button:hover{
    opacity: .7;
    box-shadow: none;
}
.mod-image-button img{
    width: 100%;
}
.mod-image-button .text{
    position: relative;
    display: block;
    padding: 17px 30px;
}
.mod-image-button .text::before{
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #4a5c94;
    border-left: 2px solid #4a5c94;
    transform: rotate(135deg);
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
@media screen and (min-width:768px){
    .contents-link-field{
        width: 100%;
        margin: 0;
    }
    .mod-image-button .text{
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: left;
    }
    .contents-link-field .mod-grid .mod-button-01{
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }
}

/* --------------------------------------------------------------------
 * Unique > fascination-visual
 * ----------------------------------------------------------------- */
.fascination-visual{
    background: url(/cpainfo/fascination/img/bg-fascination-visual-sp.jpg) no-repeat center center;
    background-size: cover;
    background-color: #000;
}
.fascination-visual-inner{
    padding: 25px 25px 119px 25px;
}
.fascination-title{
    text-align: center;
    padding: 0 33px;
}
.fascination-visual .mod-sentence.style-lead{
    margin-top: 22px;
    font-weight: bold;
    line-height: 1.571;
    text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.9);
}
.fascination-visual + .mod-link-button-list-01{
    margin-top: -109px;
    padding: 0 25px;
}
.fascination-visual + .mod-link-button-list-01 > li .mod-button-01{
    width: 100%;
    padding: 12px 10px;
    display: block;
    background-color: #f4f2fa;
    text-align: center;
    border: none;
}
.fascination-visual + .mod-link-button-list-01 > li .mod-button-01::before{
    content: none;
}
.fascination-visual + .mod-link-button-list-01 > li .mod-button-01::after {
    content: none;
}
.fascination-visual + .mod-link-button-list-01 > li .mod-button-01 .button-text{
    display: inline-block;
    position: relative;
    padding-left: 30px;
}
.fascination-visual + .mod-link-button-list-01 > li .mod-button-01 .button-text::before{
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: 2px solid #7d55c7;
    border-left: 2px solid #7d55c7;
    transform: rotate(225deg);
    position: absolute;
    left: 0;
    top: -5px;
    bottom: 0;
    margin: auto 0;
}
@media screen and (min-width:768px){
    .fascination-visual{
        width: 100%;
        background: url(/cpainfo/fascination/img/bg-fascination-visual.jpg) no-repeat center center;
        background-size: cover;
    }
    .fascination-visual-inner{
        padding: 60px 25px 120px 25px;
        max-width: 1200px;
        margin: 0 auto;
    }
    .fascination-visual .mod-sentence.style-lead{
        text-align: center;
        margin-top: 60px;
    }
    .fascination-visual + .mod-link-button-list-01{
        width: 100%;
        margin: -25px 0 0;
        max-width: 900px;
    }
    .fascination-visual + .mod-link-button-list-01 > li{
        flex: 0 1 32.307%;
        margin: 10px 0 0 10px;
    }
    .fascination-visual + .mod-link-button-list-01 > li:nth-child(-n+3){
        margin-top: 0;
    }
    .fascination-visual + .mod-link-button-list-01 > li:first-child,
    .fascination-visual + .mod-link-button-list-01 > li:nth-child(3n+1){
        margin-left: 0;
    }
    .fascination-visual + .mod-link-button-list-01 > li .mod-button-01{
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

/* --------------------------------------------------------------------
 * Unique > appeal-point
 * ----------------------------------------------------------------- */
.appeal-point{
    width: 100%;
    padding: 40px 25px;
}
.mod-link-button-list-01 + .appeal-point{
    margin-top: 30px;
}
.appeal-point ~ .appeal-point:nth-child(even){
    background-color: #faf7f5;
}
.appeal-point .appeal-heading-01{
    padding: 25px 0 0 25px;
    display: flex;
    align-items: center;
}
.appeal-point .appeal-heading-01 .number{
    display: block;
    color: #7d55c7;
    font-weight: normal;
    font-size: 5.76rem;
    position: relative;
    line-height: 1;
    z-index: 1;
}
.appeal-point .appeal-heading-01 .number::before{
    content: '';
    display: block;
    width: 48px;
    height: 48px;
    background-color: #f4f3f9;
    border: 1px solid #e1dcec;
    border-bottom: none;
    border-top-width: 5px;
    border-top-color: #7d55c7;
    transform: rotate(-45deg);
    position: absolute;
    top: -25%;
    left: -25%;
    z-index: -1;
}
.appeal-point .appeal-heading-01 .text{
    display: block;
    padding-left: 25px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #6a83d3;
    letter-spacing: .2em;
    position: relative;
}
.appeal-point .appeal-heading-01 .text::before,
.appeal-point .appeal-heading-01 .text::after{
    content: '';
    display: block;
    width: 100%;
    height: 10px;
    background: radial-gradient(circle at center, #7d55c7 0%, #7d55c7 15%, transparent 15%, transparent 100%);
    background-position: center;
    background-size: 8px 8px;
    background-repeat: repeat-x;
}
.appeal-point .appeal-heading-02{
    margin-top: 15px;
    color: #4a5c94;
    font-size: 2.4rem;
    font-weight: bold;
}
.appeal-point .appeal-heading-02 .point{
    color: #c86d02;
}
.appeal-point .mod-sentence{
    font-size: 1.6rem;
    line-height: 1.5;
}
.appeal-point .mod-sentence .marker{
    font-weight: bold;
    background: linear-gradient(transparent 50%, #faead7 50%);
}
.appeal-point .appeal-button{
    text-align: center;
}
.appeal-point .mod-button-02{
    margin: 30px 8px 0;
    padding: 16px 26px 16px 52px;
    background-color: #7d55c7;
    line-height: 1.5;
}
.appeal-point .mod-button-02::before{
    left: 24px;
}
.appeal-point .mod-image-text .text + .image,
.appeal-point .mod-image-text .image + .text{
    margin-top: 30px;
}
@media screen and (min-width:768px){
    .appeal-point{
        padding: 35px 30px 70px;
    }
    .mod-link-button-list-01 + .appeal-point{
        margin-top: 15px;
    }
    .appeal-point-inner{
        max-width: 1240px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .appeal-point .appeal-heading-01{
        padding-top: 35px;
    }
    .appeal-point .appeal-heading-01 .number{
        font-size: 7.2rem;
    }
    .appeal-point .appeal-heading-01 .number::before{
        width: 59px;
        height: 59px;
    }
    .appeal-point .appeal-heading-01 .text{
        font-size: 2rem;
        padding-left: 30px;
    }
    .appeal-point .appeal-heading-01 .text::before,
    .appeal-point .appeal-heading-01 .text::after{
        height: 20px;
        background-size: 9px 20px;
    }
    .appeal-point .appeal-heading-02{
        margin-top: 40px;
        font-size: 3rem;
    }
    .appeal-point .appeal-heading-01 + .appeal-heading-02,
    .appeal-point .appeal-heading-02 + .mod-image-text{
        padding-left: 35px;
    }
    .appeal-point .mod-sentence{
        margin-top: 22px;
        font-size: 2rem;
    }
    .appeal-point .mod-image-text{
        justify-content: flex-start;
    }
    .appeal-point .mod-image-text .text:first-child{
        padding-left: 35px;
    }
    .appeal-point .appeal-button{
        text-align: left;
    }
    .appeal-point .mod-button-02{
        margin-left: 0;
        padding: 16px 82px 16px 92px;
    }
    .appeal-point .mod-button-02::before{
        left: 70px;
    }
}
@media screen and (min-width:1001px){
    .appeal-point .mod-image-text .text + .image,
    .appeal-point .mod-image-text .image:first-child{
        flex: 0 1 390px;
    }
    .appeal-point .mod-image-text .image:first-child{
        margin-left: 0;
        margin-right: 40px;
    }
    .appeal-point .mod-image-text .text + .image,
    .appeal-point .mod-image-text .image + .text{
        margin-top: 0;
    }
}


/* --------------------------------------------------------------------
 * Unique > senkyo-visual
 * ----------------------------------------------------------------- */
.senkyo-visual{
    margin-bottom: 40px;
}
.senkyo-visual .senkyo-visual-inner .senkyo-title img{
    max-width: 1600px;
    width: 100%;
    text-align: center;
    display: inherit;
    margin: auto;
}

/* --------------------------------------------------------------------
 * Unique > senkyo-field
 * ----------------------------------------------------------------- */
.senkyo-visual + .container .field-heading {
    margin: 0 0 20px 0;
}
@media screen and (min-width:768px){
    .senkyo-visual{
        width: 100%;
        margin-bottom: 70px;
    }
    .senkyo-visual-inner{
        margin: 0 auto;
    }
    .senkyo-visual + .container .field-heading {
        margin: 0 0 40px 0;
    }
}

/* --------------------------------------------------------------------
 * Unique > appeal-point
 * ----------------------------------------------------------------- */
.appeal-point{
    width: 100%;
    padding: 40px 25px;
}
.mod-link-button-list-01 + .appeal-point{
    margin-top: 30px;
}
.appeal-point ~ .appeal-point:nth-child(even){
    background-color: #faf7f5;
}
.appeal-point .appeal-heading-01{
    padding: 25px 0 0 25px;
    display: flex;
    align-items: center;
}
.appeal-point .appeal-heading-01 .number{
    display: block;
    color: #7d55c7;
    font-weight: normal;
    font-size: 5.76rem;
    position: relative;
    line-height: 1;
    z-index: 1;
}
.appeal-point .appeal-heading-01 .number::before{
    content: '';
    display: block;
    width: 48px;
    height: 48px;
    background-color: #f4f3f9;
    border: 1px solid #e1dcec;
    border-bottom: none;
    border-top-width: 5px;
    border-top-color: #7d55c7;
    transform: rotate(-45deg);
    position: absolute;
    top: -25%;
    left: -25%;
    z-index: -1;
}
.appeal-point .appeal-heading-01 .text{
    display: block;
    padding-left: 25px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #6a83d3;
    letter-spacing: .2em;
    position: relative;
}
.appeal-point .appeal-heading-01 .text::before,
.appeal-point .appeal-heading-01 .text::after{
    content: '';
    display: block;
    width: 100%;
    height: 10px;
    background: radial-gradient(circle at center, #7d55c7 0%, #7d55c7 15%, transparent 15%, transparent 100%);
    background-position: center;
    background-size: 8px 8px;
    background-repeat: repeat-x;
}
.appeal-point .appeal-heading-02{
    margin-top: 15px;
    color: #4a5c94;
    font-size: 2.4rem;
    font-weight: bold;
}
.appeal-point .appeal-heading-02 .point{
    color: #c86d02;
}
.appeal-point .mod-sentence{
    font-size: 1.6rem;
    line-height: 1.5;
}
.appeal-point .mod-sentence .marker{
    font-weight: bold;
    background: linear-gradient(transparent 50%, #faead7 50%);
}
.appeal-point .appeal-button{
    text-align: center;
}
.appeal-point .mod-button-02{
    margin: 30px 8px 0;
    padding: 16px 26px 16px 52px;
    background-color: #7d55c7;
    line-height: 1.5;
}
.appeal-point .mod-button-02::before{
    left: 24px;
}
.appeal-point .mod-button-02::after{
    left: 29px;
}
.appeal-point .mod-image-text .text + .image,
.appeal-point .mod-image-text .image + .text{
    margin-top: 30px;
}
@media screen and (min-width:768px){
    .appeal-point{
        padding: 35px 30px 70px;
    }
    .mod-link-button-list-01 + .appeal-point{
        margin-top: 15px;
    }
    .appeal-point-inner{
        max-width: 1240px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .appeal-point .appeal-heading-01{
        padding-top: 35px;
    }
    .appeal-point .appeal-heading-01 .number{
        font-size: 7.2rem;
    }
    .appeal-point .appeal-heading-01 .number::before{
        width: 59px;
        height: 59px;
    }
    .appeal-point .appeal-heading-01 .text{
        font-size: 2rem;
        padding-left: 30px;
    }
    .appeal-point .appeal-heading-01 .text::before,
    .appeal-point .appeal-heading-01 .text::after{
        height: 20px;
        background-size: 9px 20px;
    }
    .appeal-point .appeal-heading-02{
        margin-top: 40px;
        font-size: 3rem;
    }
    .appeal-point .appeal-heading-01 + .appeal-heading-02,
    .appeal-point .appeal-heading-02 + .mod-image-text{
        padding-left: 35px;
    }
    .appeal-point .mod-sentence{
        margin-top: 22px;
        font-size: 2rem;
    }
    .appeal-point .mod-image-text{
        justify-content: flex-start;
    }
    .appeal-point .mod-image-text .text:first-child{
        padding-left: 35px;
    }
    .appeal-point .appeal-button{
        text-align: left;
    }
    .appeal-point .mod-button-02{
        margin-left: 0;
        padding: 16px 82px 16px 92px;
    }
    .appeal-point .mod-button-02::before{
        left: 65px;
    }
    .appeal-point .mod-button-02::after{
        left: 70px;
    }
}
@media screen and (min-width:1001px){
    .appeal-point .mod-image-text .text + .image,
    .appeal-point .mod-image-text .image:first-child{
        flex: 0 1 390px;
    }
    .appeal-point .mod-image-text .image:first-child{
        margin-left: 0;
        margin-right: 40px;
    }
    .appeal-point .mod-image-text .text + .image,
    .appeal-point .mod-image-text .image + .text{
        margin-top: 0;
    }
}

/* --------------------------------------------------------------------
 * Unique > continue-field
 * ----------------------------------------------------------------- */
.continue-field{
    background: url(/cpainfo/fascination/img/bg-fascination-continue-sp.jpg) no-repeat left top;
    background-size: cover;
}
.continue-field-inner{
    padding: 40px 35px;
}
.continue-field .mod-link-button-list-01 > li{
    margin-top: 15px;
}
.continue-field .mod-link-button-list-01 > li:first-child{
    margin-top: 0;
}
.continue-field .mod-link-button-list-01 > li .mod-button-01{
    font-weight: bold;
    border: none;
    padding: 12px 44px 12px 60px;
}
.continue-field .mod-link-button-list-01 > li .mod-button-01::before{
    left: 32px;
}
.continue-field .mod-link-button-list-01 > li .mod-button-01::after{
    left: 37px;
    top: -2px;
}
.continue-field .mod-link-button-list-01 .mod-button-01:hover{
    background-color: #ede9f9;
}
@media screen and (min-width:768px){
    .continue-field{
        width: 100%;
        background: url(/cpainfo/fascination/img/bg-fascination-continue.jpg) no-repeat center top;
        background-size: cover;
    }
    .continue-field-inner{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 60px 35px;
    }
    .continue-field .mod-link-button-list-01{
        margin-top: 0;
        flex: 0 1 780px;
        justify-content: space-between;
    }
    .continue-field .mod-link-button-list-01 > li{
        flex: 0 1 46.153%;
        margin: 35px 0 0;
    }
    .continue-field .mod-link-button-list-01 > li:nth-child(-n+2){
        margin-top: 0;
    }
    .continue-field .mod-link-button-list-01 > li .mod-button-01{
        font-size: 1.8rem;
        padding: 22px 44px 22px 60px;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .continue-field .mod-link-button-list-01 > li .mod-button-01::before{
        width: 20px;
        height: 20px;
        border-color: #7d55c7;
        left: 20px;
    }
    .continue-field .mod-link-button-list-01 > li .mod-button-01::after{
        left: 26px;
        top: 0;
    }
}


/* ============================================================================
 * State
 * ========================================================================= */
@media screen and (max-width:767px){
    .non-sp{
        display: none !important;
    }
}
@media screen and (min-width:768px){
    .non-pc{
        display: none !important;
    }
}

/* --------------------------------------------------------------------
 * adjust
 * ----------------------------------------------------------------- */
.mg0 {
    margin: 0  !important;
}
.pd0 {
    padding: 0  !important;
}
.mt0 {
    margin-top: 0 !important;
}
.mt5 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt25 {
    margin-top: 25px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt35 {
    margin-top: 35px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt45 {
    margin-top: 45px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt55 {
    margin-top: 55px !important;
}
.mt60 {
    margin-top: 60px !important;
}
.mt65 {
    margin-top: 65px !important;
}
.mt70 {
    margin-top: 70px !important;
}
.mt75 {
    margin-top: 75px !important;
}
.mt80 {
    margin-top: 80px !important;
}
.mt85 {
    margin-top: 85px !important;
}
.mt90 {
    margin-top: 90px !important;
}
.mt95 {
    margin-top: 95px !important;
}
.mt100 {
    margin-top: 100px !important;
}
.mb0 {
    margin-bottom: 0 !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb35 {
    margin-bottom: 35px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb45 {
    margin-bottom: 45px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb55 {
    margin-bottom: 55px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb65 {
    margin-bottom: 65px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}
.mb75 {
    margin-bottom: 75px !important;
}
.mb80 {
    margin-bottom: 80px !important;
}
.mb85 {
    margin-bottom: 85px !important;
}
.mb90 {
    margin-bottom: 90px !important;
}
.mb95 {
    margin-bottom: 95px !important;
}
.mb100 {
    margin-bottom: 100px !important;
}
.ml0 {
    margin-left: 0 !important;
}
.ml5 {
    margin-left: 5px !important;
}
.ml10 {
    margin-left: 10px !important;
}
.ml15 {
    margin-left: 15px !important;
}
.ml20 {
    margin-left: 20px !important;
}
.ml25 {
    margin-left: 25px !important;
}
.ml30 {
    margin-left: 30px !important;
}
.ml35 {
    margin-left: 35px !important;
}
.ml40 {
    margin-left: 40px !important;
}
.ml45 {
    margin-left: 45px !important;
}
.ml50 {
    margin-left: 50px !important;
}
.ml55 {
    margin-left: 55px !important;
}
.ml60 {
    margin-left: 60px !important;
}
.ml65 {
    margin-left: 65px !important;
}
.ml70 {
    margin-left: 70px !important;
}
.ml75 {
    margin-left: 75px !important;
}
.ml80 {
    margin-left: 80px !important;
}
.ml85 {
    margin-left: 85px !important;
}
.ml90 {
    margin-left: 90px !important;
}
.ml95 {
    margin-left: 95px !important;
}
.ml100 {
    margin-left: 100px !important;
}
.mr0 {
    margin-right: 0 !important;
}
.mr5 {
    margin-right: 5px !important;
}
.mr10 {
    margin-right: 10px !important;
}
.mr15 {
    margin-right: 15px !important;
}
.mr20 {
    margin-right: 20px !important;
}
.mr25 {
    margin-right: 25px !important;
}
.mr30 {
    margin-right: 30px !important;
}
.mr35 {
    margin-right: 35px !important;
}
.mr40 {
    margin-right: 40px !important;
}
.mr45 {
    margin-right: 45px !important;
}
.mr50 {
    margin-right: 50px !important;
}
.mr55 {
    margin-right: 55px !important;
}
.mr60 {
    margin-right: 60px !important;
}
.mr65 {
    margin-right: 65px !important;
}
.mr70 {
    margin-right: 70px !important;
}
.mr75 {
    margin-right: 75px !important;
}
.mr80 {
    margin-right: 80px !important;
}
.mr85 {
    margin-right: 85px !important;
}
.mr90 {
    margin-right: 90px !important;
}
.mr95 {
    margin-right: 95px !important;
}
.mr100 {
    margin-right: 100px !important;
}
.pt0 {
    padding-top: 0 !important;
}
.pt5 {
    padding-top: 5px !important;
}
.pt10 {
    padding-top: 10px !important;
}
.pt15 {
    padding-top: 15px !important;
}
.pt20 {
    padding-top: 20px !important;
}
.pt25 {
    padding-top: 25px !important;
}
.pt30 {
    padding-top: 30px !important;
}
.pt35 {
    padding-top: 35px !important;
}
.pt40 {
    padding-top: 40px !important;
}
.pt45 {
    padding-top: 45px !important;
}
.pt50 {
    padding-top: 50px !important;
}
.pt55 {
    padding-top: 55px !important;
}
.pt60 {
    padding-top: 60px !important;
}
.pt65 {
    padding-top: 65px !important;
}
.pt70 {
    padding-top: 70px !important;
}
.pt75 {
    padding-top: 75px !important;
}
.pt80 {
    padding-top: 80px !important;
}
.pt85 {
    padding-top: 85px !important;
}
.pt90 {
    padding-top: 90px !important;
}
.pt95 {
    padding-top: 95px !important;
}
.pt100 {
    padding-top: 100px !important;
}
.pb0 {
    padding-bottom: 0 !important;
}
.pb5 {
    padding-bottom: 5px !important;
}
.pb10 {
    padding-bottom: 10px !important;
}
.pb15 {
    padding-bottom: 15px !important;
}
.pb20 {
    padding-bottom: 20px !important;
}
.pb25 {
    padding-bottom: 25px !important;
}
.pb30 {
    padding-bottom: 30px !important;
}
.pb35 {
    padding-bottom: 35px !important;
}
.pb40 {
    padding-bottom: 40px !important;
}
.pb45 {
    padding-bottom: 45px !important;
}
.pb50 {
    padding-bottom: 50px !important;
}
.pb55 {
    padding-bottom: 55px !important;
}
.pb60 {
    padding-bottom: 60px !important;
}
.pb65 {
    padding-bottom: 65px !important;
}
.pb70 {
    padding-bottom: 70px !important;
}
.pb75 {
    padding-bottom: 75px !important;
}
.pb80 {
    padding-bottom: 80px !important;
}
.pb85 {
    padding-bottom: 85px !important;
}
.pb90 {
    padding-bottom: 90px !important;
}
.pb95 {
    padding-bottom: 95px !important;
}
.pb100 {
    padding-bottom: 100px !important;
}
.pl0 {
    padding-left: 0 !important;
}
.pl5 {
    padding-left: 5px !important;
}
.pl10 {
    padding-left: 10px !important;
}
.pl15 {
    padding-left: 15px !important;
}
.pl20 {
    padding-left: 20px !important;
}
.pl25 {
    padding-left: 25px !important;
}
.pl30 {
    padding-left: 30px !important;
}
.pl35 {
    padding-left: 35px !important;
}
.pl40 {
    padding-left: 40px !important;
}
.pl45 {
    padding-left: 45px !important;
}
.pl50 {
    padding-left: 50px !important;
}
.pl55 {
    padding-left: 55px !important;
}
.pl60 {
    padding-left: 60px !important;
}
.pl65 {
    padding-left: 65px !important;
}
.pl70 {
    padding-left: 70px !important;
}
.pl75 {
    padding-left: 75px !important;
}
.pl80 {
    padding-left: 80px !important;
}
.pl85 {
    padding-left: 85px !important;
}
.pl90 {
    padding-left: 90px !important;
}
.pl95 {
    padding-left: 95px !important;
}
.pl100 {
    padding-left: 100px !important;
}
.pr0 {
    padding-right: 0 !important;
}
.pr5 {
    padding-right: 5px !important;
}
.pr10 {
    padding-right: 10px !important;
}
.pr15 {
    padding-right: 15px !important;
}
.pr20 {
    padding-right: 20px !important;
}
.pr25 {
    padding-right: 25px !important;
}
.pr30 {
    padding-right: 30px !important;
}
.pr35 {
    padding-right: 35px !important;
}
.pr40 {
    padding-right: 40px !important;
}
.pr45 {
    padding-right: 45px !important;
}
.pr50 {
    padding-right: 50px !important;
}
.pr55 {
    padding-right: 55px !important;
}
.pr60 {
    padding-right: 60px !important;
}
.pr65 {
    padding-right: 65px !important;
}
.pr70 {
    padding-right: 70px !important;
}
.pr75 {
    padding-right: 75px !important;
}
.pr80 {
    padding-right: 80px !important;
}
.pr85 {
    padding-right: 85px !important;
}
.pr90 {
    padding-right: 90px !important;
}
.pr95 {
    padding-right: 95px !important;
}
.pr100 {
    padding-right: 100px !important;
}
.w0 {
    width: 0 !important;
}
.w5 {
    width: 5% !important;
}
.w10 {
    width: 10% !important;
}
.w15 {
    width: 15% !important;
}
.w20 {
    width: 20% !important;
}
.w25 {
    width: 25% !important;
}
.w30 {
    width: 30% !important;
}
.w35 {
    width: 35% !important;
}
.w40 {
    width: 40% !important;
}
.w45 {
    width: 45% !important;
}
.w50 {
    width: 50% !important;
}
.w55 {
    width: 55% !important;
}
.w60 {
    width: 60% !important;
}
.w65 {
    width: 65% !important;
}
.w70 {
    width: 70% !important;
}
.w75 {
    width: 75% !important;
}
.w80 {
    width: 80% !important;
}
.w85 {
    width: 85% !important;
}
.w90 {
    width: 90% !important;
}
.w95 {
    width: 95% !important;
}
.w100 {
    width: 100% !important;
}
.fz10 {
    font-size: 10px !important;
}
.fz12 {
    font-size: 12px !important;
}
.fz14 {
    font-size: 14px !important;
}
.fz16 {
    font-size: 16px !important;
}
.fz18 {
    font-size: 18px !important;
}
.fz20 {
    font-size: 20px !important;
}
.fz22 {
    font-size: 22px !important;
}
.fz24 {
    font-size: 24px !important;
}
.fz26 {
    font-size: 26px !important;
}
.fz28 {
    font-size: 28px !important;
}
.fz30 {
    font-size: 30px !important;
}
.fz32 {
    font-size: 32px !important;
}
.fz34 {
    font-size: 34px !important;
}
.fz36 {
    font-size: 36px !important;
}
.fz38 {
    font-size: 38px !important;
}
.fz40 {
    font-size: 40px !important;
}
.fw100 {
    font-weight: 100 !important;
}
.fw200 {
    font-weight: 200 !important;
}
.fw300 {
    font-weight: 300 !important;
}
.fw400 {
    font-weight: 400 !important;
}
.fw500 {
    font-weight: 500 !important;
}
.fw600 {
    font-weight: 600 !important;
}
.fw700 {
    font-weight: 700 !important;
}
.fw800 {
    font-weight: 800 !important;
}
.fw900 {
    font-weight: 900 !important;
}
.ta-l {
    text-align: left !important;
}
.ta-c {
    text-align: center !important;
}
.ta-r {
    text-align: right !important;
}
@media screen and (max-width:767px){
    .mg0-sp {
        margin: 0  !important;
    }
    .pd0-sp {
        padding: 0  !important;
    }
    .mt0-sp {
        margin-top: 0 !important;
    }
    .mt5-sp {
        margin-top: 5px !important;
    }
    .mt10-sp {
        margin-top: 10px !important;
    }
    .mt15-sp {
        margin-top: 15px !important;
    }
    .mt20-sp {
        margin-top: 20px !important;
    }
    .mt25-sp {
        margin-top: 25px !important;
    }
    .mt30-sp {
        margin-top: 30px !important;
    }
    .mt35-sp {
        margin-top: 35px !important;
    }
    .mt40-sp {
        margin-top: 40px !important;
    }
    .mt45-sp {
        margin-top: 45px !important;
    }
    .mt50-sp {
        margin-top: 50px !important;
    }
    .mt55-sp {
        margin-top: 55px !important;
    }
    .mt60-sp {
        margin-top: 60px !important;
    }
    .mt65-sp {
        margin-top: 65px !important;
    }
    .mt70-sp {
        margin-top: 70px !important;
    }
    .mt75-sp {
        margin-top: 75px !important;
    }
    .mt80-sp {
        margin-top: 80px !important;
    }
    .mt85-sp {
        margin-top: 85px !important;
    }
    .mt90-sp {
        margin-top: 90px !important;
    }
    .mt95-sp {
        margin-top: 95px !important;
    }
    .mt100-sp {
        margin-top: 100px !important;
    }
    .mb0-sp {
        margin-bottom: 0 !important;
    }
    .mb5-sp {
        margin-bottom: 5px !important;
    }
    .mb10-sp {
        margin-bottom: 10px !important;
    }
    .mb15-sp {
        margin-bottom: 15px !important;
    }
    .mb20-sp {
        margin-bottom: 20px !important;
    }
    .mb25-sp {
        margin-bottom: 25px !important;
    }
    .mb30-sp {
        margin-bottom: 30px !important;
    }
    .mb35-sp {
        margin-bottom: 35px !important;
    }
    .mb40-sp {
        margin-bottom: 40px !important;
    }
    .mb45-sp {
        margin-bottom: 45px !important;
    }
    .mb50-sp {
        margin-bottom: 50px !important;
    }
    .mb55-sp {
        margin-bottom: 55px !important;
    }
    .mb60-sp {
        margin-bottom: 60px !important;
    }
    .mb65-sp {
        margin-bottom: 65px !important;
    }
    .mb70-sp {
        margin-bottom: 70px !important;
    }
    .mb75-sp {
        margin-bottom: 75px !important;
    }
    .mb80-sp {
        margin-bottom: 80px !important;
    }
    .mb85-sp {
        margin-bottom: 85px !important;
    }
    .mb90-sp {
        margin-bottom: 90px !important;
    }
    .mb95-sp {
        margin-bottom: 95px !important;
    }
    .mb100-sp {
        margin-bottom: 100px !important;
    }
    .ml0-sp {
        margin-left: 0 !important;
    }
    .ml5-sp {
        margin-left: 5px !important;
    }
    .ml10-sp {
        margin-left: 10px !important;
    }
    .ml15-sp {
        margin-left: 15px !important;
    }
    .ml20-sp {
        margin-left: 20px !important;
    }
    .ml25-sp {
        margin-left: 25px !important;
    }
    .ml30-sp {
        margin-left: 30px !important;
    }
    .ml35-sp {
        margin-left: 35px !important;
    }
    .ml40-sp {
        margin-left: 40px !important;
    }
    .ml45-sp {
        margin-left: 45px !important;
    }
    .ml50-sp {
        margin-left: 50px !important;
    }
    .ml55-sp {
        margin-left: 55px !important;
    }
    .ml60-sp {
        margin-left: 60px !important;
    }
    .ml65-sp {
        margin-left: 65px !important;
    }
    .ml70-sp {
        margin-left: 70px !important;
    }
    .ml75-sp {
        margin-left: 75px !important;
    }
    .ml80-sp {
        margin-left: 80px !important;
    }
    .ml85-sp {
        margin-left: 85px !important;
    }
    .ml90-sp {
        margin-left: 90px !important;
    }
    .ml95-sp {
        margin-left: 95px !important;
    }
    .ml100-sp {
        margin-left: 100px !important;
    }
    .mr0-sp {
        margin-right: 0 !important;
    }
    .mr5-sp {
        margin-right: 5px !important;
    }
    .mr10-sp {
        margin-right: 10px !important;
    }
    .mr15-sp {
        margin-right: 15px !important;
    }
    .mr20-sp {
        margin-right: 20px !important;
    }
    .mr25-sp {
        margin-right: 25px !important;
    }
    .mr30-sp {
        margin-right: 30px !important;
    }
    .mr35-sp {
        margin-right: 35px !important;
    }
    .mr40-sp {
        margin-right: 40px !important;
    }
    .mr45-sp {
        margin-right: 45px !important;
    }
    .mr50-sp {
        margin-right: 50px !important;
    }
    .mr55-sp {
        margin-right: 55px !important;
    }
    .mr60-sp {
        margin-right: 60px !important;
    }
    .mr65-sp {
        margin-right: 65px !important;
    }
    .mr70-sp {
        margin-right: 70px !important;
    }
    .mr75-sp {
        margin-right: 75px !important;
    }
    .mr80-sp {
        margin-right: 80px !important;
    }
    .mr85-sp {
        margin-right: 85px !important;
    }
    .mr90-sp {
        margin-right: 90px !important;
    }
    .mr95-sp {
        margin-right: 95px !important;
    }
    .mr100-sp {
        margin-right: 100px !important;
    }
    .pt0-sp {
        padding-top: 0 !important;
    }
    .pt5-sp {
        padding-top: 5px !important;
    }
    .pt10-sp {
        padding-top: 10px !important;
    }
    .pt15-sp {
        padding-top: 15px !important;
    }
    .pt20-sp {
        padding-top: 20px !important;
    }
    .pt25-sp {
        padding-top: 25px !important;
    }
    .pt30-sp {
        padding-top: 30px !important;
    }
    .pt35-sp {
        padding-top: 35px !important;
    }
    .pt40-sp {
        padding-top: 40px !important;
    }
    .pt45-sp {
        padding-top: 45px !important;
    }
    .pt50-sp {
        padding-top: 50px !important;
    }
    .pt55-sp {
        padding-top: 55px !important;
    }
    .pt60-sp {
        padding-top: 60px !important;
    }
    .pt65-sp {
        padding-top: 65px !important;
    }
    .pt70-sp {
        padding-top: 70px !important;
    }
    .pt75-sp {
        padding-top: 75px !important;
    }
    .pt80-sp {
        padding-top: 80px !important;
    }
    .pt85-sp {
        padding-top: 85px !important;
    }
    .pt90-sp {
        padding-top: 90px !important;
    }
    .pt95-sp {
        padding-top: 95px !important;
    }
    .pt100-sp {
        padding-top: 100px !important;
    }
    .pb0-sp {
        padding-bottom: 0 !important;
    }
    .pb5-sp {
        padding-bottom: 5px !important;
    }
    .pb10-sp {
        padding-bottom: 10px !important;
    }
    .pb15-sp {
        padding-bottom: 15px !important;
    }
    .pb20-sp {
        padding-bottom: 20px !important;
    }
    .pb25-sp {
        padding-bottom: 25px !important;
    }
    .pb30-sp {
        padding-bottom: 30px !important;
    }
    .pb35-sp {
        padding-bottom: 35px !important;
    }
    .pb40-sp {
        padding-bottom: 40px !important;
    }
    .pb45-sp {
        padding-bottom: 45px !important;
    }
    .pb50-sp {
        padding-bottom: 50px !important;
    }
    .pb55-sp {
        padding-bottom: 55px !important;
    }
    .pb60-sp {
        padding-bottom: 60px !important;
    }
    .pb65-sp {
        padding-bottom: 65px !important;
    }
    .pb70-sp {
        padding-bottom: 70px !important;
    }
    .pb75-sp {
        padding-bottom: 75px !important;
    }
    .pb80-sp {
        padding-bottom: 80px !important;
    }
    .pb85-sp {
        padding-bottom: 85px !important;
    }
    .pb90-sp {
        padding-bottom: 90px !important;
    }
    .pb95-sp {
        padding-bottom: 95px !important;
    }
    .pb100-sp {
        padding-bottom: 100px !important;
    }
    .pl0-sp {
        padding-left: 0 !important;
    }
    .pl5-sp {
        padding-left: 5px !important;
    }
    .pl10-sp {
        padding-left: 10px !important;
    }
    .pl15-sp {
        padding-left: 15px !important;
    }
    .pl20-sp {
        padding-left: 20px !important;
    }
    .pl25-sp {
        padding-left: 25px !important;
    }
    .pl30-sp {
        padding-left: 30px !important;
    }
    .pl35-sp {
        padding-left: 35px !important;
    }
    .pl40-sp {
        padding-left: 40px !important;
    }
    .pl45-sp {
        padding-left: 45px !important;
    }
    .pl50-sp {
        padding-left: 50px !important;
    }
    .pl55-sp {
        padding-left: 55px !important;
    }
    .pl60-sp {
        padding-left: 60px !important;
    }
    .pl65-sp {
        padding-left: 65px !important;
    }
    .pl70-sp {
        padding-left: 70px !important;
    }
    .pl75-sp {
        padding-left: 75px !important;
    }
    .pl80-sp {
        padding-left: 80px !important;
    }
    .pl85-sp {
        padding-left: 85px !important;
    }
    .pl90-sp {
        padding-left: 90px !important;
    }
    .pl95-sp {
        padding-left: 95px !important;
    }
    .pl100-sp {
        padding-left: 100px !important;
    }
    .pr0-sp {
        padding-right: 0 !important;
    }
    .pr5-sp {
        padding-right: 5px !important;
    }
    .pr10-sp {
        padding-right: 10px !important;
    }
    .pr15-sp {
        padding-right: 15px !important;
    }
    .pr20-sp {
        padding-right: 20px !important;
    }
    .pr25-sp {
        padding-right: 25px !important;
    }
    .pr30-sp {
        padding-right: 30px !important;
    }
    .pr35-sp {
        padding-right: 35px !important;
    }
    .pr40-sp {
        padding-right: 40px !important;
    }
    .pr45-sp {
        padding-right: 45px !important;
    }
    .pr50-sp {
        padding-right: 50px !important;
    }
    .pr55-sp {
        padding-right: 55px !important;
    }
    .pr60-sp {
        padding-right: 60px !important;
    }
    .pr65-sp {
        padding-right: 65px !important;
    }
    .pr70-sp {
        padding-right: 70px !important;
    }
    .pr75-sp {
        padding-right: 75px !important;
    }
    .pr80-sp {
        padding-right: 80px !important;
    }
    .pr85-sp {
        padding-right: 85px !important;
    }
    .pr90-sp {
        padding-right: 90px !important;
    }
    .pr95-sp {
        padding-right: 95px !important;
    }
    .pr100-sp {
        padding-right: 100px !important;
    }
    .w0-sp {
        width: 0 !important;
    }
    .w5-sp {
        width: 5% !important;
    }
    .w10-sp {
        width: 10% !important;
    }
    .w15-sp {
        width: 15% !important;
    }
    .w20-sp {
        width: 20% !important;
    }
    .w25-sp {
        width: 25% !important;
    }
    .w30-sp {
        width: 30% !important;
    }
    .w35-sp {
        width: 35% !important;
    }
    .w40-sp {
        width: 40% !important;
    }
    .w45-sp {
        width: 45% !important;
    }
    .w50-sp {
        width: 50% !important;
    }
    .w55-sp {
        width: 55% !important;
    }
    .w60-sp {
        width: 60% !important;
    }
    .w65-sp {
        width: 65% !important;
    }
    .w70-sp {
        width: 70% !important;
    }
    .w75-sp {
        width: 75% !important;
    }
    .w80-sp {
        width: 80% !important;
    }
    .w85-sp {
        width: 85% !important;
    }
    .w90-sp {
        width: 90% !important;
    }
    .w95-sp {
        width: 95% !important;
    }
    .w100-sp {
        width: 100% !important;
    }
    .fz10-sp {
        font-size: 10px !important;
    }
    .fz12-sp {
        font-size: 12px !important;
    }
    .fz14-sp {
        font-size: 14px !important;
    }
    .fz16-sp {
        font-size: 16px !important;
    }
    .fz18-sp {
        font-size: 18px !important;
    }
    .fz20-sp {
        font-size: 20px !important;
    }
    .fz22-sp {
        font-size: 22px !important;
    }
    .fz24-sp {
        font-size: 24px !important;
    }
    .fz26-sp {
        font-size: 26px !important;
    }
    .fz28-sp {
        font-size: 28px !important;
    }
    .fz30-sp {
        font-size: 30px !important;
    }
    .fz32-sp {
        font-size: 32px !important;
    }
    .fz34-sp {
        font-size: 34px !important;
    }
    .fz36-sp {
        font-size: 36px !important;
    }
    .fz38-sp {
        font-size: 38px !important;
    }
    .fz40-sp {
        font-size: 40px !important;
    }
    .fw100-sp {
        font-weight: 100 !important;
    }
    .fw200-sp {
        font-weight: 200 !important;
    }
    .fw300-sp {
        font-weight: 300 !important;
    }
    .fw400-sp {
        font-weight: 400 !important;
    }
    .fw500-sp {
        font-weight: 500 !important;
    }
    .fw600-sp {
        font-weight: 600 !important;
    }
    .fw700-sp {
        font-weight: 700 !important;
    }
    .fw800-sp {
        font-weight: 800 !important;
    }
    .fw900-sp {
        font-weight: 900 !important;
    }
    .ta-l-sp {
        text-align: left !important;
    }
    .ta-c-sp {
        text-align: center !important;
    }
    .ta-r-sp {
        text-align: right !important;
    }
}