@charset "UTF-8";
@import url("https://use.fontawesome.com/releases/v5.6.4/css/all.css");
/* ----------------------------------------------------------------------------------------------------
*  PC 基本情報
* --------------------------------------------------------------------------------------------------*/

html,body {
    height: 100%;
    counter-reset: number 0;
}

html {
    font-size: 62.5%;
    overflow-y: scroll;
}

body,h1,h2,h3,h4,h5,h6,p,address,ul,ol,li,dl,dt,dd,table,th,td,img,form,.login input,.login input {
    margin: 0;
    padding: 0;
    border: none;
    line-height: 100%;
    list-style-type: none;
    font-style: normal;
    /*font-weight: 500;*/
    font-weight: normal;
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
    color: #000;
    font-size: 16px;
    font-size: 1.6rem;
    font-feature-settings: "palt";
}

body {
    /* min-width: 980px; */
    background: #FFF;
 }

img {
    -webkit-backface-visibility: hidden;
}

header,.main,footer {
    width: 100%;
}

a,
a:hover{
    color: #000;
    text-decoration: none;
}

a {
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
}

a:hover {
    opacity: 0.7;
}

/* iphone cancel */
input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

textarea {
    resize: vertical;
}

.flex {
    display: flex;
}
.center {
    text-align: center;
}
.bold {
    font-weight: bold;
}
/* 基本情報 */

body > .contents {
    width: 100%;
    margin:  auto;
    box-sizing: border-box;
    background: url("../../common/img/bg_header.png") no-repeat center top;
}
.wrap {
    max-width: 1200px;
    width: 100%;
    padding: 0 10px;
    min-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
}
.pc {
    display: none;
}
.sp {
    display: block;
}
/* header ----------------------------------------------------------------------*/
header {
    padding: 25px 0 20px;
    min-width:1000px;
}
header .wrap {
    padding: 0 30px 68px;
    background: url("../../common/img/logo_ae.png") no-repeat top 40px right 30px;
    background-size: 230px auto;
}
.header_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10;
}
.header_top h1 a {
    text-shadow:0 0 6px #FFF ,0 0 6px #FFF ,0 0 6px #FFF ,0 0 6px #FFF ,0 0 6px #FFF ;
    font-size: 2.4rem;
    font-weight: bold;
}
.header_top h1 a span {
    color:#f59700;
}

/* 第二階層用header ------------------------------*/
.second_level header .wrap {
    padding: 0 30px 20px;
    min-height: 141px;
}
header h2.sub_tit {
    font-size: 4.0rem;
    margin-top: 20px;
    font-weight: bold;
    color: #666;
    display: none;
    align-items: center;
}
header h2.sub_tit a {
    color: #666;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, header h2.sub_tit img {
    display: inline-block;
      margin-top: -.5em;
}
}
header h2.sub_tit .sub_tit_icon {
    color: #FFF;
    background: #999;
    padding: .2em .6em .2em 1.6em;
    font-size: 3.2rem;
    border-radius: 5px;
    margin-right: .3em;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, header h2.sub_tit .sub_tit_icon {
    padding: .3em .6em .1em 1.6em;
      margin-top: -.2em
}
}

header h2.sub_tit .sub_tit_icon.icon01 {
    background: url("../../common/img/icon_gear_w.png") no-repeat left .4em center #999;
    background-size: 32px auto;
}

/* headerのバージョン違い ------------------------------------------------------------------*/
header.season02 {
    background: url("../../common/img/bg_header02.gif") repeat left bottom;
    padding: 40px 0 50px;
}
header.season02 .wrap:after {
    width: 345px;
    height: 94px;
    background: url("../../common/img/bg_header_chara02.png") no-repeat center center;
    top: 18px;
    right: 16vw;
}
header.season02 + .main .main_slider .wrap {
    padding-top: 50px;
}

/* 第二階層用header ------------------------------*/
.second_level header h2.sub_tit {
    display: flex;
}


/* pc_menu */
.header_top .pc_menu {
    display: flex;
    z-index: 10;
}
.header_top .pc_menu > li {
    margin-left: 1em;
}
.header_top .pc_menu > li.user {
    /*display: none;　20210416 1か月only*/
}
.header_top .pc_menu > li a {
    padding: .5em 0;
    display: flex;
    font-size: 1.35rem;
}
.header_top .pc_menu > li.kanri a:before {
    content:url("../../common/img/icon_gear.png");
    margin-right: .3em;
}
.header_top .pc_menu > li.user a:before {
    content:"";
    background:url("../../common/img/icon_user.png") no-repeat center center;
    margin-right: .3em;
    width: 1em;
    height: 1em;
    background-size: 100% auto;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .header_top .pc_menu > li.kanri a:before ,
.header_top .pc_menu > li.user a:before  {
    display: inline-block;
    margin-top: -.1em;
    }
}

.header_top .pc_menu > li.log_out a {
     padding: .4em 2.2em .2em;
    border-radius: 3px;
    background: #CCC;
}
.header_top .pc_menu > li.log_out a:before  {
    content:url("../../common/img/icon_logout.png");
    margin-right: .3em;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .header_top .pc_menu > li.log_out a {
     padding: .6em 2.2em .1em;
    margin-top: -.3em;
    }

}

/* btn-trigger */
header .btn-trigger ,
header .sp_gl {
    display: none;
}

/* account_name */
header .account_name {
    /*display: none !important; 20210416 1か月only*/
    display: flex; 
    align-items: center;
    margin-top: .3em;
    font-size: 1.35rem;
}
header .account_name:before {
    content: url("../../common/img/icon_account.png");
    margin: .2em .5em 0 0;
}
header .account_name a {
    /*display: none !important; 20210416 1か月only*/
    display: inline-block; 
    margin-left: 1.5em;
    text-decoration: underline;
    color: #0070c0;
}


/* main ----------------------------------------------------------------*/
.main .wrap {
    padding: 80px 30px;
}

.main .tit01 {
    text-align: center;
    color: #f59700;
    font-size: 2.4rem;
    font-weight: normal;
    position: relative;
    padding: 0 0 12px 0;
    display: block;
    margin: 0 auto 40px;
}
.main ul.flex + .tit01 {
    margin-top: 40px;
}
.main .tit01:before {
    content: "";
    width: 50%;
    border-bottom: 3px solid #e1e1e1;
    position: absolute;
    bottom: -3px;
    left: 25%;
}
.main .tit01:after {
    content: "";
    width: 15%;
    position: absolute;
    bottom: -3px;
    left: 42.5%;
    border-bottom: 3px solid #f5a100;
}
.main .tit02 {
    text-align: left;
    color: #FFF;
    font-size: 2.4rem;
    font-weight: bold;
    background: #CCC;
    padding: .8em 1em;
    border-radius: 5px;
    margin: 0 auto 20px;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .main .tit02 {
        padding: .8em 1em .5em;
    }
}
.main .tit03 {
    text-align: left;;
    font-size: 2.0rem;
    font-weight: bold;
    padding: .4em 1em .4em .5em;
    margin: 0 auto 20px;
    border-left: 8px solid #CCC;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .main .tit03 {
        padding: .4em 1em .1em .5em;
    }
}

