@charset "UTF-8";
/* -------------------------------- 

TABLET Wide

-------------------------------- */
.sp-view{display: none;}
#nav-drawer {
    display: none;
}
/* 共通 */
#breadcrumb{
    width: 100%;
    padding: 10px 0px;
    background-color: #83ccd2;
}

#breadcrumb ul{
    width: 90%;
    max-width: 1199px;
    margin:0 auto 0;
    display: flex;
    justify-content: flex-end;
}

#breadcrumb ul li{
    font-size: 0.875rem;
    margin-right: 10px;
    line-height: 1.5;
}

#breadcrumb ul li:last-child{
    margin-right: 0;
}

#breadcrumb ul li::after{
    content: '/';
    margin-left: 10px;
}

#breadcrumb ul li:last-child::after{
    content: '';
    margin-left: 0;
}

#breadcrumb ul li a{
    text-decoration: underline;
}

.flex-box{
    width: 100%;
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

.flex-box-center{
    width: 100%;
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    align-items: center;
}

.flex-box-center-right{
    width: 100%;
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    align-items: center;
    justify-content: flex-end;
}


ul.list-2-wide{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

ul.list-2-wide li{
    width: 50%;
}

ul.list-2-wide-center{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    align-items: center;
}

ul.list-2-wide-center li{
    width: 50%;
}

ul.list-3-wide{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

ul.list-3-wide li{
    width: 33.33333%;
}

ul.list-4-wide{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

ul.list-4-wide li{
    width: 25%;
}

ul.list-5-wide{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

ul.list-5-wide li{
    width: 20%;
}

ul.list-2{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap; 
}

ul.list-2 li{
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 3%;
}

ul.list-2 li:nth-of-type(2n){
    margin-right: 0;
}

ul.list-3{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap; 
}

ul.list-3 li{
    width: 31.3%;
    margin-right: 3%;
    margin-bottom: 3%;
}

ul.list-3 li:nth-of-type(3n){
    margin-right: 0;
}

ul.list-4{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap; 
}

ul.list-4 li{
    width: 22.7%;
    margin-right: 3%;
    margin-bottom: 2%;
}

ul.list-4 li:nth-of-type(4n){
    margin-right: 0;
}

ul.list-5{
    display:-ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap; 
}

ul.list-5 li{
    width: 17.5%;
    margin-right: 3%;
    margin-bottom: 3%;
}

ul.list-5 li:nth-of-type(5n){
    margin-right: 0;
}


ul.dot-list{
    width: 100%;
    list-style-type: disc;
    list-style-position: inherit;
    padding-left: 1.2em;
}

ul.dot-list li{
    line-height: 1.5;
    margin-bottom: 5px;
}

ul.dot-list li:last-child{
    margin-bottom: 0;
}

.contents-wrap{
    width: 90%;
    max-width: 1199px;
    margin:0 auto 0;
}

/* メニュー */
ul.pc-menu{
    width: 100%;
    color: #FFF;
    display: flex;
    justify-content: center;
}

ul.pc-menu a{
    color: #FFF;
}

ul.pc-menu li{
    margin-right: 5px;
}

ul.pc-menu li::after{
    content: '｜';
    margin-left: 5px;
}

ul.pc-menu li:last-child{
    margin-right: 0px;
}

ul.pc-menu li:last-child::after{
    content: '';
    margin-left: 0px;
}

.pc-navi-link-white {
    font-size: 0.875rem;
    line-height: 1.7;
    color: #fff;
    padding-bottom: 3px;
    position: relative
}

.pc-navi-link-white:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: 3;
    background: #fff;
    width: 100%;
    height: 1px;
    transition: transform .6s cubic-bezier(.8,0,.2,1) 0s;
    transform: scale(0,1);
    transform-origin: right top
}

.pc-navi-link-white:hover {
    color: #fff;
}

.pc-navi-link-white:hover:after {
    transform-origin: left top;
    transform: scale(1,1)
}

/* トップページ */
#top-header{
    width: 100%;
}

.main-image{
    width: 100%;
    position: relative;
}

.top-menu-area{
    width: 85%;
    max-width: 1199px;
    background-color: #d63737;
    padding: 28px 0px 32px 0px;
    border-radius: 10px;
    margin-left: auto;
    margin-right: 0;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
}

#top-news{
    width: 100%;
    padding-top: 80px;
    margin-bottom: 40px;
}

.news-title-area{
    width: 25%;
}

.main-title-box{
    width: 100%;
    position: relative;
}

.top-maintitle-black{
    display: inline-block;
    font-size: 2.5rem;
    color: #333;
    border-bottom: 4px solid #333;
    padding-bottom: 5px;
    margin-bottom: 5px;
    z-index: 2;
}

.top-maintitle-black span{
    font-size: 4rem;
}

.top-maintitle-red{
    display: inline-block;
    font-size: 2.5rem;
    color: #333;
    border-bottom: 4px solid #d63737;
    padding-bottom: 5px;
    margin-bottom: 5px;
    z-index: 2;
}

.top-maintitle-red span{
    font-size: 4rem;
}

.news-list-area{
    width: 75%;
}

.top-post-date{
    width: 18%;
    font-size: 0.875rem;
    line-height: 1.5;
}

.top-post-icon{
    width: 12%;
}

.top-post-icon1{
    font-size: 0.75rem;
    color: #FFF;
    background-color: #fff;
    padding: 4px 15px;
    display: inline-block;
    border-radius: 100px;
}

.top-post-icon1{
    font-size: 0.75rem;
    color: #FFF;
    background-color: #ff0000;
    padding: 4px 15px;
    display: inline-block;
    border-radius: 100px;
}

.top-post-icon2{
    font-size: 0.75rem;
    color: #FFF;
    background-color: #f19716;
    padding: 4px 15px;
    display: inline-block;
    border-radius: 100px;
}

.top-post-title{
    width: 65%;
    font-size: 1rem;
    line-height: 1.5;
    overflow: hidden;          /* 溢れた部分を隠す */
    text-overflow: ellipsis;   /* 溢れた部分を「...」にする */
    white-space: nowrap; 
}

.top-post-title a{
    text-decoration: underline;
}

#top-about{
    width: 100%;
    background-color: #e2ddd1;
    padding: 40px 0px;
}

.top-about-area{
    width: 95%;
    background-color: #d85856;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 40px 0px;
    position: relative;
    margin-top: 30px;
    overflow: hidden;
}

.top-about-content{
    width: 80%;
    max-width: 1199px;
    font-size: 1.2rem;
    line-height: 1.7;
    color: #FFF;
    margin:0 auto 0;
    position: relative;
    z-index: 2;
}

.top-about-content span{
    font-size: 2rem;
}

.about-en{
    font-family: helvetica;
    font-size: 4rem;
    font-weight: bold;
    color: #ba4947;
    position: absolute;
    left: -3px;
    bottom: -22px;
}

#top-info{
    width: 100%;
    background-image: url(../img/top/bk_news.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 40px 0px;
}


#top-unauthorized-use{
    width: 100%;
    padding-top: 60px;
}

