@charset "utf-8";

*{ box-sizing:border-box; }

button,label{ cursor:pointer; }

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

/* レスポンシブ
----------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
    .pc-only{ display: none !important; /* PCのみ表示 */ }
}
@media screen and (min-width: 769px) {
    .sp-only{ display: none !important; /* SPのみ表示 */ }
}

/* 分類：レイアウト
----------------------------------------------------------------------------- */
/* インナーレイアウト */
.inner{
    width:100%;
    max-width:1140px;
    margin:0 auto;
    padding: 0 50px;
}
@media screen and (max-width:768px){
    .inner{
        width:100%;
        padding: 0 20px;
    }
}

/* 分類：インプット系
----------------------------------------------------------------------------- */
input[type="text"],
input[type="date"],
input[type="time"],
input[type="password"],
input[type="number"],
select,
textarea{
    font-family:inherit;
    border:1px solid #ccc;
    border-radius:3px;
    padding:10px;
    font-size:16px;
}

select{
    cursor:pointer;
    padding-right:30px !important;
    background-repeat:no-repeat;
    background-size:10px 5px;
    background-position:right 10px center;
}
input[type="text"]{
    width:100%;
}
textarea{
    width:100%;
    min-height:100px;
    resize:vertical;
}
@media screen and (max-width: 1100px) {
    input[type="text"],
    input[type="date"],
    input[type="time"],
    input[type="password"],
    input[type="number"],
    select,
    textarea{
        padding:5px;
    }
}

/* 分類：モジュール
----------------------------------------------------------------------------- */
.w5{ width:5% !important; }
.w10{ width:10% !important; }
.w15{ width:15% !important; }
.w20{ width:20% !important; }
.w25{ width:25% !important; }
.w30{ width:30% !important; }
.w35{ width:35% !important; }
.w40{ width:40% !important; }
.w45{ width:45% !important; }
.w50{ width:50% !important; }
.w55{ width:55% !important; }
.w60{ width:60% !important; }
.w65{ width:65% !important; }
.w70{ width:70% !important; }
.w75{ width:75% !important; }
.w80{ width:80% !important; }
.w85{ width:85% !important; }
.w90{ width:90% !important; }
.w95{ width:95% !important; }
.w100{ width:100% !important; }

.mb0{ margin-bottom: 0 !important; }
.mb10{ margin-bottom: 10px !important; }
.mb15{ margin-bottom: 15px !important; }
.mb30{ margin-bottom: 30px !important; }
.mb50{ margin-bottom: 50px !important; }
.mb80{ margin-bottom: 80px !important; }

.tac{ text-align: center !important; }
.tal{ text-align: left !important; }
.tar{ text-align: right !important; }

/* clearfix
----------------------------------------------------------------------------- */
.clearfix {
  zoom: 1; }

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

/* 分類：見出し
----------------------------------------------------------------------------- */
/* 大見出し */
.ttl-L{
    font-size:30px;
    font-weight: bold;
    border-left: 6px solid #233479;
    margin-bottom: 30px;
    padding: 5px 20px;
}

@media screen and (max-width:768px){
    .ttl-L{
        font-size:20px;
        border-left: 5px solid #233479;
        padding: 0 15px;
    }
}

/* 中見出し */
.ttl-M,
.article h1{
    font-size: 25px;
    font-weight: bold;
    color: #233479;
    margin-bottom: 30px;
}
@media screen and (max-width:768px){
    .ttl-M,
    .article h1{
        font-size: 18px;
    }
}

/* 小見出し */
.ttl-S,
.article h2{
    font-size: 23px;
    font-weight: bold;
    color: #0168B7;
    margin-bottom: 30px;
}

@media screen and (max-width:768px){
    .ttl-S,
    .article h2{
        font-size: 18px;
    }
}


/* 小見出し */
.ttl-SS,
.article h3{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}

@media screen and (max-width:768px){
    .ttl-SS,
    .article h3{
        font-size: 16px;
    }
}

/* 分類：ボタン
----------------------------------------------------------------------------- */
/* btn-prev,btn-next */
.btn-prev,.btn-next{
    color: #fff;
    background-color: #233479;
    display: inline-block;
    min-width: 250px;
    height: 60px;
    line-height: 60px;
    font-size: 20px;
    text-align: center;
    border:none;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-size: 37px 37px;
    text-decoration: none;
    padding: 0 20px;
}
.btn-prev{
    background-image: url("/common/images/btn_prev.png");
    background-position: center left 20px;
    padding-left: 50px;
}
.btn-next{
    background-image: url("/common/images/btn_next.png");
    background-position: center right 20px;
    padding-right: 50px;
}