/* login ----------------------------------------------------------------------*/
.login .contents .main {
    background:-moz-linear-gradient(top, #ffcd7b, #FFF, #FFF); /* Firefox */
    background:-webkit-linear-gradient(top, #ffcd7b, #FFF, #FFF);/* safari Chrome */
    background:-ms-linear-gradient(top, #ffcd7b, #FFF, #FFF); /* IE */
    background-size: cover;
}
.login .contents {
    background: none;
}
.main .login {
    background: url("../../common/img/bg_login.png") no-repeat center bottom;
    background-size: 100% auto;
    padding-bottom: 100px;
}
.main .login .wrap {
    padding: 13vh 0;
    position: relative;
    box-sizing: border-box;
}
.main .login .wrap:after {
    content: none;
}
@media screen and (max-width:1100px) { 
    .main .login {
        padding-bottom: 0;
    }
}
/* header_login */
.header_login {
    margin: 0 auto;
    max-width: 700px;
    width: 70%;
    background: url("../../common/img/bg_dotted.png") no-repeat left center;
    position: relative;
}
.header_login:after {
    content: "";
    background: url("../../common/img/bg_dotted.png") no-repeat left center;
    position: absolute;
    display: block;
    width: 55px;
    height: 100%;
    right: 0;
    top: 0;
    transform: scale(-1, 1);
}
.header_login h1 {
     font-size: 4.0rem;
    font-weight: bold;
    margin-bottom: .6em;
}
.header_login h1 ,
.header_login h1 + p {
    text-shadow:0 0 6px #FFF ,0 0 6px #FFF ,0 0 6px #FFF ,0 0 6px #FFF ,0 0 6px #FFF ;
    text-align: center;
}
.header_login h1 span ,
.header_login h1 + p {
    color:#f59700;
}
.header_login h1 + p {
    font-size: 1.6rem;
    margin-bottom: 1.5em;
}

/* main_login */
.login .main_login {
    margin: 0 auto;
    max-width: 700px;
    width: 70%;
    padding: 60px 12%;
    /* background:  rgba(255,255,255,0.8); */
    background:  #FFF;
    border: 1px solid #CCC;
    border-radius: 10px;
    box-sizing: border-box;
}
.login .main_login li {
    text-align: center;
}
.login .main_login li .input_l {
    padding: 1.5em 1em;
}
.login .main_login li + li {
    margin-top: 2em;
}
.login .main_login h2 ,
.login .main_login p {
    text-align: center;
    margin-bottom: .8em;
    line-height: 1.4;
}
.login .main_login h2 {
    font-size: 2.0rem;
    font-weight: bold;
}
/* login season02 -------------------------------*/
.season02 .main .login {
     background: url("../../common/img/bg_header02.gif") repeat left bottom;
}
.season02 .main .login .wrap {
    padding: 13vh 0 15vh;
    position: relative;
    box-sizing: border-box;
}
.season02 .main .login .wrap:after {
    content: "";
    display: block;
    position: absolute;
    width: 345px;
    height: 94px;
    background: url("../../common/img/bg_header_chara02.png") no-repeat center center;
    bottom: 10vh;
    right: 18%;
}

/* logout -------------------*/
.logout .main .wrap:after {
    content: none;
}
/* header_login */
.logout .header_login {
    background: none;
}
.logout .header_login:after {
    content: none;
}
.logout .main_login {
    padding: 60px 5%;
}


/* 総合トップページ ------------------------------------------------------------------ */
/* メインスライダー ------------*/
.main .main_slider .wrap {
    padding: 20px 30px 60px;
}
.main .swiper-slide {
    min-height: 262px;
}
.main .swiper-slide.slide01 {
    background: url("../../common/img/slide01.png") no-repeat right top;
    background-size: cover;
    position: relative;
}
.main .slide01 p {
    color: #FFF;
    position: absolute;
}
.main .slide01 p span {
    display: inline-block;
}
.main .slide01 .tit {
    font-weight: bold;
    font-size: 2.4rem;
    left: 60px;
    top: 80px;
    letter-spacing: .2em;
}
.main .slide01 .text {
    font-size: 2.0rem;
    left: 60px;
    top: 150px;
    line-height: 1.6;
}
.swiper-button-prev ,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}
.swiper-pagination {
    position: relative;
    margin: 10px auto 0;
}
.swiper-pagination .swiper-pagination-bullet {
    margin: 0 4px;
}
.swiper-pagination-bullet-active {
    background-color: #f59700;
}
.swiper-slide img {
    width: 100%;
    height: auto;
}

/* お知らせ ------------*/
.main .info {
    background: #ededed;
    min-width: 1000px;
}
.main .info ul {
    background: #FFF;
    border: 1px solid #CCC;
    height: 300px;
    overflow: auto;
    padding: 40px 40px 0;
    box-sizing: border-box;
}
.main .info li {
    display: flex;
    padding: 0 1em 1em 0;
    margin-bottom: 1em;
    align-items: flex-start;
    line-height: 1em;
}
.main .info li span ,
.main .info li a {
    display: inline-block;
    line-height: 1.2;
}
.main .info .date {
    margin-right: 2em;
}
.main .info .cate {
    margin-right: 2em;
    padding: .8em;
    font-size: 1.2rem;
    width: 15%;
    box-sizing: border-box;
    text-align: center;
    background: #999;
    color: #FFF;
    min-width: 154px;
    margin-top: -.8em;
}
.main .info .cate.yellow {
    background: #bf9000;
}
.main .info .cate.blue {
    background: #2f5597;
}
.main .info .cate.red {
    background: #F00;
}
.main .info .cate.green {
    background: #548235;
}

/* group_link ------------*/
.main .group_link ul {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    flex-wrap: wrap;
    margin:  0 auto;
}
.main .group_link li {
    width: 30%;
    margin-right: 4.66%;
    margin-bottom: 2em;
}
.main .group_link li:nth-child(3n) {
    margin-right: 0;
}
.main .group_link li {
    width: 30%;
    margin-bottom: 2em;
}
.main .group_link li a {
    display: flex;
    height: 100%;
    min-height: 7em;
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.2);
    align-items: center;
    line-height: 1.6em;
}
.main .group_link li a:before {
    content: "";
    width: 40%;
    height: 100%;
    margin-right: 1.5em;
    background: url("../../common/img/icon_g09.png") no-repeat center center #EDEDED;
    background-size: 60% auto;
}
.main .group_link li.g_link01 a:before {
    background-image: url("../../common/img/icon_g10.png");
    background-size: 60% auto;
}
.main .group_link li.g_link02 a:before {
    background-image: url("../../common/img/icon_g03.png");
    background-size: 60% auto;
}
.main .group_link li.g_link03 a:before {
    background-image: url("../../common/img/icon_g05.png");
    background-size: 60% auto;
}
.main .group_link li.g_link04 a:before {
    background-image: url("../../common/img/icon_g04.png");
    background-size: 60% auto;
}
.main .group_link li.g_link05 a:before {
    background-image: url("../../common/img/icon_g06.png");
    background-size: 60% auto;
}
.main .group_link li.g_link06 a:before {
    background-image: url("../../common/img/icon_g02.png");
    background-size: 60% auto;
}
.main .group_link li.g_link07 a:before {
    background-image: url("../../common/img/icon_g07.png");
    background-size: 60% auto;
}
.main .group_link li.g_link08 a:before {
    background-image: url("../../common/img/icon_g01.png");
    background-size: 60% auto;
}
.main .group_link li.g_link17 a:before {
    background-image: url("../../common/img/icon_g10.png");
    background-size: 60% auto;
}
.main .group_link li.g_link18 a:before {
    background-image: url("../../common/img/icon_g11.png");
    background-size: 60% auto;
}

/* bannar ------------*/
.main .bannar {
    background: #ededed;
    min-width: 1000px;
}
.main .bannar ul {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin:  0 auto;
}
.main .bannar li {
    width: 24%;
    margin-right: 1%;
    margin-bottom: 1em;
}
.main .bannar a img {
    width: 100%;
}

/* 第二階層 カスタムページ ------------------------------------------------------------------ */
.main .custom_area .wrap {
    padding: 0 30px 30px;
    display: flex;
    flex-flow: column;
}
/* 確認用タイトル※本番時消去 ------------*/
.temp_set {
    font-weight: bold;
    margin-bottom: 1em;
    font-size: 2.0rem;
}
* + .temp_set {
    margin-top: 3em;
}

/* テキスト内リンク ------------*/
.custom_area .text a ,
.custom_area .caption a {
    text-decoration: underline;
    color: #0070c0;
}
/* カテゴリトップ ------------------------------------*/

/* タイトル画像　------------------ */
.custom_area .main_img {
  margin: 0 auto 5em;
}
.custom_area .main_img img {
  width: 100%;
}
/* カテゴリタイトル　------------------ */
.custom_area .top_tit {
    color: #f59700;
    line-height: 1.4;
    font-size: 3.0rem;
    text-align: center;
    font-weight: bold;
    margin: 0 auto 2em;
    width: 100%;
    max-width: none;
}

/* 2段グラフィック　------------------ */
.custom_area .sub_img {
  margin: 0 auto 5em;
    display: flex;
}
.custom_area .sub_img .img {
  margin-right: 1em;
    flex: 1;
}
.custom_area .sub_img img {
    width: 100%;
}
.custom_area .sub_img .text {
    line-height: 1.6;
    flex: 1;
    font-size: 2.0rem;
}
.custom_area .sub_img .text strong {
    display: block;
    font-weight: bold;
    color: #f59700;
    font-size: 2.4rem;
    margin-bottom: .5em;
}
/* 周知用囲みパーツ　------------------ */
.custom_area .line_box_sub {
    border: 1px solid #CCC;
    padding: 2.5em 2em;
    margin: 0 auto 2em;
    line-height: 1.6;
    box-sizing: border-box;
}
.custom_area .line_box_sub a {
    text-decoration: underline;
    color: #0070c0;
}
/* サブカテゴリタイトル　------------------ */
.custom_area .sub_tit {
    color: #f59700;
    line-height: 1.6;
    font-size: 2.4rem;
    text-align: center;
    font-weight: bold;
    margin: 3em auto 2em;
}
/* リンクボタン　------------------ */
.custom_area .link_btn {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 2em;
    width: 100%;
    box-sizing: border-box;
}
.custom_area .link_btn a ,
.custom_area .link_btn li > span {
    display: block;
    padding: 2em;
    box-sizing: border-box;
    line-height: 1.4;
}
.custom_area .link_btn.col2 li {
    width: 49%;
}
.custom_area .link_btn.col2 li:nth-child(even) {
    margin-left: 2%;
}
.custom_area .link_btn.col2 li:nth-child(n + 3) {
    margin-top: 1em;
}
.custom_area .link_btn.col3 li {
    width: 32.5%;
    margin-left: 1.25%;
}
.custom_area .link_btn.col3 li:nth-child(3n + 1) {
    margin: 0;
}
.custom_area .link_btn.col3 li:nth-child(n + 4) {
    margin-top: 1em;
}
/* tag */
.custom_area .link_btn.tag a ,
.custom_area .link_btn.tag span {
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    font-weight: bold;
}
.custom_area .link_btn.tag a:before ,
.custom_area .link_btn.tag span:before {
    content: "";
    width: 1em;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background:-moz-linear-gradient(top, #f5a100, #ed7100); /* Firefox */
    background:-webkit-linear-gradient(top, #f5a100, #ed7100);/* safari Chrome */
    background:linear-gradient(to bottom, #f5a100, #ed7100); /* IE */
}
.custom_area .link_btn.tag a:after ,
.custom_area .link_btn.tag span:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -.25em;
    left: 0;
    width: .5em;
    height: .5em;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg);
    z-index: 10;
}
/* arrow */
.custom_area .link_btn.arrow a ,
.custom_area .link_btn.arrow span {
    box-shadow: 0px 2px 10px -3px rgba(0,0,0,0.2);
    position: relative;
    border: 1px solid #ddd;
    border-radius: 5px;
}
.custom_area .link_btn.arrow a:after ,
.custom_area .link_btn.arrow span:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -.25em;
    left: .8em;
    width: .5em;
    height: .5em;
    border-top: 2px solid #f59700;
    border-right: 2px solid #f59700;
    transform: rotate(45deg);
    z-index: 10;
}
/* テキストリンク　------------------ */
.custom_area .link_icon {
    margin: 0 auto .5em;
    width: 100%;
}
.custom_area .link_icon a {
    position: relative;
    display: inline-block;
    padding-left: 1.5em;
    line-height: 1.4;
}
.custom_area .link_icon a:before {
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    background: url("../../common/img/icon_arrow_o.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    top: .2em;
}
/* バナー　------------------ */
.custom_area .bannar_set {
    margin: 5em auto;
    display: flex;
    flex-wrap: wrap;
}
.custom_area .bannar_set li {
    width: 22%;
    margin-right: 3%;
}
.custom_area .bannar_set li:nth-child(n + 5) {
    margin-top: 1em;
}
.custom_area .bannar_set li a {
    display: block;
    width: 100%;
}
.custom_area .bannar_set li a img {
    display: block;
    width: 100%;
}
/* 各カテゴリトップレイアウト　--------------------------------- */
.custom_area .cate_top.cate_txt p {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 1em;
}
.custom_area .cate_top.cate_sub_txt {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 1em;
}
.custom_area .cate_top.cate_sub_txt .img ,
.custom_area .cate_top.cate_sub_txt .text {
    flex: 5;
}
.custom_area .cate_top.cate_sub_txt .img img {
    border: 1px solid #707070;
}
.custom_area .cate_top.cate_sub_txt .img > span + span {
    margin-left: 1em;
}
.custom_area .cate_top .cate_img_col2 {
    display: flex;
}
.custom_area .cate_top.link_btn.tag a ,
.custom_area .cate_top.link_btn.tag span {
    font-size: 2.0rem;
    padding: 1.3em 2em;
}
/* 見出し用アイコン */
.custom_area h3.cate_top.icon01 {
    background: url("../../common/img/icon_cate_01.png") no-repeat left center;
}
.custom_area h3.cate_top.icon02 {
    background: url("../../common/img/icon_cate_02.png") no-repeat left center;
}
.custom_area h3.cate_top.icon03 {
    background: url("../../common/img/icon_cate_03.png") no-repeat left center;
}
.custom_area h3.cate_top.icon04 {
    background: url("../../common/img/icon_cate_04.png") no-repeat left center;
}
.custom_area h3.cate_top.icon05 {
    background: url("../../common/img/icon_cate_05.png") no-repeat left center;
}
.custom_area h3.cate_top.icon06 {
    background: url("../../common/img/icon_cate_06.png") no-repeat left center;
}
.custom_area h3.cate_top.icon07 {
    background: url("../../common/img/icon_cate_07.png") no-repeat left center;
}
.custom_area h3.cate_top.icon08 {
    background: url("../../common/img/icon_cate_08.png") no-repeat left center;
}
.custom_area h3.cate_top.icon09 {
    background: url("../../common/img/icon_cate_09.png") no-repeat left center;
}
.custom_area h3.cate_top.icon10 {
    background: url("../../common/img/icon_cate_10.png") no-repeat left center;
}
.custom_area h3.cate_top.icon11 {
    background: url("../../common/img/icon_cate_11.png") no-repeat left center;
}
.custom_area h3.cate_top.icon12 {
    background: url("../../common/img/icon_cate_12.png") no-repeat left center;
}
.custom_area h3.cate_top.icon13 {
    background: url("../../common/img/icon_cate_13.png") no-repeat left center;
}
.custom_area h3.cate_top.icon14 {
    background: url("../../common/img/icon_cate_14.png") no-repeat left center;
}
.custom_area h3.cate_top.icon15 {
    background: url("../../common/img/icon_cate_15.png") no-repeat left center;
}
.custom_area h3.cate_top.icon16 {
    background: url("../../common/img/icon_cate_16.png") no-repeat left center;
}
.custom_area h3.cate_top.icon17 {
    background: url("../../common/img/icon_cate_17.png") no-repeat left center;
}
.custom_area h3.cate_top.icon18 {
    background: url("../../common/img/icon_cate_18.png") no-repeat left center;
}
.custom_area h3.cate_top.icon19 {
    background: url("../../common/img/icon_cate_19.png") no-repeat left center;
}
.custom_area h3.cate_top.icon20 {
    background: url("../../common/img/icon_cate_20.png") no-repeat left center;
}
.custom_area h3.cate_top.icon21 {
    background: url("../../common/img/icon_cate_21.png") no-repeat left center;
}
.custom_area h3.cate_top.icon01 ,
.custom_area h3.cate_top.icon02 ,
.custom_area h3.cate_top.icon03 ,
.custom_area h3.cate_top.icon04 ,
.custom_area h3.cate_top.icon05 ,
.custom_area h3.cate_top.icon06 ,
.custom_area h3.cate_top.icon07 ,
.custom_area h3.cate_top.icon08 ,
.custom_area h3.cate_top.icon09 ,
.custom_area h3.cate_top.icon10 ,
.custom_area h3.cate_top.icon11 ,
.custom_area h3.cate_top.icon12 ,
.custom_area h3.cate_top.icon13 ,
.custom_area h3.cate_top.icon14 ,
.custom_area h3.cate_top.icon15 ,
.custom_area h3.cate_top.icon16 ,
.custom_area h3.cate_top.icon17 ,
.custom_area h3.cate_top.icon18 ,
.custom_area h3.cate_top.icon19 ,
.custom_area h3.cate_top.icon20 ,
.custom_area h3.cate_top.icon21 {
    font-size: 3.2rem;
    padding-left: 100px;
}
.custom_area h3.cate_top.icon02 ,
.custom_area h3.cate_top.icon04 ,
.custom_area h3.cate_top.icon05 ,
.custom_area h3.cate_top.icon06 ,
.custom_area h3.cate_top.icon07 ,
.custom_area h3.cate_top.icon08 ,
.custom_area h3.cate_top.icon09 ,
.custom_area h3.cate_top.icon10 ,
.custom_area h3.cate_top.icon11 ,
.custom_area h3.cate_top.icon12 ,
.custom_area h3.cate_top.icon13 ,
.custom_area h3.cate_top.icon14 ,
.custom_area h3.cate_top.icon15 ,
.custom_area h3.cate_top.icon16 ,
.custom_area h3.cate_top.icon17 ,
.custom_area h3.cate_top.icon18 ,
.custom_area h3.cate_top.icon19 ,
.custom_area h3.cate_top.icon20 ,
.custom_area h3.cate_top.icon21 {
    padding-left: 90px;
}
.custom_area h3.cate_top.icon03 {
    padding-left: 80px;
}

/* 自由レイアウト ------------------------------------*/

/* 並べ替え　------------------ */
.custom_area .order001 { order: 1;}
.custom_area .order002 { order: 2;}
.custom_area .order003 { order: 3;}
.custom_area .order004 { order: 4;}
.custom_area .order005 { order: 5;}
.custom_area .order006 { order: 6;}
.custom_area .order007 { order: 7;}
.custom_area .order008 { order: 8;}
.custom_area .order009 { order: 9;}
.custom_area .order010 { order: 10;}
.custom_area .order011 { order: 11;}
.custom_area .order012 { order: 12;}
.custom_area .order013 { order: 13;}
.custom_area .order014 { order: 14;}
.custom_area .order015 { order: 15;}
.custom_area .order016 { order: 16;}
.custom_area .order017 { order: 17;}
.custom_area .order018 { order: 18;}
.custom_area .order019 { order: 19;}
.custom_area .order020 { order: 20;}
.custom_area .order021 { order: 21;}
.custom_area .order022 { order: 22;}
.custom_area .order023 { order: 23;}
.custom_area .order024 { order: 24;}
.custom_area .order025 { order: 25;}
.custom_area .order026 { order: 26;}
.custom_area .order027 { order: 27;}
.custom_area .order028 { order: 28;}
.custom_area .order029 { order: 29;}
.custom_area .order030 { order: 30;}
.custom_area .order031 { order: 31;}
.custom_area .order032 { order: 32;}
.custom_area .order033 { order: 33;}
.custom_area .order034 { order: 34;}
.custom_area .order035 { order: 35;}
.custom_area .order036 { order: 36;}
.custom_area .order037 { order: 37;}
.custom_area .order038 { order: 38;}
.custom_area .order039 { order: 39;}
.custom_area .order040 { order: 40;}
.custom_area .order041 { order: 41;}
.custom_area .order042 { order: 42;}
.custom_area .order043 { order: 43;}
.custom_area .order044 { order: 44;}
.custom_area .order045 { order: 45;}
.custom_area .order046 { order: 46;}
.custom_area .order047 { order: 47;}
.custom_area .order048 { order: 48;}
.custom_area .order049 { order: 49;}
.custom_area .order050 { order: 50;}
.custom_area .order051 { order: 51;}
.custom_area .order052 { order: 52;}
.custom_area .order053 { order: 53;}
.custom_area .order054 { order: 54;}
.custom_area .order055 { order: 55;}
.custom_area .order056 { order: 56;}
.custom_area .order057 { order: 57;}
.custom_area .order058 { order: 58;}
.custom_area .order059 { order: 59;}
.custom_area .order060 { order: 60;}
.custom_area .order061 { order: 61;}
.custom_area .order062 { order: 62;}
.custom_area .order063 { order: 63;}
.custom_area .order064 { order: 64;}
.custom_area .order065 { order: 65;}
.custom_area .order066 { order: 66;}
.custom_area .order067 { order: 67;}
.custom_area .order068 { order: 68;}
.custom_area .order069 { order: 69;}
.custom_area .order070 { order: 70;}
.custom_area .order071 { order: 71;}
.custom_area .order072 { order: 72;}
.custom_area .order073 { order: 73;}
.custom_area .order074 { order: 74;}
.custom_area .order075 { order: 75;}
.custom_area .order076 { order: 76;}
.custom_area .order077 { order: 77;}
.custom_area .order078 { order: 78;}
.custom_area .order079 { order: 79;}
.custom_area .order080 { order: 80;}
.custom_area .order081 { order: 81;}
.custom_area .order082 { order: 82;}
.custom_area .order083 { order: 83;}
.custom_area .order084 { order: 84;}
.custom_area .order085 { order: 85;}
.custom_area .order086 { order: 86;}
.custom_area .order087 { order: 87;}
.custom_area .order088 { order: 88;}
.custom_area .order089 { order: 89;}
.custom_area .order090 { order: 90;}
.custom_area .order091 { order: 91;}
.custom_area .order092 { order: 92;}
.custom_area .order093 { order: 93;}
.custom_area .order094 { order: 94;}
.custom_area .order095 { order: 95;}
.custom_area .order096 { order: 96;}
.custom_area .order097 { order: 97;}
.custom_area .order098 { order: 98;}
.custom_area .order099 { order: 99;}
.custom_area .order100 { order: 100;}
.custom_area .order101 { order: 101;}
.custom_area .order102 { order: 102;}
.custom_area .order103 { order: 103;}
.custom_area .order104 { order: 104;}
.custom_area .order105 { order: 105;}
.custom_area .order106 { order: 106;}
.custom_area .order107 { order: 107;}
.custom_area .order108 { order: 108;}
.custom_area .order109 { order: 109;}
.custom_area .order110 { order: 110;}
.custom_area .order111 { order: 111;}
.custom_area .order112 { order: 112;}
.custom_area .order113 { order: 113;}
.custom_area .order114 { order: 114;}
.custom_area .order115 { order: 115;}
.custom_area .order116 { order: 116;}
.custom_area .order117 { order: 117;}
.custom_area .order118 { order: 118;}
.custom_area .order119 { order: 119;}
.custom_area .order120 { order: 120;}
.custom_area .order121 { order: 121;}
.custom_area .order122 { order: 122;}
.custom_area .order123 { order: 123;}
.custom_area .order124 { order: 124;}
.custom_area .order125 { order: 125;}
.custom_area .order126 { order: 126;}
.custom_area .order127 { order: 127;}
.custom_area .order128 { order: 128;}
.custom_area .order129 { order: 129;}
.custom_area .order130 { order: 130;}
.custom_area .order131 { order: 131;}
.custom_area .order132 { order: 132;}
.custom_area .order133 { order: 133;}
.custom_area .order134 { order: 134;}
.custom_area .order135 { order: 135;}
.custom_area .order136 { order: 136;}
.custom_area .order137 { order: 137;}
.custom_area .order138 { order: 138;}
.custom_area .order139 { order: 139;}
.custom_area .order140 { order: 140;}
.custom_area .order141 { order: 141;}
.custom_area .order142 { order: 142;}
.custom_area .order143 { order: 143;}
.custom_area .order144 { order: 144;}
.custom_area .order145 { order: 145;}
.custom_area .order146 { order: 146;}
.custom_area .order147 { order: 147;}
.custom_area .order148 { order: 148;}
.custom_area .order149 { order: 149;}
.custom_area .order150 { order: 150;}
.custom_area .order151 { order: 151;}
.custom_area .order152 { order: 152;}
.custom_area .order153 { order: 153;}
.custom_area .order154 { order: 154;}
.custom_area .order155 { order: 155;}
.custom_area .order156 { order: 156;}
.custom_area .order157 { order: 157;}
.custom_area .order158 { order: 158;}
.custom_area .order159 { order: 159;}
.custom_area .order160 { order: 160;}
.custom_area .order161 { order: 161;}
.custom_area .order162 { order: 162;}
.custom_area .order163 { order: 163;}
.custom_area .order164 { order: 164;}
.custom_area .order165 { order: 165;}
.custom_area .order166 { order: 166;}
.custom_area .order167 { order: 167;}
.custom_area .order168 { order: 168;}
.custom_area .order169 { order: 169;}
.custom_area .order170 { order: 170;}
.custom_area .order171 { order: 171;}
.custom_area .order172 { order: 172;}
.custom_area .order173 { order: 173;}
.custom_area .order174 { order: 174;}
.custom_area .order175 { order: 175;}
.custom_area .order176 { order: 176;}
.custom_area .order177 { order: 177;}
.custom_area .order178 { order: 178;}
.custom_area .order179 { order: 179;}
.custom_area .order180 { order: 180;}
.custom_area .order181 { order: 181;}
.custom_area .order182 { order: 182;}
.custom_area .order183 { order: 183;}
.custom_area .order184 { order: 184;}
.custom_area .order185 { order: 185;}
.custom_area .order186 { order: 186;}
.custom_area .order187 { order: 187;}
.custom_area .order188 { order: 188;}
.custom_area .order189 { order: 189;}
.custom_area .order190 { order: 190;}
.custom_area .order191 { order: 191;}
.custom_area .order192 { order: 192;}
.custom_area .order193 { order: 193;}
.custom_area .order194 { order: 194;}
.custom_area .order195 { order: 195;}
.custom_area .order196 { order: 196;}
.custom_area .order197 { order: 197;}
.custom_area .order198 { order: 198;}
.custom_area .order199 { order: 199;}
.custom_area .order200 { order: 200;}
.custom_area .order201 { order: 201;}
.custom_area .order202 { order: 202;}
.custom_area .order203 { order: 203;}
.custom_area .order204 { order: 204;}
.custom_area .order205 { order: 205;}
.custom_area .order206 { order: 206;}
.custom_area .order207 { order: 207;}
.custom_area .order208 { order: 208;}
.custom_area .order209 { order: 209;}
.custom_area .order210 { order: 210;}
.custom_area .order211 { order: 211;}
.custom_area .order212 { order: 212;}
.custom_area .order213 { order: 213;}
.custom_area .order214 { order: 214;}
.custom_area .order215 { order: 215;}
.custom_area .order216 { order: 216;}
.custom_area .order217 { order: 217;}
.custom_area .order218 { order: 218;}
.custom_area .order219 { order: 219;}
.custom_area .order220 { order: 220;}
.custom_area .order221 { order: 221;}
.custom_area .order222 { order: 222;}
.custom_area .order223 { order: 223;}
.custom_area .order224 { order: 224;}
.custom_area .order225 { order: 225;}
.custom_area .order226 { order: 226;}
.custom_area .order227 { order: 227;}
.custom_area .order228 { order: 228;}
.custom_area .order229 { order: 229;}
.custom_area .order230 { order: 230;}
.custom_area .order231 { order: 231;}
.custom_area .order232 { order: 232;}
.custom_area .order233 { order: 233;}
.custom_area .order234 { order: 234;}
.custom_area .order235 { order: 235;}
.custom_area .order236 { order: 236;}
.custom_area .order237 { order: 237;}
.custom_area .order238 { order: 238;}
.custom_area .order239 { order: 239;}
.custom_area .order240 { order: 240;}
.custom_area .order241 { order: 241;}
.custom_area .order242 { order: 242;}
.custom_area .order243 { order: 243;}
.custom_area .order244 { order: 244;}
.custom_area .order245 { order: 245;}
.custom_area .order246 { order: 246;}
.custom_area .order247 { order: 247;}
.custom_area .order248 { order: 248;}
.custom_area .order249 { order: 249;}
.custom_area .order250 { order: 250;}
.custom_area .order251 { order: 251;}
.custom_area .order252 { order: 252;}
.custom_area .order253 { order: 253;}
.custom_area .order254 { order: 254;}
.custom_area .order255 { order: 255;}
.custom_area .order256 { order: 256;}
.custom_area .order257 { order: 257;}
.custom_area .order258 { order: 258;}
.custom_area .order259 { order: 259;}
.custom_area .order260 { order: 260;}
.custom_area .order261 { order: 261;}
.custom_area .order262 { order: 262;}
.custom_area .order263 { order: 263;}
.custom_area .order264 { order: 264;}
.custom_area .order265 { order: 265;}
.custom_area .order266 { order: 266;}
.custom_area .order267 { order: 267;}
.custom_area .order268 { order: 268;}
.custom_area .order269 { order: 269;}
.custom_area .order270 { order: 270;}
.custom_area .order271 { order: 271;}
.custom_area .order272 { order: 272;}
.custom_area .order273 { order: 273;}
.custom_area .order274 { order: 274;}
.custom_area .order275 { order: 275;}
.custom_area .order276 { order: 276;}
.custom_area .order277 { order: 277;}
.custom_area .order278 { order: 278;}
.custom_area .order279 { order: 279;}
.custom_area .order280 { order: 280;}
.custom_area .order281 { order: 281;}
.custom_area .order282 { order: 282;}
.custom_area .order283 { order: 283;}
.custom_area .order284 { order: 284;}
.custom_area .order285 { order: 285;}
.custom_area .order286 { order: 286;}
.custom_area .order287 { order: 287;}
.custom_area .order288 { order: 288;}
.custom_area .order289 { order: 289;}
.custom_area .order290 { order: 290;}
.custom_area .order291 { order: 291;}
.custom_area .order292 { order: 292;}
.custom_area .order293 { order: 293;}
.custom_area .order294 { order: 294;}
.custom_area .order295 { order: 295;}
.custom_area .order296 { order: 296;}
.custom_area .order297 { order: 297;}
.custom_area .order298 { order: 298;}
.custom_area .order299 { order: 299;}
.custom_area .order300 { order: 300;}


/* ページタイトル　------------------ */
.custom_area_title {
  background: #efefef;
  padding: 50px 15px;
}
.custom_area_title h2 {
  margin: 0 auto;
}

/* 見出し　------------------------ */
.custom_area .ttl {
  font-size: 2.0rem;
  text-align: left;
    font-weight: bold;
  margin: 0 auto 1em;
    width: 100%;
    box-sizing: border-box;
}
/* 文字サイズ */
.custom_area .ttl.t_l {
  font-size: 2.4rem;
}
.custom_area .ttl.t_m {
  font-size: 2.0rem;
}
.custom_area .ttl.t_s {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
     .custom_area .ttl {
      font-size: 120%;
    }
   .custom_area .ttl.t_l {
      font-size: 140%;
    }
    .custom_area .ttl.t_m {
      font-size: 120%;
    }
    .custom_area .ttl.t_s {
      font-size: 100%;
    }
}
/* 行揃え */
.custom_area .ttl.right {
  text-align: right;
}
.custom_area .ttl.center {
  text-align: center;
}
.custom_area .ttl.left {
  text-align: left;
}
/* デザインパターン */
.custom_area .ttl.ttl01 { /* 青角丸背景＋文字白 */
  background: #5a85d0;
    color: #FFF;
    border-radius: 10px;
    padding: 1em 1em;
}
.custom_area .ttl.ttl02 { /* 赤角丸背景＋文字白 */
  background: #f59700;
    color: #FFF;
    border-radius: 10px;
    padding: 1em 1em;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .custom_area .ttl.ttl01 , .custom_area .ttl.ttl02 {
      padding: 1.3em 1em 1em;
    } /* IE11 */
}
.custom_area .ttl.ttl03 { /* 青下ライン */
  border-bottom: 2px solid #5a85d0;
    padding: 1em .5em .8em;
}
.custom_area .ttl.ttl04 { /* 赤下ライン */
  border-bottom: 2px solid #f59700;
    padding: 1em .5em .8em;
}
.custom_area .ttl.ttl05 { /* ストライプ */
  position: relative;
    padding: 1em .5em .8em;
}
.custom_area .ttl.ttl05:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 7px;
  background: -webkit-repeating-linear-gradient(-45deg, #ccc, #ccc 2px, #fff 2px, #fff 4px);
  background: repeating-linear-gradient(-45deg, #ccc, #ccc 2px, #fff 2px, #fff 4px);
}
.custom_area .ttl.ttl06 { /* 青枠左 */
  border-left:  8px solid #5a85d0;
    background: #f3f6fb;
    padding: 1em 1em 1em .5em ;
    line-height: 1em;
}
.custom_area .ttl.ttl07 { /* 赤枠左 */
  border-left: 8px solid #ed7100;
    background: #fff8f3;
    padding: 1em 1em 1em .5em ;
    line-height: 1em;
}
.custom_area .ttl.ttl08 { /* ふせん風 */
    padding: 1em 1em 1em .5em ;
    background: #fff9e7;
    border-left: solid 8px #ffbd30;
}
.custom_area .ttl.ttl09 { /* ふせん風 */
    padding: 1em 1em 1em .5em ;
    background: #f0f8ec;
    border-left: solid 8px #9cd582;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .custom_area .ttl.ttl06 , .custom_area .ttl.ttl07, .custom_area .ttl.ttl08 , .custom_area .ttl.ttl09 {
      padding: 1.2em 1em 1em .5em;
    } /* IE11 */
}
.custom_area .ttl.ttl10 { /* タグ */
    background: #efefef;
    position: relative;
    padding: 1em 1em 1em 2em;
    border-radius: 2em 0px 0px 2em;
}
.custom_area .ttl.ttl10:before { 
    content: '●';
    color: #FFF;
    position: absolute;
    left: .5em;
    top: 50%;
    margin-top: -.5em;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .custom_area .ttl.ttl10 {
      padding: 1.1em 1em .9em 2em;
    } /* IE11 */
  *::-ms-backdrop, .custom_area .ttl.ttl10:before {
      margin-top: -.4em;
    } /* IE11 */
}

/* テキスト　---------------------- */
.custom_area .text {
    line-height: 1.8em;
    margin-bottom: 2em;
    width: 100%;
    box-sizing: border-box;
}
.custom_area .left {
  text-align: left;
}
.custom_area .center {
  text-align: center;
}
.custom_area .right {
  text-align: right;
}

/* 画像　-------------------------- */
.custom_area_box ,
.custom_area_box.text {
    display: block;
    margin-bottom: 0;
    width: 100%;
    box-sizing: border-box;
}
.custom_area_box .img span {
    display: block;
    padding-top: .3em;
}
.custom_area_box.box01 .text {
    margin: 1em auto 0;
}
/* 画像左右　+　テキスト　--------- */
.custom_area_box.box01.img_left ,
.custom_area_box.box01.img_right {
    flex-direction: column-reverse;
}
/* 画像単体　--------------------- */
.custom_area_box.box02 {
    margin-bottom: 2em;
}
.custom_area_box .img {
    max-width: 100%;
}
.custom_area_box .img .caption {
   line-height: 1.4em;
}
.custom_area_box .img img {
    width: 100%;
}
.custom_area_box.box01.col2 ,
.custom_area_box.box01.col3 {
    flex-direction: column;
    width: 100%;
}
.custom_area_box.box01.col2 > .img + .img ,
.custom_area_box.box01.col3 > .img + .img {
    margin-top: 1em;
}

/* 動画パーツ　------------------------ */
.custom_area .move_box {
    width: 100%;
    margin: 0 auto 1em;
    position: relative;
    padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
    height: 0;
    overflow: hidden;
    margin-bottom: 2rem;
}
.custom_area .move_box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 769px) {
    .pc {
        display: block;
    }
    .sp {
        display: none;
    }
    /* 画像　-------------------------- */
    .custom_area_box.box01 ,
    .custom_area_box.box02 {
        display: flex;
        justify-content: space-between;
        margin-bottom: 0;
        min-height: 0%;/* ie */
    }
   .custom_area_box.box01 .text {
        margin: 0;
    }
    /* サイズ　--------------------- */
    .custom_area_box .img {
       flex:4;
    }
    .custom_area_box .text {
        flex: 6;
    }
    /* 画像左右　+　テキスト　--------- */
    .custom_area_box.box01.img_left {
        flex-direction: row;
    }
    .custom_area_box.box01.img_left .text {
        margin-left: 1em;
    }
    .custom_area_box.box01.img_right {
        flex-direction: row-reverse;
    }
    .custom_area_box.box01.img_right .text {
        margin-right: 1em;
    }
    /* 画像単体　--------------------- */
    .custom_area_box.box02 {
        display: block;
    }
    .custom_area_box.box02 .img {
        max-width: 70%;
    }
    .custom_area_box.box02.img_left .img {
        margin: 0 auto 0 0;
    }
    .custom_area_box.box02.img_center .img {
        margin: 0 auto;
    }
    .custom_area_box.box02.img_right .img {
        margin: 0 0 0 auto;
    }
    /* 画像2個　--------------------- */
    .custom_area_box.box01.col2 {
        justify-content: center;
        flex-direction: row;
    }
    .custom_area_box.box01.col2 > .img + .img {
        margin: 0 0 0 3%;
    }
    /* 画像3個　--------------------- */
    .custom_area_box.box01.col3 {
        flex-direction: row;
        position: relative;
        display: block;
    }
    .custom_area_box.box01.col3 > .img + .img {
        margin: 0;
    }
    .custom_area_box.box01.col3 > .img {
       max-width: 31.5%;
        position: absolute;
    }
    .custom_area_box.box01.col3 > .img01 {
        left: 0;
    }
    .custom_area_box.box01.col3 > .img + .img02 ,
    .custom_area_box.box01.col3 > .img02 {
        left: 50%;
        margin-left: -15.75%;
    }
    .custom_area_box.box01.col3 > .img03 {
        right: 0;
    }
    /* 動画パーツ　------------------------ */
    .custom_area .move_box {
        width: 70%;
        padding-bottom: 39.375%;
    }
}

/* 空白20px　---------------------- */
.custom_area .margin_box {
    height: 0px;
    line-height: 0;
    padding-top: 20px;
    overflow: hidden;
}

/* ライン　------------------------ */
.custom_area .line_box {
    height: 1px;
    line-height: 0;
    border-top:1px solid #000;
    margin: 10px auto;
    width: 100%;
    box-sizing: border-box;
}

/* リンク　------------------------ */
.custom_area .link {
    margin-bottom: 1em;
}
.custom_area .link a {
    padding: 1em 1em 1em 2em;
    border: 1px solid #CCC;
    border-radius: 5px;
    background: #FFF;
    display: inline-block;
    min-width: 50%;
    box-sizing: border-box;
    line-height: 1.2;
    position: relative;
}
.custom_area .link a:before{
    content: "";
    position: absolute;
    top: 1.25em;
    left: .5em;
    width: .5em;
    height: .5em;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    transform: rotate(45deg);
}

/* 第二階層　カスタムページ以外  ------------------------------------------------------------------ */

/* パンくず ------------------------------ */
.main .breadcrumb .wrap {
    padding: 40px 30px 0;
}
.main .breadcrumb + section .wrap {
    padding: 40px 30px 80px;
}
.breadcrumb li {
    display: inline-block;
}
.breadcrumb li a {
    text-decoration: underline;
    color: #0070c0;
}
.breadcrumb li + li:before {
    content: "：";
}

/* main 上部 ---------------------------*/
.main_header_area {
    margin-bottom: 1em;
}
.internal_link {
    /*position: absolute;
    right: -3px;
    top: -3px;*/
    text-align: right;
}
.internal_link a {
    display: inline-block;
    background: #FFF;
    padding: 1em 40px 1em 60px;
    border-radius: 5px;
    position: relative;
    border: 1px solid #CCC;
}
.internal_link a:before {
    content: "";
    position: absolute;
    left: 32px;
    width: 8px;
    height: 8px;
    top: 50%;
    margin-top: -6px;
    border-top: 3px solid #CCC;
    border-right: 3px solid #CCC;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/*.internal_link a:before {
    content: "";
    position: absolute;
    left: -48px;
    top: 0;
    height: 100%;
    border-left: 48px solid transparent;
    border-top: 48px solid #ccc;
}*/

/* ユーザ管理 ---------------------------*/
.user_main .wrap {
    padding: 0 30px 80px;
}
/* 追加種別選択 */
.main .user_details .kinds p {
    line-height: 1.4;
}
.main .user_details .kinds .btn_form {
    margin: 50px auto;
    display: flex;
}
.main .user_details .kinds .btn_form > li {
    width: 100%;
}
.main .user_details .kinds .btn_form > li a {
    font-weight: bold;
}
/* メッセージ */
.main .user_details .mess01 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    margin: 0 auto 3em;
    padding: 3em 0;
    border: 1px solid #CCC;
    border-radius: 10px;
    font-weight: bold;
    font-size: 140%;
}
/* table01 */
.main .user_details table.table01 {
    box-sizing: border-box;
    border-collapse:collapse;
    margin: 0 auto;
    width: 100%;
}
.main .user_details table.table01 th ,
.main .user_details table.table01 td {
    padding: 1.5em 1em;
    box-sizing: content-box;
    text-align: left;
    vertical-align: center;
    border: none;
    border-bottom: 1px solid #CCC;
}
.main .user_details table.table01 th {
    font-weight: bold;
    width: 25%;
}
.main .user_details table.table01 th.vtop {
    vertical-align: top;
}
.main .user_details table.table01 td.left {
    text-align: left;
}
.main table.table01 .pass_re  {
    text-decoration: underline;
    color: #0070c0;
    display: inline-block;
    margin-left: 1em;
}
/*.main table.table01 + table.table01  {
    margin-top: 2em;
}*/
.main table.table01.cate01 tr:nth-child(odd) {
    background: #ededed;
}