.top-block-right{
    width: 95%;
    background-color: #e2ddd1;
    margin-left: auto;
    margin-right: 0;
    padding: 30px 0px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.top-block-right-title-area{
    width: 100%;
    padding-left: 50px;
}

.top-block-right-text-area{
    width: 100%;
    background-color: #d85856;
    padding: 60px 0px;
}

.top-block-right-text-box{
    width: 75%;
    color: #FFF;
    margin:0 auto 0;
}

.top-block-en-title{
    font-size: 0.875rem;
    line-height: 1.5;
}

.top-block-en-title span{
    color: #ec918f;
}

.top-block-main-title{
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    margin:20px 0px;
}

.top-block-detail-btn{
    width: 200px;
    margin-left: auto;
    margin-right: 0;
}

.top-block-detail-btn a{
    display: block;
    color:#d85856;
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    border-radius: 100px;
    padding: 10px 0px;
}

.top-block-right-photo-area{
    width: 100%;
    position: relative;
    left: -30px;
}

.top-block-right-photo-box{
    width: 85%;
    overflow: hidden;
    border-radius: 10px;
}

.top-block-right-photo-box img{
    width: 100%;
    height: auto;
}

#top-fatf{
    width: 100%;
    padding: 60px 0px;
}

.top-block-left{
    width: 95%;
    background-color: #e2ddd1;
    margin-left: 0;
    margin-right: auto;
    padding: 30px 0px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    position: relative;
}