@media screen and (max-width:768px){
    .btn-prev,.btn-next{
        min-width: 150px;
        height: 50px;
        line-height: 50px;
        font-size: 16px;
        background-size: 25px 25px;
        text-decoration: none;
        padding: 0 10px;
    }
    .btn-prev{
        background-position: center left 10px;
        padding-left: 40px;
    }
    .btn-next{
        background-position: center right 10px;
        padding-right: 40px;
    }
}

/* 送信ボタン */
.btn-submit{
    cursor: pointer;
    display: inline-block;
    background-color: #233479;
    color: #fff;
    text-align: center;
    background-image: url("/common/images/btn_next.png");
    background-repeat: no-repeat;
    background-size: 37px 37px;
    background-position: center right 20px;
    margin: 0 auto;
    width: 300px;
    height: 60px;
    line-height: 60px;
    padding-right: 40px;
    border-radius: 10px;
    font-size: 20px;
    font-weight: bold;
    border: none;
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.btn-submit:hover{
    background-color: #0168B7;
    background-position: center right 15px;
}
@media screen and (max-width:768px){
    .btn-submit{
        background-size: 25px 25px;
        background-position: center right 10px;
        width: 100%;
        height: 50px;
        line-height: 50px;
        padding-right: 30px;
        font-size: 16px;
    }
    .btn-submit:hover{
        background-color: #0168B7;
        background-position: center right 15px;
    }
}

/* 戻るボタン */
.btn-back{
    cursor: pointer;
    display: inline-block;
    background-color: #BEC6CC;
    color: #666;
    text-align: center;
    background-image: url("/common/images/btn_prev.png");
    background-repeat: no-repeat;
    background-size: 37px 37px;
    background-position: center left 20px;
    margin: 0 auto;
    width: 300px;
    height: 60px;
    padding-left: 40px;
    border-radius: 10px;
    font-size: 20px;
    font-weight: bold;
    border: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.btn-back:hover{
    background-color: #e6eaec;
    background-position: center left 15px;
}
@media screen and (max-width:768px){
    
}

/* PDFボタン */
.btn-pdf{
    display: inline-block;
    min-width:250px;
    background-image: url("/common/images/download_arr.png");
    background-repeat: no-repeat;
    background-size: 36px 36px;
    background-position: right 15px center;
    border:5px solid #C22D26;
    border-radius: 10px;
    text-decoration: none;
    padding: 7px 65px 6px 10px;
    font-weight: bold;
}
.btn-pdf::before{
    content: "";
    width:46px;
    height: 50px;
    display: inline-block;
    vertical-align: middle;
    background-image: url("/common/images/download_icn.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    margin-right: 10px;
}
.btn-pdf:hover{
    background-position: right 10px center;
}
@media screen and (max-width:768px){
    .btn-pdf{
        position: relative;
        padding: 15px 65px 15px 70px;
        text-align: left;
    }
    .btn-pdf::before{
        position: absolute;
        top:calc(50% - 25px);
        left:10px;
    }
}

/* 分類：リスト
----------------------------------------------------------------------------- */
/* リンクリスト */
.list-link{
    
}
.list-link ul li{
    font-size: 18px;
    margin-bottom: 10px;
}
.list-link ul li::before{
    display: inline-block;
    vertical-align: middle;
    width:6px;
    height: 12px;
    background-image: url("/common/images/link_arr.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    content: "";
    margin-right: 10px;
}
.list-link ul li a{
    text-decoration: none;
}
.list-link ul li a:hover{
    text-decoration: underline;
}

@media screen and (max-width:768px){
    .list-link ul li{
        font-size: 15px;
    }
}

/* 2カラムリスト */
.list-2col ul{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.list-2col ul li{
    width: calc( (100% - 50px) / 2 );
    margin-right: 50px;
    margin-bottom: 50px;
}
.list-2col ul li:nth-child(2n){
    margin-right: 0;
}

@media screen and (max-width:768px){
     .list-2col ul{
        display: block;
    }
    .list-2col ul li{
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px;
    }
    .list-2col ul li:nth-child(2n){
        margin-right: 0;
    }
}

/* 3カラムリスト */
.list-3col ul{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.list-3col ul li{
    width: calc( (100% - 60px) / 3 );
    margin-right: 30px;
    margin-bottom: 30px;
}
.list-3col ul li:nth-child(3n){
    margin-right: 0;
}

@media screen and (max-width:768px){
     .list-3col ul{
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .list-3col ul li{
        width: calc( (100% - 15px) / 2 );
        margin-right: 15px;
        margin-bottom: 20px;
    }
    .list-3col ul li:nth-child(3n){
        margin-right: 15px;
    }
    .list-3col ul li:nth-child(2n){
        margin-right: 0;
    }
}

/* 4カラムリスト */
.list-4col ul{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.list-4col ul li{
    width: calc( (100% - 60px) / 4 );
    margin-right: 20px;
    margin-bottom: 30px;
}
.list-4col ul li:nth-child(4n){
    margin-right: 0;
}

@media screen and (max-width:768px){
     .list-4col ul{
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .list-4col ul li{
        width: calc( (100% - 15px) / 2 );
        margin-right: 15px;
        margin-bottom: 20px;
    }
    .list-4col ul li:nth-child(2n){
        margin-right: 0;
    }
}

/* 分類：記事詳細
----------------------------------------------------------------------------- */
.article p{
    margin-bottom: 30px;
}
.article strong{
    font-weight: bold;
}
.article em{
    font-style: italic;
}

@media screen and (max-width:768px){
    
    
    
}


/* 分類：テーブル
----------------------------------------------------------------------------- */

.tbl-normal table{
    width: 100%;
    border: 1px solid #CAD1DB;
    font-size:16px;
    background-color: #fff;
}
.tbl-normal table thead th{
    color: #fff;
    background-color: #233479;
    text-align: center;
    font-weight: bold;
    border-bottom: 1px solid #CAD1DB;
    padding: 20px;
}
.tbl-normal table tbody th{
    background-color: #EDF1F4;
    border-bottom: 1px solid #CAD1DB;
    text-align: left;
    font-weight: bold;
    padding: 20px;
    vertical-align: top;
}
.tbl-normal table tbody td{
    padding: 20px;
    vertical-align: top;
    border-bottom: 1px solid #CAD1DB;
    position: relative;
}

/* 必須ラベル */
.required{
    display: inline-block;
    background-color: #C22D26;
    color: #fff;
    margin: 0 10px;
    padding: 5px 10px;
    font-size:13px;
    border-radius: 3px;
}

/* 分類：スクロールヒント
----------------------------------------------------------------------------- */
.scroll-hint img{
    max-width: 9999px;
}
.scroll-hint-icon{
    top:100px;
}




/* 分類：スライダー
----------------------------------------------------------------------------- */
/* カルーセル形式 */
.slider-normal{
    margin-bottom:30px;
}
.slider-normal li{
    padding:0 15px 30px;
}
.slider-normal li a{
    display:block;
    box-shadow: 0px 2px 6.72px 0.28px rgba(204, 204, 204, 0.8);
    background-color: #fff;
    text-decoration:none;
}

.slider-normal li a .slider-normal-img{
    position:relative;
    margin-bottom:0;
    height:200px;
    overflow:hidden;
}

.slider-normal li a .slider-normal-img img{
    width:100%;
    height:auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.slider-normal li a .slider-normal-img .tag-green,
.slider-normal li a .slider-normal-img .tag-orange,
.slider-normal li a .slider-normal-img .tag-pink,
.slider-normal li a .slider-normal-img .tag-blue,
.slider-normal li a .slider-normal-img .tag-purple{
    position:absolute;
    left:-10px;
    bottom:0;
    z-index:7777;
}

.slider-normal li a .slider-normal-txt{
    padding:15px;
    margin-bottom:0;
}
@media screen and (max-width:768px){
    .slider-normal{
        margin-bottom:20px;
    }
    .slider-normal li{
        padding:0 5px 5px;
    }

    .slider-normal li a .slider-normal-img{
        position:relative;
        margin-bottom:0;
        height:160px;
    }
    .slider-normal li a .slider-normal-img .tag-green,
    .slider-normal li a .slider-normal-img .tag-orange,
    .slider-normal li a .slider-normal-img .tag-pink,
    .slider-normal li a .slider-normal-img .tag-blue,
    .slider-normal li a .slider-normal-img .tag-purple{
        left:-5px;
    }
    .slider-normal li a .slider-normal-txt{
        padding:10px;
    }
}

/* カルーセル形式：コントローラー */
.slider-normal .slick-prev,
.slider-normal .slick-next{
    position:absolute;
    top:calc( 50% - 70px);
    width:40px;
    height:40px;
    font-size:0;
    border:none;
    background-size:100% auto;
    z-index:8888;
}
.slider-normal .slick-prev{
    left:-50px;
    background-image:url("/common/images/slider_prev.png");
}
.slider-normal .slick-next{
    right:-50px;
    background-image:url("/common/images/slider_next.png");
}
.slider-normal .slick-dots{
    text-align:center;
}
.slider-normal .slick-dots li{
    display:inline-block;
}
.slider-normal .slick-dots li button{
    color:rgba(0,0,0,0);
    width:15px;
    height:15px;
    border:none;
    background-color:#bfbfbf;
    border-radius:7.5px;
    font-size:0;
}
.slider-normal .slick-dots li.slick-active button{
    background-color:#76cbae;
}
@media screen and (max-width:768px){
    .slider-normal .slick-prev{
        left:-15px;
    }
    .slider-normal .slick-next{
        right:-15px;
    }
}