/* search_area ---*/
.search_area {
    border: 3px solid #CCC;
    border-radius: 20px;
    padding: 2em 30px;
    box-sizing: border-box;
    background:url("../../common/img/bg_search.gif");
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}
.search_area dl {
    width: 100%;
}
.search_area dl.hf {
    width: 48%;
}
.search_area dt {
    font-weight: bold;
    margin-bottom: .8em;
}
.search_area dt span.info {
    font-weight: normal;
    font-size: 80%;
    background: none;
    padding-left: 2em;
}
.search_area dd {
    margin-bottom: 1.2em;
}
.search_area dd .input_l ,
.search_area dd .input_m {
    line-height: 1em;
}

.main .search_area .btn_form {
    margin: 1em auto 0;
    width: 100%;
}
.main .search_area .btn_form li {
    width: 100%;
}
.main .search_area .btn_form .btn {
    margin: 0 auto;
    max-width: 260px;
}

/* btn_area ---*/
.btn_area ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2em;
}
.btn_area ul.lines2{
    display: block;
}
.btn_area ul.lines2 > li + li{
    display: table;
    margin: 0 0 0 auto;
}
.btn_area ul.lines3{
    display: block;
    text-align: right;
}
/* table02 ---*/
.user_table {
    overflow: auto;
}
.pager + .user_table {
    margin-top: 1em;
}
.table02 {
    width: 100%;
    border-collapse:collapse;
}
.table02 ,
.table02 th ,
.table02 td {
    border: 1px solid #CCC;
}
.table02 th ,
.table02 td {
    vertical-align: middle;
    padding: 8px .5em;
    font-size: 1.4rem;
}
.table02 th {
    background: #444;
    color: #FFF;
    text-align: center;
}
.table02 .td {
    text-align: left;
}
.table02 .gray td {
    background: #EFEFEF;
}
.table02 td a {
    color: #ee7c05;
    text-decoration: underline;
}