.top-block-left-area{
    width: 90%;
    margin-left: auto;
    margin-right: 0;
}

.top-block-left-title-area{
    width: 100%;
    padding-left: 50px;
}

.top-block-left-text-area{
    width: 100%;
    background-color: #d85856;
    padding: 60px 0px;
}

.top-block-left-text-box{
    width: 75%;
    color: #FFF;
    margin:0 auto 0;
}

.top-block-left-photo-area{
    width: 100%;
    position: relative;
    right: -30px;
}

.top-block-left-photo-box{
    width: 85%;
    overflow: hidden;
    border-radius: 10px;
    margin-right: 0;
    margin-left: auto;
}

.top-block-left-photo-box img{
    width: 100%;
    height: auto;
}

.faft-logo{
    width: 70px;
    position: absolute;
    top:0;
    right: 30px;
}

.faft-logo img{
    width: 100%;
    height: auto;
}


#top-qa{
    width: 100%;
    background-color:#e2ddd1; 
}

.qa-wrap{
    width: 90%;
    max-width: 1199px;
    margin:0 auto 0;
    position: relative;
    padding: 60px 0px;
}

.q-no{
    width: 7%;
    font-size: 3rem;
    font-weight: bold;
    color: #d63737;
}

.q-title{
    width: 93%;
    font-size: 1.7rem;
    line-height: 1.5;
    font-weight: bold;
}

.answer-area{
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.7;
    margin:20px 0px 40px 20px;
}

.answer-title{
    display: inline-block;
    font-size: 0.875rem;
    color: #FFF;
    background-color: #d63737;
    padding: 3px 20px 6px 20px;
    border-radius: 100px;
    margin-bottom: 20px;
}

.qa-image{
    width: 200px;
    position: absolute;
    top:20px;
    right: 0;
}

.qa-image img{
    width: 100%;
    height: auto;
}

#top-kanren{
    width: 100%;
    padding: 60px 0px 30px 0px;
}

.banner-image{
    width: 100%;
    border:1px solid #000;
    border-radius: 10px;
    overflow: hidden;
    transition: all .5s ease;
}

.banner-image:hover{
    transform: scale(0.98);
}

/* セカンドページ */
#sec-header{
    width: 100%;
    padding: 20px 0px;
}

.sec-logo-area{
    width: 20%;

}

.sec-logo-area img{
    width: 100%;
    height: auto;
}

.sec-menu-area{
    width: 78%;
    background-color: #d63737;
    padding: 28px 0px 32px 0px;
    border-radius: 10px;
    margin-left: auto;
    margin-right: 0;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
}