/* pager ---*/
.pager {
    margin: 30px auto 0;
    text-align: center;
}
.pager ul {
    text-align: center;
    display: inline-block;
    border-right: 1px solid #999;
    border-left: 1px solid #999;
    padding: 0 1em;
    margin: 0 0.5em;
}
.pager li ,
.pager p ,
.pager a  {
    display: inline-block;
}
.pager a {
    color: #ee7c05;
    padding: 2px 0.2em;
}
_:-ms-fullscreen, :root .pager a {
     padding: 5px 0.2em 2px;
}
.pager .active a {
    color: #FFF;
    background: #ee7c05;
}
.pager a:hover {
    text-decoration: underline;
    opacity: 1;
}

/* コンテンツ管理 ---------------------------*/

/* コンテンツ管理登録 --------------------*/
.details_list01 {
    margin: 0 auto 40px;
}
.details_list01 > li {
    border-bottom: 1px solid #CCC;
    padding: 2em 1em;
}
.details_list01 > li:first-of-type {
    padding: 0 1em 2em;
}
.details_list01 > li h4 {
    font-weight: bold;
    margin-bottom: 1.5em;
}
.details_list01 > li h4 + * ,
.details_list01 > li h4 + * + * {
    margin-left: 60px;
}
.details_list01 > li li ,
.details_list01 > li p {
    line-height: 1.4;
}
.details_list01 > li ul.text_list ,
.details_list01 > li .select_set ,
.details_list01 > li .checkbox_set ,
.details_list01 > li p {
    margin-bottom: 1em;
}
.details_list01 > li .select_set {
    width: auto;
}
.details_list01 > li .radio_set .select_set {
    /* pointer-events: none; */
    width: auto;
}
.details_list01 > li .radio_set .active.select_set {
    /* pointer-events:all; */
}
.details_list01 > li .text_list > li{
    margin-bottom: .3em;
    padding-left: .5em;
    text-indent: -.5em;
}
.details_list01 > li ul.text_list.hf {
    display: flex;
    flex-flow: wrap;
}
.details_list01 > li ul.text_list.hf > li{
    width: 50%;
    box-sizing: border-box;
}
/* table03 ---*/
.table03 {
    width: 95%;
    border-collapse:collapse;
    margin: 0 auto;
}
.table03 th ,
.table03 td {
    padding: 1em 0;
    vertical-align: top;
}

.table03 th {
    font-weight: bold;
    text-align: left;
}
.table03 td a {
    text-decoration: underline;
    color: #0070c0;
}
.table03 .w10 {
    width: 20%;
}
.table03 .w90 {
    width: 80%;
}
.table03 tr.bb th ,
.table03 tr.bb td {
    border-bottom: 1px solid #CCC;
    padding-bottom: 2em;
}
.table03 tr.bb + tr th ,
.table03 tr.bb + tr td {
    padding-top: 2em;
}

/* コンテンツボックス --------------------*/
.content_box {
  border: 1px solid #ccc;
}
.content_box:not(:first-of-type) {
  margin-top: 20px;
}
.content_box .content_box_inner {
  padding: 1em 1.5em;
}
.content_box .content_box_inner .text_dot {
  margin-top: -.3em;
  font-size: 1.3rem;
}
.content_box .content_box_inner .text_dot li {
  margin-bottom: .4em;
}
p.text_dot::before, .text_dot li::before {
    content: "\30FB";
}
.content_box .content_box_inner .select_wrap {
  margin-top: -5px;
}
.content_box .content_box_ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .8em;
  background-color: #ededed;
    position: relative;
}
.content_box .content_box_ttl h3 {
  font-size: 1.8rem;
  font-weight: bold;
}
.content_box .error_message {
    border-radius: 0;
    width: 100%;
    margin-bottom: 0;
}

.text_discription_s {
    margin: .5em 0;
    font-size: 1.4rem;
    line-height: 1.4;
}
input + .text_discription_s, textarea + .text_discription_s {
    margin-top: 5px;
    margin-bottom: 0;
}
.ml15 {
    margin-top: .5em;
}
/* 削除ボタン */
.btn_block_close {
    display: inline-block;
    position: relative;
    height: 30px;
    line-height: 30px;
    border-radius: 4px;
    background-color: #e60312;
    white-space: nowrap;
    text-align: center;
    color: #FFF;
    padding: 0 1em 0 2em;
}
.btn_block_close::before ,
.btn_block_close::after {
  content: "";
  position: absolute;
  background: #FFF;
  left: 1em;
  top: 50%;
  width: 2px;
  height: 12px;
  transform: translate(-50%, -50%) rotateZ(45deg);
}
.btn_block_close::after {
  transform: translate(-50%, -50%) rotateZ(-45deg);
}
.btn_block_close:hover {
    text-decoration: none;
    color: #FFF;
}
/* 上下ボタン */
.content_box_ttl .arrow {
    display: block;
    position: absolute;
    top: 50%;
    left: 12em;
    margin-top: -.7em;
    width: 3em;
    height: 1.4em;
    border-radius: 3px;
    border: 1px solid #CCC;
    background: #FFF;
}
.content_box_ttl .arrow:after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1em;
    height: 1em;
    margin:  -.5em 0 0 -.5em;
    color: #999;
}
.content_box_ttl .arrow + .arrow {
    left: 15.3em;
}
.content_box_ttl .arrow.up:after {
    content: "\f062";
}
.content_box_ttl .arrow.down:after {
    content: "\f063";
}
/* パーツコントロール　------------------------ */
.content_box_control {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
  padding: .8em;
  background-color: #d9d9d9;
}
.content_box .content_box_control {
  margin-top: 0;
}
.content_box_control > * + * {
  margin-left: 2em;
}
.content_box_control .caution {
  font-size: 1.2rem;
}
.main .content_box_control .input_m {
  width: 500px;
}
.box_plus a {
    display: inline-flex;
    width: 100%;
    box-sizing: border-box;
    padding: 1em 2em 1em 2.5em;
    align-items: center;
    background: #ededed;
    border: 1px solid #CCC;
    border-radius: 5px;
    min-width: 6em;
    justify-content: center;
    position: relative;
}
.box_plus a::before ,
.box_plus a::after {
  content: "";
  position: absolute;
  background: #999;
  left: 1.5em;
  top: 50%;
  width: 3px;
  height: 14px;
  transform: translate(-50%, -50%) rotateZ(0deg);
}
.box_plus a::after {
  transform: translate(-50%, -50%) rotateZ(90deg);
}
.main .btn_form.content_control_btn > li {
    width: 400px;
    display: block;
    margin: 0 auto;
}
.main .btn_form.content_control_btn > li + li{
    margin-top: 2em;
}
.main .btn_form.content_control_btn > li p {
    margin: 0 auto .8em;
}
.content_control_btn li a {
    width: 300px;
}
@media screen and (max-width:768px) { 
    .main .btn_form.content_control_btn > li ,
    .content_control_btn li a {
        width: 96%;
        margin: 0 auto;
    }
}
.main .btn_form.content_control_btn > li + li{
    margin-top: 2em;
}
.main .btn_form.content_control_btn > li p {
    margin: 0 auto .8em;
}
.content_control_btn li a {
    width: 300px;
}
}
/* --- preview --- */
#preview_panel *, #preview_panel *:before, #preview_panel *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

#preview_panel{
    background:#000;
    color:#fff;
    padding:5px;
    box-sizing: border-box;
}

#preview_panel h1{
    text-align:center;
    color: #FFF;
    font-size: 3.0rem;
    padding: .8em 0;
}

#preview_panel .wrap{
    padding: 0;
    background: none;
    min-height: inherit;
}
#preview_panel .wrap:after{
    content: none;
}

#preview_panel ul{
    display:table;
    width:100%;
}

#preview_panel ul li{
    display:table-cell;
    padding:4px;
    vertical-align:top;
}

#preview_panel ul li.link_url{
    width:70%;
}

#preview_panel ul li.copy_btn{
    width:30%;
}

#preview_panel input{
    border:1px solid #000;
    background-color:#fff;
    padding:3px;
    border-radius:3px;
    width:100%;
    height:40px;
}

#preview_panel button{
    background-color:#e60012;
    padding:3px;
    border-radius:3px;
    width:100%;
    height:40px;
    color:#fff;
    font-weight:bold;
}

#preview_panel .copy_result{
    display:none;
    text-align:center;
    color:yellow;
}
#preview_panel + header {
    background: url("../../common/img/bg_header.png") no-repeat center top;
}

/* エラーメッセージ -------- */
.error_message {
    background: #ffbfbf;
    border-radius: 4px;
    padding: 1em;
    box-sizing: border-box;
    min-width: 70%;
    margin: 0 auto 2em;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .error_message {
        padding: 1em 1em .8em;
    }
}