.sec-maintitle-area{
    width: 100%;
    background-image: linear-gradient(0deg, #e0d5bd 85%, #fefcf8 85%);
    margin-bottom: 40px;

}

.sec-maintitle-box{
    width: 75%;
    position: relative;
}

.sec-maintitle-image{
    width: 25%;
}

.sec-maintitle{
    font-size: 2.5rem;
    line-height: 1.5;
    font-weight: bold;
    border-bottom: 4px solid #d63737;
    display: inline-block;
}

.sec-maintitle span{
    font-size: 4rem;
}

.circle-black{
    width: 90px;
    position: absolute;
    bottom: -10px;
    left: -30px;
    z-index: 1;
}

.circle-red{
    width: 90px;
    position: absolute;
    bottom: -10px;
    left: -30px;
    z-index: 1;
}

.round-left-image{
    width: 100%;
    overflow: hidden;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.round-right-image{
    width: 100%;
    overflow: hidden;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.content-text-box-left{
    width: 85%;
    margin-left: auto;
    margin-right: 0;
}

.content-text-box-right{
    width: 85%;
    margin-left: 0;
    margin-right: auto;
}

.content-maintitle{
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 10px;
}

.content-sub-title{
    font-size: 1.3rem;
    line-height: 1.5;
    margin-bottom: 5px;
}

dl.dot-list{
    width: 100%;
}

dl.dot-list dt{
    float: left;
    margin-bottom: 5px;
}

dl.dot-list dd{
    margin-left: 1.2em;
    margin-bottom: 5px;
}

.strong-text{
    display: inline-block;
    font-weight: bold;
    background-color: #e0d5bd;
    padding: 10px 20px;
    border-radius: 10px;
    margin: 10px 0px;
}

#kanren-post{
    width: 100%;
    background-color: #e0d5bd;
    padding: 40px 0px;
    margin-bottom: 40px;
}

.news-area{
    width: 100%;
    background-color: #FFF;
    border-radius: 10px;
    overflow: hidden;
    transition: all .5s ease;

}

.news-area:hover{
    transform: scale(0.97);
}

.news-photo{
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  overflow: hidden;
}

.icon-box{
    position: absolute;
    right: 20px;
    top:-24px;
}

.news-icon-news{
    width: 50px;
    height: 50px;
    background-color: #0a97cc;
    border-radius: 4px;
    transform: rotate(45deg);
    position: relative;
}

.news-icon-blog{
    width: 50px;
    height: 50px;
    background-color: #f49335;
    border-radius: 4px;
    transform: rotate(45deg);
    position: relative;
}

.news-icon-topic{
    width: 50px;
    height: 50px;
    background-color: #23ae0c;
    border-radius: 4px;
    transform: rotate(45deg);
    position: relative;
}


.icon-text{
    width: 50px;
    transform: rotate(-45deg);
    font-size: 0.75rem;
    color: #fff;
    text-align: center;
    position: absolute;
    top:14px;
}

.news-photo img{
    width: 100%;
    height: auto;
}

.news-box{
    width: 100%;
    padding: 15px;
    position: relative;
}

.post-time{
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 15px;
}

.post-title{
    width: 100%;
    height: 48px;
    font-size: 1rem;
    line-height: 1.5;
    color: #0289c1;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    /* ブラウザがサポートしていない場合のフェールセーフ */
    max-height: 48px;
    margin-bottom: 10px;
}

.post-text{
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    /* ブラウザがサポートしていない場合のフェールセーフ */
    max-height: 60px;
}

.moreinfo-btn{
    width: 200px;
    margin-left: auto;
    margin-right: 0;
}

.moreinfo-btn a{
    display: block;
    color: #fff;
    text-align: center;
    line-height: 1;
    background-color: #111;
    padding: 10px 0px 12px 0px;
    border-radius: 100px;
}

.moreinfo-btn a:hover{
    background-color: #d63737;
}

.moreinfo-btn-long{
    width: 300px;
    margin-left: auto;
    margin-right: 0;
}

.moreinfo-btn-long a{
    display: block;
    color: #fff;
    text-align: center;
    line-height: 1;
    background-color: #111;
    padding: 10px 0px 12px 0px;
    border-radius: 100px;
}

.moreinfo-btn-long a:hover{
    background-color: #d63737;
}

.moreinfo-btn-left{
    width: 200px;
}

.moreinfo-btn-left a{
    display: block;
    color: #fff;
    text-align: center;
    line-height: 1;
    background-color: #111;
    padding: 10px 0px 12px 0px;
    border-radius: 100px;
}

.moreinfo-btn-left a:hover{
    background-color: #d63737;
}

.flo-image{
    width: 60%;
    margin:20px auto 20px;
}

.flo-image img{
    width: 100%;
    height: auto;
}

/* フッター */
.contact-area{
    width: 100%;
    background-image: linear-gradient(0deg, #009d95 85%, #fefcf8 85%);
    margin-bottom: 30px;
}

.contact-box{
    width: 70%;
    margin:0 auto 0;
}

.contact-btn-area{
    width: 70%;
}

.contact-img-area{
    width: 30%;
}

.foot-contact-btn{
    width: 80%;
    margin-top: 40px;
}

.foot-contact-btn a{
    display: block;
    font-size: 1.4rem;
    text-align: center;
    color: #fff;
    border:1px solid #fff;
    border-radius: 6px;
    padding: 10px 0px;
}

.foot-contact-btn a:hover{
    color: #009d95;
    background-color: #FFF;
}

.foot-contact-text{
    width: 80%;
    font-size: 0.875rem;
    text-align: right;
    color: #FFF;
    margin-top: 5px;
}


.foot-logo-area{
    width: 15%;
}

.foot-logo-area img{
    width: 100%;
    height: auto;
}

.foot-menu-area{
    width: 80%;
    margin-left: auto;
    margin-right: 0;
}

ul.foot-menu{
    width: 100%;
    display: flex;
    margin-bottom: 10px;
}

ul.foot-menu a{
    color: #111;
}

ul.foot-menu li{
    margin-right: 10px;
}

ul.foot-menu li::after{
    content: '｜';
    margin-left: 10px;
}

ul.foot-menu li:last-child{
    margin-right: 0px;
}

ul.foot-menu li:last-child::after{
    content: '';
    margin-left: 0px;
}

.pc-navi-link-black {
    font-size: 0.875rem;
    line-height: 1.7;
    color: #111;
    padding-bottom: 3px;
    position: relative
}

.pc-navi-link-black:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: 3;
    background: #111;
    width: 100%;
    height: 1px;
    transition: transform .6s cubic-bezier(.8,0,.2,1) 0s;
    transform: scale(0,1);
    transform-origin: right top
}

.pc-navi-link-black:hover {
    color: #111;
}

.pc-navi-link-black:hover:after {
    transform-origin: left top;
    transform: scale(1,1)
}

.copyright{
    font-size: 0.875rem;
    text-align: center;
    margin-top: 80px;
    padding: 20px 0px;
}

.sec-newstitle-area{
    width: 100%;
    margin-top: 40px;
    margin-bottom: 20px;
}

.sec-newstitle{
    font-size: 2.5rem;
    line-height: 1.5;
    font-weight: bold;
}

ul.pankuzu{
    display: flex;
}

ul.pankuzu li{
    margin-right: 10px;
}

ul.pankuzu li:after{
    content: '>';
    margin-left: 10px;
}

ul.pankuzu li:last-child{
    margin-right: 0;
}

ul.pankuzu li:last-child::after{
    content: '';
    margin-left: 0;
}

.post{
    width: 75%;
}

.post-maintitle{
    font-size: 1.5rem;
    line-height: 1.5;
    border-bottom: 4px solid #d63737;
    padding-bottom: 7px;
    margin-bottom: 20px;
}

.post-cat-icon{
    display: inline-block;
    color: #FFF;
    line-height: 1;
    background-color: #d63737;
    border-radius: 100px;
    padding: 6px 20px 9px 20px;
    margin-right: 20px;
}

.post p{
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 1em;
}

.post img{
    max-width: 100%;
    height: auto;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.post a{
    color: blue;
    text-decoration: underline;
}

.post-category{
    width: 20%;
    margin-left: auto;
    margin-right: 0;
}

.post-category-title{
    width: 100%;
    display: block;
    background-color: #333;
    text-align: center;
    font-weight: bold;
    color: #fff;
    padding: 10px;
}

ul.post-category-list{
    width: 100%;
}

ul.post-category-list li{
    width: 100%;
    border-bottom: 1px solid #333;
}

ul.post-category-list li:last-child{
    width: 100%;
    border-bottom: none;
}

ul.post-category-list li a{
    width: 100%;
    display: block;
    padding: 10px;
}

ul.post-category-list li a:hover{
    background-color: #f2f2f2;
}

.sec-post-date{
    width: 15%;
    font-size: 1rem;
    line-height: 1.5;
}

.sec-post-icon{
    width: 8%;
    margin:0 auto 0;
}

.sec-post-title{
    width: 77%;
    font-size: 1rem;
    line-height: 1.5;
    overflow: hidden;          /* 溢れた部分を隠す */
    text-overflow: ellipsis;   /* 溢れた部分を「...」にする */
    white-space: nowrap; 
}

.sec-post-title a{
    text-decoration: underline;
}