.error_message p.red {
    color: #F00;
}
/* formパーツ -------- */
.main input.input_s ,
.main input.input_m ,
.main input.input_l ,
.main textarea.input_l {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  outline: none;
    background: #FFF;
    padding: 1em;
    border: 1px solid #CCC;
    border-radius: 3px;
    line-height: 1.2;
    box-sizing: border-box;
    font-size: 1.6rem;
}
.main input.input_s::placeholder ,
.main input.input_m::placeholder ,
.main input.input_l::placeholder ,
.main textarea.input_l::placeholder {
  color: #CCC;
}
/* 編集不可の時 */
.main .disabled input.input_s ,
.main .disabled input.input_m ,
.main .disabled input.input_l ,
.main .disabled input.input_file ,
.main .disabled textarea.input_l {
    background: #ededed;
    color: #999;
    /* pointer-events: none; */
}
.main .select_set.disabled ,
.main .disabled select ,
.main .disabled select option {
    background: #ededed;
    color: #999;
    /* pointer-events: none; */
}
/* radio */
.main .radio_set > li {
    display: inline-block;
}
.main .radio_set.fl > li {
    display: block;
}
.main .radio_set input[type=radio] {
    display: none;
}
.main .radio_set > li > label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .main .radio_set label {
        padding: 10px 30px 5px ;
    }
}
.main .radio_set > li > label::before {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 50%;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.main .radio_set > li > label::after {
    background: #f59700;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 9px;
    margin-top: -4px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 10px;
}
.main .radio_set > li > input[type=radio]:checked + label::after {
    opacity: 1;
}
.main .radio_set .disabled label {
    color: #999;
}
.main .radio_set .disabled label::before {
    background: #ededed;
}
.main .radio_set .disabled label::after {
    background: #ccc;
}
.main .radio_set .disabled input[type=radio] {
    /* pointer-events : none; */
}
.main .radio_set.fl li label + * {
    margin-top: .5em;
    margin-bottom: .5em;
}
.main .radio_set.fl > li label + * ,
.main .radio_set.fl > li label + * + * ,
.main .radio_set.fl > li label + * + * + * ,
.main .radio_set.fl > li label + * + * + * + * {
    margin-left: 50px;
    opacity: .5;
}
.main .radio_set.fl > li.dis_chil label + * ,
.main .radio_set.fl > li.dis_chil label + * + * ,
.main .radio_set.fl > li.dis_chil label + * + * + * ,
.main .radio_set.fl > li.dis_chil label + * + * + * + * {
    opacity: .5;
}
.main .radio_set.fl > li.active label + * ,
.main .radio_set.fl > li.active label + * + * ,
.main .radio_set.fl > li.active label + * + * + * ,
.main .radio_set.fl > li.active label + * + * + * + * {
    opacity: 1;
}
.main .radio_set.fl > li li + li {
    margin-top: .2em;
}

/* checkbox */
.main .checkbox_set li {
    display: inline-block;
    margin-bottom: .5em;
}
.main .checkbox_set label {
    cursor: pointer;
}
.checkbox_set .checkbox-input{
  display: none;
}
.checkbox_set .checkbox-parts{
  padding-left: 23px;
  position:relative;
  margin-right: 20px;
}
.checkbox_set .disabled .checkbox-parts{
  color: #CCC;
}

.checkbox_set .checkbox-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #CCC;
  border-radius: 4px;
  background: #FFF;
}
.checkbox_set .checkbox-input:checked + .checkbox-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #f59700;
  border-right: 3px solid #f59700;
}
.checkbox_set .disabled .checkbox-parts::before{
  background: #ededed;
}

/* select */
.main .select_set {
    overflow: hidden;
    width: 90%;
    text-align: center;
}
.main .select_set select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    font-size: 1.6rem;
}
.main .select_set select::-ms-expand {
    display: none;
}
.main .select_set {
    position: relative;
    border: 1px solid #CCC;
    border-radius: 3px;
    line-height: 1.2;
    background: #FFF;
}
/* .main .select_set::before {
    position: absolute;
    top: 1.3em;
    right: 0.8em;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #ccc;
    pointer-events: none;
} */
.main .select_set select {
    padding: 1em 38px 1em 1em;
    background: url("../../common/img/icon_select_arrow.png") no-repeat right 0.8em top 1.3em;
}
.main .disabled .select_set {
    background: #ededed;
}

.main .disabled .select_set select {
    color: #999;
    /* pointer-events: none; */
    font-size: 1.6rem;
}

/* 生年月日 */
.main .birthday {
    display: flex;
    align-items: center;
}
.main .birthday .select_set {
    width: 20%;
    display: inline-block;
}
.main .birthday .select_set select {
    width: 100%;
}
.main .birthday span {
    margin: 0 .5em
}

/* file */
.main .input_file {
    display: none;
}
.main .input_file + label:before ,
.main .input_file + label:after {
    content: none;
}
.main .file_set {
    display: flex;
}
.main .file_set + span {
    display: block;
    margin-bottom: 1em;
}
.main .fake_text_box.input_l {
    width: 80%;
    margin-right: 1%;
}
.main .file_upload {
    display: flex;
    box-sizing: border-box;
    padding: .5em 1em;
    align-items: center;
    background: #ededed;
    border: 1px solid #CCC;
    border-radius: 5px;
    justify-content: center;
    max-width: 20%;
    width: 100%;
    color: #333;
    text-decoration: none;
}
.main .file_upload + .text_discription_s {
    display: block;
}

/* サイズ */
.main .input_s {
    width: 100px;
}
.main .input_m {
    width: 300px;
}
.main .input_m.w30 {
    width: 30%;
}
.main .input_l {
    width: 100%;
}
.main textarea.input_l.row2 {
    height: 2em;
    box-sizing: content-box;
}

/* ボタン */
.main .btn_form {
    text-align: center;
    margin-top: 50px;
}
.main .btn_form > li {
    display: inline-block;
}
.main .btn_form > li + li {
    margin-left: .5em;
}
.main .btn_form .btn {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    padding: 1em 2em;
    align-items: center;
    color: #FFF;
    background: #999;
    border-radius: 5px;
    min-width: 6em;
    justify-content: center;
}
.main .btn_form .btn.submit {
    background: #f59700;
    min-width: 12em;
    font-weight: bold;
}
.main .btn_form > li.flex {
    display: flex;
}
.main .btn_form > li.flex .select_set {
    width: 100%;
    margin-right: .5em;
}
.main .btn_form > li.flex .select_set + .btn {
    max-width: 180px;
    box-sizing: border-box;
}

/* コンテンツ内エラーページ -------------------------------------------------------------*/
.error_text {
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 13vh 0;
}
/* modal_set -------------------------------------------------------------*/

.modal_set  ,
.erro_box  {
    display: none;
}

.modaal-content-container {
    padding: 30px;
}
.modaal-content-container h2 {
    font-size: 2.2rem;
    font-weight: bold;
    padding-bottom: .8em;
    border-bottom: 1px solid #CCC;
    margin-bottom: 1em;
}
.modaal-content-container h3 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1em;
    display: flex;
    align-items: center;
}
.modaal-content-container h3.center {
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 2em;
}
.modaal-content-container h3 a:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: .5em;
    background: url("../../common/img/icon_arrow.png") no-repeat center center;
    background-size: 100% auto;
}
.modal_link.flex {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 80%;
    margin: 0 auto 1em;
}
.modal_link.flex li {
    width: 30%;
    margin-bottom: .5em;
}
.modal_link.flex li a:before {
    content: "→";
    display: inline-block;
    margin-right: .5em;
}
.modaal-content-container .close {
    cursor: pointer;
    width: 30%;
    max-width: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    background: url("../../common/img/icon_close.png") no-repeat left 1em center #595959;
    padding: 1em 0;
    border-radius: 3px;
    margin: 0 auto;
}


/* gototop ------------------------------------------------------ */
#page_top{
  width: 90px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 65px;
  opacity: 0.6;
  border: 3px solid #ff8c03;
  border-radius: 15px;
    background: rgba(255,255,255,0.7);
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 60px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #ff8c03;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -15px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  color: #ff8c03;
  position: absolute;
  top: 38px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* footer ------------------------------------------------------ */
footer .copyright {
    text-align: center;
    font-size: 1.2rem;
    padding: 2em 0;
    color: #FFF;
    background:-moz-linear-gradient(top, #ffaf2a, #ff8c03); 
    background:-webkit-linear-gradient(top, #ffaf2a, #ff8c03);
    background:-ms-linear-gradient(top, #ffaf2a, #ff8c03);
    min-width: 1000px;
    box-sizing: border-box;
}
footer.login .copyright {
    color: #999;
    background: none;
    padding: 5em 0;
    font-weight: bold;
}


@media screen and (max-width:768px) { 
    body,h1,h2,h3,h4,h5,h6,p,address,ul,ol,li,dl,dt,dd,table,th,td,img,form {
        font-size: 14px;
        font-size: 1.4rem;
    }
        .wrap {
        min-width: auto;
        padding: 0 3vw;
    }

    /* header ----------------------------------------------------------------------*/
    header {
        position:fixed;
        left: 0;
        top: 0;
        z-index: 100;
        padding: 5vw 0;
        min-width: auto;
        background: url("../../common/img/bg_header.png") no-repeat center top #FFF;
    }
    #preview_panel + header {
        top: 88px;
    }
    header .wrap {
        background: none;
        padding: 0 10px;
    }
    .header_top h1 a {
        font-size: 5vw;
    }

    /* 第二階層用header ------------------------------*/
    .second_level header {
        padding:  2.5vw 0 ;
        min-height: 3em;
    }
    .second_level header .wrap {
        padding:  0 10px;
        min-height: inherit;
    }
    .second_level .header_top h1 a {
        font-size: 4vw;
    }
    header h2.sub_tit {
        font-size: 5vw;
        margin-top: .5vw;
        position: relative;
        z-index: 10;
    }
    header h2.sub_tit img {
        width: 5vw;
        height: auto;
    }
    .second_level header .wrap:after {
        top: 12vw;
    }
    header h2.sub_tit .sub_tit_icon {
        font-size: 1.3rem;
    }
    header h2.sub_tit .sub_tit_icon.icon01 {
        background-size: 13px auto;
    }

    /* headerのバージョン違い ------------------------------*/
    header.season02 {
        padding: 5vw 0;
    }
    header.season02 + .main .main_slider .wrap {
        padding-top: 10vw;
    }
    /* 第二階層用headerのバージョン違い ------------------------------
    .second_level header.season02 {
        padding:  2.5vw 0 5vw;
    }*/

    /* pc_menu */
    .header_top .pc_menu {
        display: none;
    }

    /* btn-trigger */
    header .btn-trigger,
    .btn-trigger span {
      display: inline-block;
      transition: all .4s;
      box-sizing: border-box;
    }
    .btn-trigger {
      position: relative;
      width: 10vw;
      height: 8vw;
        cursor: pointer;
    }
    .second_level .btn-trigger {
      top: 2.5vw;
    }
    .btn-trigger span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 4px;
      background-color: #ccc;
      border-radius: 4px;
    }
    .btn-trigger span:nth-of-type(1) {
      top: 0;
    }
    .btn-trigger span:nth-of-type(2) {
      top: 3.6vw;
    }
    .btn-trigger span:nth-of-type(3) {
      bottom: 0;
    }
    .btn-trigger.active span:nth-of-type(1) {
      transform: translateY(3.6vw) rotate(-45deg);
    }
    .btn-trigger.active span:nth-of-type(2) {
      opacity: 0;
    }
    .btn-trigger.active span:nth-of-type(3) {
      transform: translateY(-3.6vw) rotate(45deg);
    }
    
    header .sp_gl {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        box-sizing: border-box;
        width: 100%;
        padding:0 3vw 1em;
        background: #ededed;
        box-shadow: 0px 6px 13px -7px rgba(0,0,0,0.6);
        z-index: 1;
        max-height: calc(100vh - 10vw - 15px);
        overflow: auto;
    }
    .second_level header .sp_gl {
        max-height: calc(100vh - 22vw);
    }
    .sp_gl > * + h3 {
        border-top: 1px solid #CCC;
    }
    .sp_gl > * + h3.user {
        /*display: none;20210416 1か月only*/
    }
  
    .sp_gl .sp_gl_link {
        display: none;
    }

    /* sp_account_name */
    .sp_account_name {
        /* display: none; 20210416 1か月only*/
        display: block;
        padding:1em 1em 1em 3em;
        background:url("../../common/img/icon_account.png") no-repeat left.5em center;
        line-height: 1.4;
    }
    .sp_account_name a {
        display: block;
        text-decoration: underline;
        color: #0070c0;
    }
    /* .sp_gl h3 */
    .sp_gl h3 a ,
    .sp_gl h3 span {
        display: block;
        padding:1em 1em 1em 2.5em;
        background:url("../../common/img/icon_gear.png") no-repeat left.5em center;
        line-height: 1.4;
        position: relative;
    }
    .sp_gl h3.kanri span{
        background:url("../../common/img/icon_gear.png") no-repeat left.5em center;
    }
    .sp_gl h3.user a {
        background:url("../../common/img/icon_user.png") no-repeat left.5em center;
        background-size: 16px auto;
    }
    .sp_gl h3.logout a {
        background:url("../../common/img/icon_logout.png") no-repeat left.5em center;
    }
    /* .sp_gl h4 */
    .sp_gl h4 {
        font-weight: bold;
        margin-left: 2.5em;
        position: relative;
    }
    .sp_gl ul + h4 {
        border-top: 1px solid #CCC;
    }
    .sp_gl h4 a {
        display: block;
        padding: 1em 1em 1em 0;
    }
    .sp_gl h4.contents_btn a:after {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        right: 3vw;
        top: 50%;
        margin-top: -8px;
        background:url("../../common/img/icon_p.png") no-repeat center center;
        background-size: 100% auto;
    }
    .sp_gl h4.contents_btn.active a:after {
        background:url("../../common/img/icon_m.png") no-repeat center center;
        background-size: 100% auto;
    }
     /* .sp_gl .sp_gl_link */
    .sp_gl_link {
        margin-left: 2.5em;
        padding-bottom: 1em;
    }
    .sp_gl_link li + li {
        margin-top: .2em
    }
    .sp_gl_link li a {
        display: block;
        position: relative;
        padding: .5em 0;
    }
    .sp_gl_link li a:after {
        content: ">";
        display: inline-block;
        position: absolute;
        right: 4vw;
        top: 50%;
        margin-top: -.5em;
    }
    
    /* sp_back_link */
    .sp_gl .sp_back_link {
        display: block;
        padding:1em 1em 1em 3em;
        background:url("../../common/img/icon_arrow_o.png") no-repeat left.5em center;
        background-size: 20px auto;
        line-height: 1.4;
        border-top: 1px solid #CCC;
    }

    /* account_name */
    header .account_name {
        display: none;
    }

    /* main ----------------------------------------------------------------*/
    .main {
        padding-top: 15vw;
    }
    .second_level .main {
        padding-top: 20vw;
    }
    #preview_panel + header + .main {
        padding-top: calc(20vw + 88px);
    }
    .main .wrap {
        padding: 10vw 3vw;
    }
    .main .tit01 {
        font-size: 1.8rem;
    }
    .main .tit02 {
        font-size: 1.8rem;
        margin: 0 auto 1em;
    }
    .main .tit03 {
        font-size: 1.6rem;
        margin: 0 auto 1em;
    }


    /* login ----------------------------------------------------------------------*/
    .login .main {
        padding: 0;
    }
    .main .login .wrap {
        padding: 10vh 3vw;
    }
    .main .login .wrap:after {
        width: 25vw;
        height: 16.558vw;
        background-size: 100% auto;
        bottom: 12vw;
        right: 6vw;
    }

    /* header_login */
    .header_login {
        max-width: none;
        width: 100%;
        background: url("../../common/img/bg_dotted.png") no-repeat left center;
        background-size: 10% auto;
    }
    .header_login:after {
        width: 10%;
        background-size: 100% auto;
    }
    .header_login h1 {
         font-size: 7vw;
    }
    .header_login h1 + p {
        font-size: 4vw;
    }

    /* main_login */
    .login .main_login {
        max-width: auto;
        width: 90%;
        padding: 8vh 5vw;
    }
    .login .main_login h2 {
        font-size: 1.8rem;
    }
    /* login season02 -------------------------------*/
    .season02 .main .login .wrap {
         padding: 10vh 3vw;
    }
    .season02 .main .login .wrap:after {
        width: 50vw;
        height: 13.623vw;
        background-size: 100% auto;
        bottom: 9vh;
        right: 8vw;
    }

    /* 総合トップページ ------------------------------------------------------------------ */
    /* メインスライダー ------------*/
    .main .main_slider .wrap {
        padding: 10vw 3vw 5vw;
    }
    .main .swiper-slide {
        min-height: auto;
        height: 33.5vw;
    }
    .main .slide01 .tit {
        font-size: 3vw;
        left: 10vw;
        top: 8vw;
        letter-spacing: .2em;
        line-height: 1.2;
    }
    .main .slide01 .text {
        font-size: 2vw;
        left: 10vw;
        top: 20vw;
    }
    .swiper-button-prev, .swiper-button-next {
        width: 3vw;
        height: 4.888vw;
        margin-top: -2.444vw;
        background-size: 3vw 4.888vw;
    }
    .swiper-pagination {
        position: relative;
        margin: 10px auto 0;
    }
    .swiper-pagination .swiper-pagination-bullet {
        margin: 0 4px;
    }
    .swiper-pagination-bullet-active {
        background-color: #f59700;
    }

    /* お知らせ ------------*/
    .main .info {
        min-width: auto;
    }
    .main .info ul {
        height: 50vw;
        padding: 4vw 3vw 0;
    }
    .main .info li {
        flex-wrap: wrap;
        margin-bottom: 0;
    }
    .main .info li +li {
        border-top: 1px dashed #CCC;
        padding-top: 1em;
    }
    .main .info li a {
        display: block;
        width: 100%;
        margin: 5px 0 0 0;
    }
    .main .info .date {
        font-size: 1.2rem;
        margin-right: 1em;
    }
    .main .info .cate {
        margin: -.4em 0 0 0;
        padding: .2em 1em;
        font-size: 1.2rem;
        width: auto;
        min-width: auto;
    }

    /* group_link ------------*/
    .main .group_link ul {
        width: 100%;
    }
    .main .group_link li ,
    .main .group_link li:nth-child(3n) {
        margin-right: 0;
        width: 48%;
    }
    .main .group_link li:nth-child(odd) {
        margin-right: 4%;
    }
    .main .group_link li a {
        font-size: 2.051vw;
    }
    .main .group_link li a:before {
        content: "";
        width: 40%;
        height: 100%;
        margin-right: 1.5em;
    }

    /* bannar ------------*/
    .main .bannar {
        min-width: auto;
    }
    .main .bannar ul {
        width: 100%;
        flex-wrap: wrap;
    }
    .main .bannar li {
        width: 49%;
        margin-bottom: 3%;
    }
    .main .bannar li:nth-child(even) {
        margin-right: auto;
        margin-left: 1%;
    }

    /* 第二階層 ------------------------------------------------------------------ */
    
    /* カスタムページ -------------------------------- */
    .main .custom_area .wrap {
        padding: 3vw;
    }
    /* タイトル画像　------------------ */
    .custom_area .main_img {
      margin: 0 auto 2em;
    }
    /* 2段グラフィック　------------------ */
    .custom_area .sub_img {
      margin: 0 auto 2em;
        flex-flow: column;
    }
    .custom_area .sub_img .img {
      margin-right: 0;
        margin-bottom: 1em;
    }
    .custom_area .sub_img .text {
        font-size: 1.6rem;
        margin-bottom: 0;
    }
    .custom_area .sub_img .text strong {
        font-size: 2.0rem;
    }
    /* 周知用囲みパーツ　------------------ */
    .custom_area .line_box_sub {
        padding: 5vw;
    }
    /* サブカテゴリタイトル　------------------ */
    .custom_area .sub_tit {
        font-size: 1.8rem;
        margin: 10vw auto 1em;
    }
    /* リンクボタン　------------------ */
    .custom_area .link_btn {
        flex-wrap: nowrap;
        flex-flow: column;
    }
    .custom_area .link_btn a ,
    .custom_area .link_btn li > span {
        padding: 1em 2em;
    }
    .custom_area .link_btn.col2 li ,
    .custom_area .link_btn.col3 li {
        width: 100%;
        margin: 0 0 1em;
    }
    .custom_area .link_btn.col2 li:nth-child(even) ,
    .custom_area .link_btn.col2 li:nth-child(n + 3) ,
    .custom_area .link_btn.col3 li:nth-child(3n + 1),
    .custom_area .link_btn.col3 li:nth-child(n + 4) {
        margin: 0 0 1em;
    }
    /* 各カテゴリトップレイアウト　--------------------------------- */
    .custom_area .cate_top.cate_txt p ,
    .custom_area .cate_top.cate_sub_txt {
        font-size: 1.8rem;
    }
    .custom_area .cate_top.link_btn.tag a ,
    .custom_area .cate_top.link_btn.tag span {
        font-size: 1.6rem;
    }
    /* 見出し用アイコン */
    .custom_area h3.cate_top.icon01 ,
    .custom_area h3.cate_top.icon02 ,
    .custom_area h3.cate_top.icon03 ,
    .custom_area h3.cate_top.icon04 ,
    .custom_area h3.cate_top.icon05 ,
    .custom_area h3.cate_top.icon06 ,
    .custom_area h3.cate_top.icon07 ,
    .custom_area h3.cate_top.icon08 ,
    .custom_area h3.cate_top.icon09 ,
    .custom_area h3.cate_top.icon10 ,
    .custom_area h3.cate_top.icon11 ,
    .custom_area h3.cate_top.icon12 ,
    .custom_area h3.cate_top.icon13 ,
    .custom_area h3.cate_top.icon14 ,
    .custom_area h3.cate_top.icon15 ,
    .custom_area h3.cate_top.icon16 ,
    .custom_area h3.cate_top.icon17 ,
    .custom_area h3.cate_top.icon18 ,
    .custom_area h3.cate_top.icon19 ,
    .custom_area h3.cate_top.icon20 {
        font-size: 6vw;
        padding-left: 55px;
        background-size: 44px auto;
    }
    .custom_area .midashi.long h3.cate_top {
        font-size: 4.8vw;
    }

    /* バナー　------------------ */
    .custom_area .bannar_set li {
        width: 49%;
        margin-right: 1%;
        margin-bottom: .5em;
    }
    .custom_area .bannar_set li:nth-child(n + 5) {
        margin-top: 0;
    }
    .custom_area .bannar_set li:nth-child(even) {
        margin: 0 0 0 1%;
    }

    /* パンくず ------------------------------- */
    .main .breadcrumb .wrap {
        padding: 8vw 3vw 0;
    }
    .main .breadcrumb + section .wrap {
        padding: 5vw 3vw;
    }
    
    /* ユーザ管理 ---------------------------*/
    .user_main .wrap {
        padding: 0 3vw 10vw;
    }
    .internal_link a {
        padding: .5em 1em .5em 1em;
    }
    .internal_link a:before {
        left: -2em;
        border-left: 2em solid transparent;
        border-top: 2em  solid #ccc;
    }
    /* メッセージ */
    .main .user_details .mess01 {
        width: 100%;
        margin: 0 auto 3em;
        padding: 3em 0;
        box-sizing: border-box;
        font-size: 120%;
    }
    /* table01 */
    .main .user_details table.table01 {
        min-width: auto;
        width: 100%;
    }
    .main .user_details table.table01 th ,
    .main .user_details table.table01 td {
        padding: 3.5vw 3vw;
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    .main .user_details table.table01 th {
        border: none;
    }
    .main .user_details table.table01 td {
        padding: 0 3vw 3.5vw;
        text-align: center;
    }
    .main table.table01 .pass_re  {
        display: block;
        margin: .5em 0 0 0;
    }
    
    /* search_area ---*/
    .search_area {
        padding: 5vw 1.8em;
        width: 100%;
    }
    .search_area dl.hf {
        width: 100%;
    }
    .search_area dl .checkbox_set li {
        display: inline-block;
        margin-bottom: 1em;
    }
    .search_area dt span.info {
        padding-left: 0;
        display: block;
        margin-top: 1em;
    }
    /* table02 ---*/
    .user_table {
        width: 100%;
    }
    .table02 {
        width: 300%;
        max-width: 1200px
    }
    .table02 ,
    .table02 th ,
    .table02 td {
        border: 1px solid #CCC;
    }
    .table02 th ,
    .table02 td {
        vertical-align: middle;
        padding: 8px .5em;
        font-size: 1.2rem;
    }
    .table02 th {
        background: #444;
        color: #FFF;
        text-align: center;
    }
    .table02 .td {
        text-align: left;
    }
    .table02 .gray td {
        background: #EFEFEF;
    }
    .table02 td a {
        color: #ee7c05;
        text-decoration: underline;
    }


    /* エラーメッセージ -------- */
    .error_message {
        padding: 3vw;
        min-width: auto;
        margin: 0 auto 1em;
    }
    /* formパーツ -------- */
    .main input.input_s ,
    .main input.input_m ,
    .main input.input_l ,
    .main textarea.input_l {
        font-size: 1.4rem;
    }
    /* radio */
    .main .radio_set {
        text-align: left;
    }
    .main .radio_set > li {
        display: block;
        margin-bottom: .5em;
    }
    .main .select_set {
        width: 100%;
    }
    .main .select_set select {
        font-size: 1.4rem;
    }
    .main .disabled .select_set select {
        font-size: 1.4rem;
    }

    /* 生年月日 */
    .main .birthday .select_set:first-child {
        width: 30%;
    }

    /* サイズ */
    .main .input_s {
        width: 18vw;
    }
    .main .input_m {
        width: 100%;
    }

    /* ボタン */
    .main .btn_form {
        margin-top: 10vw;
        display: flex;
        flex-flow: column;
    }
    .main .btn_form > li + li {
        margin: 1em 0 0;
    }
    .btn_area ul.lines2 > li + li{
        margin-top: 20px;
    }
    /* コンテンツ管理 */
    .details_list01 > li h4 + * ,
    .details_list01 > li h4 + * + * {
        margin-left: 0;
    }

    
    /* footer ------------------------------------------------------------------------- */
    footer .copyright {
        font-size: 1.1rem;
        min-width: auto;
        margin-top: 70px;
    }
    footer.login .copyright {
        margin-top: 0;
    }

}



/*-- academy --*/
.search_area_acdm{
    border: 3px solid #CCC;
    border-radius: 20px;
    padding: 2em 60px;
    box-sizing: border-box;
    background: url("../../common/img/bg_search.gif");
    display: flex;
    flex-wrap: wrap;
    justify-content: unset;
    position: relative;
}

.search_area_acdm dt {
    font-weight: bold;
    margin-bottom: 0.8em;
}
.search_area_acdm dd {
    margin-bottom: 1.2em;
}
.main .search_area_acdm .btn_form {
    margin: 1em auto 0;
    width: 100%;
}
.main .search_area_acdm .btn_form li {
    width: 100%;
}
.search_area_acdm dl{
    width: 100%;
}
.search_area_acdm dl.hf {
    width: 48%;
}
.search_area_acdm dl.ht {
    width: 31.1%;
    margin-right: 3.3%;
}
.search_area_acdm dl.ht:nth-child(3n+4){
    margin-right: 0;
}
.main .search_area_acdm input.input_s,
.main .search_area_acdm input.input_m,
.main .search_area_acdm input.input_l,
.main .search_area_acdm textarea.input_l {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    outline: none;
    background: #FFF;
    padding: 0.75em;
    border: 1px solid #CCC;
    border-radius: 3px;
    line-height: 1.2;
    box-sizing: border-box;
    font-size: 1.2rem;
}
.main .search_area_acdm .select_set select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    font-size: 1.2rem;
    padding: 0.75em 38px 0.75em 0.75em;
    background: url("../../common/img/icon_select_arrow.png") no-repeat right 0.8em top 1.3em;
}
.main .search_area_acdm .btn_form .btn {
    margin: 0 auto;
    max-width: 260px;
}
.main .btn_area_acdm .btn_form{
    text-align: center;
    margin-top: 50px;
    position: relative;
    justify-content: center;
}
.main .btn_area_acdm .btn_form .btn.submit{
    min-width: 260px;
    background: #f59700;
    min-width: 260px;
    font-weight: bold;
}
.main .btn_area_acdm .btn_form > li.form_r{
    position: absolute;
    right: 0;
}

.control_bottom{
    background: rgba(0,0,0,0.6);
    padding: 30px 50px;
    position: fixed;
    bottom: 0;
    width: 100%;
}
.control_bottom .btn_form {
    text-align: center;
    margin-bottom: 0;
    justify-content: center;
}
.control_bottom .btn_form > li {
    display: inline-block;
    background: #FFF;
    border-radius: 5px;
    margin-right: 2em;
}
.control_bottom .btn_form > li:last-child{
    margin-right: 0;
}
.control_bottom .btn_form .btn {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    padding: 1em 2em;
    align-items: center;
    color: #FFF;
    background: #999;
    border-radius: 5px;
    min-width: 6em;
    justify-content: center;
}
.control_bottom .btn_form .btn.submit {
    background: #f59700;
    min-width: 12em;
    font-weight: bold;
}

ul.form_attention{
    list-style-type: disc;
    padding-left: 1.5em;
}
ul.form_attention li {
    list-style-type: disc;
    line-height: 1.6;
    margin-bottom: 10px;
}
.red_txt{
    color: red;
}
table.academy_table{
    margin-bottom: 60px !important;
}
table.academy_table th,
table.academy_table td{
    line-height: 1.5;
}
table.academy_table td input.input_name{
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    outline: none;
    background: #FFF;
    padding: 1em;
    border: 1px solid #CCC;
    border-radius: 3px;
    line-height: 1.2;
    box-sizing: border-box;
    font-size: 1.6rem;
    width: 300px;
}
table.academy_table td input.input_name + input.input_name{
    margin-left: 1em;
}
.academy_message{
    width: 100%;
}
.academy_message p.red{
    line-height: 1.5;
}
.mb_100{
    margin-bottom: 100px !important;
}
.mb_20{
    margin-bottom: 20px !important;
}
.mb_5{
    margin-bottom: 5px !important;
}
.consent_area{
    width: 100%;
    height: 200px;
    overflow-y: scroll;
    border: 1px solid #CCC;
    border-radius: 3px;
    padding: 5px;
}
.consent_area .policy_01{
    margin-bottom: 0.5em;
}
.consent_area .policy_02{
    padding-left: 30px;
    margin-bottom: 1em;
}
.consent_area .policy_ol_01{
    padding-left: 30px;
    margin-bottom: 1em;
}
.consent_area .policy_ol_01 li{
    position: relative;
    padding-left: 2.5em;
    line-height: 1.5;
}
.consent_area .policy_ol_01 li span{
    position: absolute;
    left: 0;
    top: 0;
}
.consent_area .policy_ol_02{
    padding-left: 60px;
    margin-bottom: 1em;
}
.consent_area .policy_ol_02 li{
    position: relative;
    padding-left: 2.5em;
    line-height: 1.5;
}
.consent_area .policy_ol_02 li span{
    position: absolute;
    left: 0;
    top: 0;
}
.main .btn_form input#submit{
    border: none;
    font-size: 15px;
    cursor: pointer;
}
.main .btn_form input#submit[disabled]{
    background: #999 !important;
    cursor: none;
}
.user_details .tit02{
    margin: unset;
    margin-bottom: 20px;
}

ul.row2{

}
ul.row2 li{
    display: block !important;
    margin-bottom: 0.5em;
}
ul.row2 li:last-child{
    margin-bottom: 0;
}
ul.row2 li .supp{
    padding-left: 2em;
}
ul.row2 li p{
    padding: 0.5em 0;
}
.scroll_xy{
    display: block;
    max-height: 500px;
    overflow-x: scroll;
    overflow-y: scroll;
/*    white-space: nowrap; */
    -webkit-overflow-scrolling: touch;
}

.course_entry_temporary_list{
    width: 100%;
}

.course_entry_temporary_list th,
.course_entry_temporary_list td{
    border-bottom: 1px dashed #999;
    padding: 0.5em;
}

.mgt-1{margin-top:1em!important;}
.mgt-2{margin-top:2em!important;}
.mgt-3{margin-top:3em!important;}
.mgt-4{margin-top:4em!important;}
.mgt-5{margin-top:5em!important;}

body > .contents_acdm {
    width: 100%;
    margin:  auto;
    box-sizing: border-box;
    /*background: url("../../common/img/bg_header.png") no-repeat center top;*/
}
.contents_acdm header .wrap{
    background: url("../../common/img/logo_ae.png") no-repeat top left 30px;
    background-size: 230px auto;
}
.main .tit02_acdm {
    text-align: left;
    color: #FFF;
    font-size: 2.4rem;
    font-weight: bold;
    background: #CCC;
    padding: .8em 1em;
    border-radius: 5px;
    margin: 0 auto 20px;
}
.user_details .tit02_acdm {
    margin: unset;
    margin-bottom: 20px;
}
.main .btn_area_acdm .academy_btn2 {
    text-align: center;
    margin-top: 50px;
    position: relative;
    justify-content: center;
    text-align: left;
}
.main .btn_area_acdm .academy_btn2 .academy_btn2_r{
    display: inline-flex;
    position: absolute;
    right: 0;
}
.main .btn_area_acdm .academy_btn2 .academy_btn2_r li{
    margin-left: 10px;
}
.main .btn_area_acdm .academy_btn3 {
    margin-top: 20px;
    position: relative;
    text-align: right;
}
table.academy_table td span.l_space{
    margin-left: 10px;
}
table.academy_table td span.t_space{
    display: inline-block;
    margin-top: 5px;
}

.table04 {
    width: 100%;
    border-collapse:collapse;
}
.table04 ,
.table04 th ,
.table04 td {
    border: 1px solid #CCC;
}
.table04 th ,
.table04 td {
    vertical-align: middle;
    padding: 8px .5em;
    font-size: 1.4rem;
}
.table04 th {
    background: #444;
    color: #FFF;
    text-align: center;
}
.table04 td {
    text-align: left;
    text-align: center;
}
.table04 .gray td {
    background: #EFEFEF;
}
.table04 td a {
    color: #ee7c05;
    text-decoration: underline;
}
h3.ttl_acdm_ad{
    font-size: 2.0rem;
    text-align: left;
    font-weight: bold;
    margin: 0 auto 1em;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 2px solid #f59700;
    padding: 1em 0.5em 0.8em;
}
.main .user_details table.no_line tr:last-child td,
.main .user_details table.no_line tr:last-child th{
    border-bottom: none !important;
}
.vt_top{
    vertical-align: top;
}
.file_wrapper{
    border: 1px solid #CCC;
    border-radius: 5px;
    padding: 30px 20px;
    margin-bottom: 20px;
}
.vt_top .btn_form{
    margin-top: 0;
}
.vt_top .btn_form > li{
    display: block;
}
.main .btn_form .btn.submit_gray {
    background: #999;
    color: #FFF;
    min-width: 12em;
    font-weight: bold;
    pointer-events: none;
}

.academy_table .upload {
    display: flex;
    align-items: stretch;
    justify-content: unset;
}
.academy_table .upload_file {
  display: flex;
   align-items: stretch;
}

.academy_table .upload_file label {
  display: flex;
    align-items: center;
  padding: 1em 15px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 5px;
  box-sizing: border-box;
  cursor:pointer;
  line-height: 1.2;
}
.academy_table .upload_file label > input{
    display:none;
}
.academy_table .upload_file + .upload_text {
  width: 40%;
    margin: 0 3% 0 .5em;
    display: flex;
    align-items: stretch;
}
.academy_table .upload_file + .upload_text input{
    padding: 5px 15px;
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #dedede;
    border-radius: 3px;
}


@media screen and (max-width: 768px) {
    .search_area_acdm {
        padding: 5vw 1.8em;
        width: 100%;
    }
    .search_area_acdm dl.hf {
        width: 100%;
    }
    .search_area_acdm dl.ht {
        width: 100%;
        margin-right: 0;
    }
    .main .btn_area_acdm .btn_form > li.form_r{
        position: relative;
        right: unset;
    }
    table.academy_table td input.input_name + input.input_name {
        margin-left: 0;
    }
    .control_bottom{
        padding: 10px 0;
    }
    .control_bottom .btn_form{
        display: block;
    }
    .control_bottom .btn_form > li{
        margin-right: 0;
        display: inline-block;
        width: 19%;

    }
    .control_bottom .btn_form > li:first-child{
        width: 56%;
    }

    .control_bottom .btn_form .btn.submit{
        min-width: auto;
        display: inline-block;
    }
    .control_bottom .btn_form .btn{
        padding: 1em 0.5em;
    }
    .consent_area{
        text-align: left;
    }
    .mb_100{
        margin-bottom: 50px !important;
    }
    .main_header_area .sp_mark_none a:before{
        content: none;
    }
    .main input.mb_5{
        margin-bottom: 5px;
    }

    .course_entry_temporary_list {
      width: max-content;
    }
    .contents_acdm header {
        background: #FFF;
    }
    .contents_acdm header .wrap {
        background: url("../../common/img/logo_ae.png") no-repeat top left 10px;
        background-size: 140px auto;
    }
    .main .tit02_acdm {
        font-size: 1.8rem;
        margin: 0 0 1em;
    }
    .contents_acdm .main .user_details .mess01 {
        padding: 3em 1em;
        line-height: 1.5;
        
    }
    .main .btn_area_acdm .academy_btn2 li{
        margin-bottom: 10px;
    }
    .main .btn_area_acdm .academy_btn2 .academy_btn2_r{
        display: block;
        position: relative;
    }
    .main .btn_area_acdm .academy_btn2 .academy_btn2_r li {
        margin-left: 0;
    }
    .main .btn_area_acdm .academy_btn3 li{
        margin: 0 0 10px;
    }
    h3.ttl_acdm_ad{
        font-size: 120%;
    }
    .main .user_details table.no_line tr:last-child td,
    .main .user_details table.no_line tr:last-child th {
        padding-top: 0.5em;
    }
    .academy_table .upload{
        display: block;
    }
    .academy_table .upload_file{
        justify-content: center;
        margin-bottom: 5px;
    }
    .academy_table .upload_file + .upload_text {
      width: 100%;
      margin: 0;
      display: block;
      align-items: flex-end;
    }
    .academy_table .upload_file + .upload_text input{
        padding: 1em;
        line-height: 1.2;
    }
    
    


}