@charset 'UTF-8';
/*============================================================= home トップページ =============================================================*/
/*!  #mv
================================================ */
@media screen and (max-width: 599px)
{
    #home #mv
    { position: relative; 

        height: 325px; border-bottom: 5px solid #bd9e6a;
    }  #home #mv .mvImg
    {
        height: 325px;
    }  #home #mv .mvImg span
    {
        display: block; height: 100%; background-position: center center; background-size: cover;
    }  #home #mv .mvTxt
    { position: absolute; top: 64px; left: 50%; 

        width: 294px; -webkit-transform: translateX(-50%);         transform: translateX(-50%);
    }  #home #mv .mvTxt .txt02
    {
        width: 190px; margin: 23px auto 0;
    }
}
@media screen and (min-width: 600px)
{
    #home #mv
    { position: relative; 

        height: 690px; border-bottom: 5px solid #be9f6b;
    }  #home #mv .mvImg
    {
        width: 100%; max-width: 2560px; height: 690px;
    }  #home #mv .mvImg span
    {
        display: block; height: 100%; background-position: center center; background-size: cover;
    }  #home #mv .mvTxt
    { position: absolute; top: 240px; left: 50%; 

        width: 660px; -webkit-transform: translateX(-50%);         transform: translateX(-50%);
    }  #home #mv .mvTxt .txt02
    {
        width: 590px; margin: 20px auto 0;
    }
}
/*!  #about
================================================ */
@media screen and (max-width: 599px)
{
    #home #about
    {
        padding-bottom: 30px;
    }
}
@media screen and (min-width: 600px)
{
    #home #about
    {
        padding-bottom: 54px;
    }
}
@media screen and (max-width: 599px)
{
    #home #about .aboutIn
    {
        padding: 0 15px 0;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutIn
    {
        width: 1100px; margin: 0 auto;
    }
}
@media screen and (max-width: 599px)
{
    #home #about .aboutHd
    {
        margin-bottom: 10px; padding: 31px 0 0 0;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutHd
    { position: relative; 

        margin-bottom: 47px; padding: 49px 0 0 0;
    }  #home #about .aboutHd:before
    { position: absolute; top: 26px; left: 90px; display: block; width: 142px; height: 110px; 

        /* content: ''; background: url(../../img/home/bg_about_pc.png); */
    }
}
#home #about .aboutHd .aboutHdTxt
{ line-height: 1; 

    text-align: center;
}
@media screen and (max-width: 599px)
{
    #home #about .aboutHd .aboutHdTxt
    {
        font-size: 1rem; margin-bottom: 10px;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutHd .aboutHdTxt
    {
        font-size: 1.6rem; margin-bottom: 24px;
    }
}
#home #about .aboutHd .aboutTit
{ font-family: 'Sawarabi Mincho'; 

    text-align: center;
}
@media screen and (max-width: 599px)
{
    #home #about .aboutHd .aboutTit
    {
        font-size: 2.1rem; line-height: 1.5;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutHd .aboutTit
    {
        font-size: 3.6rem; line-height: 1;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox
    {
        display: -webkit-box;        display: -ms-flexbox;        display: flex; -ms-flex-wrap: nowrap;     flex-wrap: nowrap;
    }
}
@media screen and (max-width: 599px)
{
    #home #about .aboutBox .aboutPic
    {
        width: 232px; margin: 0 auto 14px;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox .aboutPic
    {
        width: 424px;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox .aboutBoxTxt
    {
        width: 636px; margin-left: 40px;
    }
}
#home #about .aboutBox .aboutBoxTxt .area
{
    display: table;
}
@media screen and (max-width: 599px)
{
    #home #about .aboutBox .aboutBoxTxt .area
    {
        margin-bottom: 10px;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox .aboutBoxTxt .area
    {
        margin-bottom: 14px;
    }
}
#home #about .aboutBox .aboutBoxTxt .area .areaTit,
#home #about .aboutBox .aboutBoxTxt .area .areaTxt
{
    display: table-cell;
}
#home #about .aboutBox .aboutBoxTxt .area .areaTit
{
    text-align: center; background-color: #ebe6da;
}
@media screen and (max-width: 599px)
{
    #home #about .aboutBox .aboutBoxTxt .area .areaTit
    {
        font-size: 1.2rem; font-weight: 500; line-height: 1.27; 
        width: 61px; padding: 6px 9px;
        vertical-align: middle;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox .aboutBoxTxt .area .areaTit
    {
        font-size: 1.3rem; line-height: 28px; padding: 0 17px; vertical-align: middle;
    }
}
#home #about .aboutBox .aboutBoxTxt .area .areaTxt
{
    font-weight: 500;
}
@media screen and (max-width: 599px)
{
    #home #about .aboutBox .aboutBoxTxt .area .areaTxt
    {
        padding-left: 13px;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox .aboutBoxTxt .area .areaTxt
    {
        line-height: 1.8;
        padding-left: 15px;
    }
}
@media screen and (max-width: 599px)
{
    #home #about .aboutBox .aboutBoxTxt .txt
    {
        margin-bottom: 15px;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox .aboutBoxTxt .txt
    {
        margin-bottom: 21px;
    }
}
@media screen and (max-width: 599px)
{
    #home #about .aboutBox .aboutBoxTxt .aboutBtn
    {
        width: 200px; margin: 0 auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #about .aboutBox .aboutBoxTxt .aboutBtn
    {
        width: 260px; margin: 0;
    }  #home #about .aboutBox .aboutBoxTxt .aboutBtn a
    {
        text-align: left;
    }
}
/*!  #service
================================================ */
@media screen and (max-width: 599px)
{
    #home #service
    {
        background: #f4f4f4 url(../img/home/bg_service_sp.png) center bottom no-repeat; background-size: cover;
    }
}
@media screen and (min-width: 600px)
{
    #home #service
    {
        background: #f4f4f4 url(../img/home/bg_service_pc.png) left bottom no-repeat; background-size: cover;
    }
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn
    {
        padding: 0 10px 30px;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn
    {
        width: 1100px; margin: 0 auto; padding: 0 0 60px;
    }  #home #service .serviceIn .serviceHd
    {
        display: -webkit-box;        display: -ms-flexbox;        display: flex; padding-top: 58px; padding-bottom: 40px;
    }
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceTit
    {
        padding-bottom: 22px;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceTit
    { line-height: 1; 

        width: 220px; padding-top: 0; padding-bottom: 0; text-align: left;
    }  #home #service .serviceIn .serviceTit .name_en
    {
        margin-bottom: 5px;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceHdTxt
    {
        display: -webkit-box;        display: -ms-flexbox;        display: flex;
    }
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceLead
    {
        margin-bottom: 15px;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceLead
    {
        width: 590px;
    }
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceBtn
    {
        width: 250px; margin: 0 auto 20px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceBtn
    {
        width: 290px; padding-top: 9px;
    }  #home #service .serviceIn .serviceBtn a
    {
        padding-left: 0;
    }
}
#home #service .serviceIn .serviceList .serviceListItem
{
    position: relative;
}
#home #service .serviceIn .serviceList .serviceListItem:after
{ position: absolute; right: 3px; bottom: 3px; display: block; width: 0; height: 0; 

    content: ''; border-width: 5px; border-style: solid; border-color: transparent #fff #fff transparent;
}
#home #service .serviceIn .serviceList .serviceListItem a
{ position: relative; 

    display: block; height: 100%;
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem a:hover
    {
        opacity: 1; -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem a:hover
    {
        opacity: 1; -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    }  #home #service .serviceIn .serviceList .serviceListItem a:before
    { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; 

        content: ''; -webkit-transition: all .3s;         transition: all .3s; background-color: rgba(255, 255, 255, 0);
    }  #home #service .serviceIn .serviceList .serviceListItem a:hover:before
    {
        background-color: rgba(255, 255, 255, .5);
    }
}
#home #service .serviceIn .serviceList .serviceListItem a dt
{ padding: 0; 

    color: #fff;
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem a dt
    { font-size: 1.4rem; font-weight: bold; line-height: 1; 

        padding: 0 4px 7px 4px;
    }  #home #service .serviceIn .serviceList .serviceListItem a dt .tit_en
    {
        font-size: 1rem; font-weight: 300; margin-bottom: 7px;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem a dt
    {
        font-size: 2rem; padding: 0 16px 16px;
    }  #home #service .serviceIn .serviceList .serviceListItem a dt .tit_en
    { font-size: 1.2rem; margin-bottom: 15px; 
        padding: 0 7px; background: url(../img/common/bg_line03.png) left top 4px repeat-x;
    }  #home #service .serviceIn .serviceList .serviceListItem a dt .tit_en span
    {
        display: inline-block; padding: 0 7px;
    }
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem a dd
    { font-size: 1.2rem; 

        padding: 0 15px;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem a dd
    { font-size: 1.4rem; 

        padding: 0 20px;
    }
}
#home #service .serviceIn .serviceList .serviceListItem:nth-child(1) a
{
    background: url(../img/home/ico_service01.png) center top 20px no-repeat;
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(1) a
    {
        background-size: 80px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(1) a
    {
        background-size: 110px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(1) dt .tit_en span
    {
        background-color: #274878;
    }
}
#home #service .serviceIn .serviceList .serviceListItem:nth-child(2) a
{
    background: url(../img/home/ico_service02.png) center top 20px no-repeat;
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(2) a
    {
        background-size: 80px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(2) a
    {
        background-size: 110px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(2) dt .tit_en span
    {
        background-color: #31517e;
    }
}
#home #service .serviceIn .serviceList .serviceListItem:nth-child(3) a
{
    background: url(../img/home/ico_service03.png) center top 20px no-repeat;
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(3) a
    {
        background-size: 80px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(3) a
    {
        background-size: 110px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(3) dt .tit_en span
    {
        background-color: #274878;
    }
}
#home #service .serviceIn .serviceList .serviceListItem:nth-child(4) a
{
    background: url(../img/home/ico_service04.png) center top 20px no-repeat;
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(4) a
    {
        background-size: 80px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(4) a
    {
        background-size: 110px auto;
    }
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(4) dt
    {
        font-size: 1.2rem;
    }  #home #service .serviceIn .serviceList .serviceListItem:nth-child(4) dt .tit_en
    {
        margin-bottom: 9px;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(4) dt
    {
        font-size: 1.8rem;
    }  #home #service .serviceIn .serviceList .serviceListItem:nth-child(4) dt .tit_en span
    {
        background-color: #31517e;
    }
}
#home #service .serviceIn .serviceList .serviceListItem:nth-child(5) a
{
    background: url(../img/home/ico_service05.png) center top 20px no-repeat;
}
@media screen and (max-width: 599px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(5) a
    {
        background-size: 80px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(5) a
    {
        background-size: 110px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #service .serviceIn .serviceList .serviceListItem:nth-child(5) dt .tit_en span
    {
        background-color: #274878;
    }
}
/*!  #reason
================================================ */
@media screen and (max-width: 599px)
{
    #home #reason
    {
        background: #274878 url(../img/home/bg_reason_sp.png) center top no-repeat; background-size: cover;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason
    {
        background: #274878 url(../img/home/bg_reason_pc.png) center top no-repeat; background-size: cover;
    }
}
@media screen and (max-width: 599px)
{
    #home #reason .reasonIn
    {
        padding: 35px 15px 30px;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason .reasonIn
    {
        width: 1100px; margin: 0 auto; padding: 60px 0;
    }
}
#home #reason .reasonTit
{
    margin: 0 auto; text-align: center;
}
@media screen and (max-width: 599px)
{
    #home #reason .reasonTit
    {
        width: 257px; margin-bottom: 30px;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason .reasonTit
    {
        margin-bottom: 39px;
    }
}
#home #reason .reasonList .reasonItem
{
    position: relative;
}
#home #reason .reasonList .reasonItem:before
{ position: absolute; top: 0; left: 0; display: block; 

    content: '';
}
@media screen and (max-width: 599px)
{
    #home #reason .reasonList .reasonItem:before
    {
        width: 35px; height: 35px;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason .reasonList .reasonItem:before
    {
        width: 50px; height: 50px;
    }
}
@media screen and (max-width: 599px)
{
    #home #reason .reasonList .reasonItem:nth-child(1):before
    {
        background: url(../img/home/img_reason01_sp.png) left top no-repeat; background-size: 35px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason .reasonList .reasonItem:nth-child(1):before
    {
        background: url(../img/home/img_reason01_pc.png) left top no-repeat; background-size: auto;
    }
}
@media screen and (max-width: 599px)
{
    #home #reason .reasonList .reasonItem:nth-child(2):before
    {
        background: url(../img/home/img_reason02_sp.png) left top no-repeat; background-size: 35px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason .reasonList .reasonItem:nth-child(2):before
    {
        background: url(../img/home/img_reason02_pc.png) left top no-repeat; background-size: auto;
    }
}
@media screen and (max-width: 599px)
{
    #home #reason .reasonList .reasonItem:nth-child(3):before
    {
        background: url(../img/home/img_reason03_sp.png) left top no-repeat; background-size: 35px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason .reasonList .reasonItem:nth-child(3):before
    {
        background: url(../img/home/img_reason03_pc.png) left top no-repeat; background-size: auto;
    }
}
@media screen and (max-width: 599px)
{
    #home #reason .reasonList .reasonItem:nth-child(4):before
    {
        background: url(../img/home/img_reason04_sp.png) left top no-repeat; background-size: 35px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #reason .reasonList .reasonItem:nth-child(4):before
    {
        background: url(../img/home/img_reason04_pc.png) left top no-repeat; background-size: auto;
    }
}
/*!  #question
================================================ */
@media screen and (max-width: 599px)
{
    #home #question
    {
        padding: 30px 17px;
    }
}
@media screen and (min-width: 600px)
{
    #home #question
    {
        padding: 40px 0;
    }
}
@media screen and (min-width: 600px)
{
    #home #question .questionIn
    { display: -webkit-box; display: -ms-flexbox; display: flex; 

        width: 980px; margin: 0 auto; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
    }
}
#home #question .questionIn .questionTit
{ font-weight: bold; 

    color: #204070;
}
@media screen and (max-width: 599px)
{
    #home #question .questionIn .questionTit
    { font-size: 1.9rem; line-height: 1.31; margin-bottom: 10px; 

        text-align: center;
    }
}
@media screen and (min-width: 600px)
{
    #home #question .questionIn .questionTit
    {
        font-size: 2.2rem; line-height: 1.63; margin-bottom: 15px;
    }
}
#home #question .questionIn .questionTit span
{
    font-weight: bold; position: relative;
}
@media screen and (max-width: 599px)
{
    #home #question .questionIn .questionTit span
    {
        padding-left: 39px;
    }
}
@media screen and (min-width: 600px)
{
    #home #question .questionIn .questionTit span
    {
        padding-left: 50px;
    }
}
#home #question .questionIn .questionTit span:before
{ position: absolute; display: inline-block; 

    content: '';
}
@media screen and (max-width: 599px)
{
    #home #question .questionIn .questionTit span:before
    { top: 3px; left: 0; 

        width: 25px; height: 25px; background: url(../img/common/ico_question.png) center center no-repeat; background-size: 25px auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #question .questionIn .questionTit span:before
    { top: 0; left: 0; 

        width: 36px; height: 36px; background: url(../img/common/ico_question.png) center center no-repeat; background-size: 36px auto;
    }
}
#home #question .questionIn .questionTxt
{
    margin-bottom: 15px;
}
@media screen and (max-width: 599px)
{
    #home #question .questionIn .questionBtn
    {
        width: 200px; margin: 0 auto;
    }
}
@media screen and (min-width: 600px)
{
    #home #question .questionIn .questionBtn
    {
        width: 260px; margin: 0; padding-top: 21px;
    }  #home #question .questionIn .questionBtn a
    {
        text-align: left;
    }
}

@media screen and (max-width: 599px){
    #news .inner{
        padding: 20px 15px;
    }
    #news dt{
        padding: 7px;
        color: #fff;
        background: #274878;
        text-align: center;
    }
    #news dt .txt{
        position: relative;
        display: inline-block;
        padding-left: 20px;
        font-size: 1.5rem;
        font-weight: 700;
    }
    #news dt .txt:before{
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 12px;
        height: 15px;
        background: url(../img/common/ico_news01.png) no-repeat;
        background-size: contain;
    }
    #news dd{
        padding: 10px;
        border: 1px solid #274878;
        text-align: center;
        color: #274878;
        font-size: 1.3rem;
        font-weight: 700;
    }
}
@media screen and (min-width: 600px) {
    #news .inner{
        width: 1100px;
        margin: 0 auto;
        padding: 80px 0px;
    }
    #news dl{
        display: flex;
        flex-wrap: nowrap;
        align-content: center;
    }
    #news dd,
    #news dt{
        box-sizing: border-box;
    }
    #news dt{
        display: -webkit-inline-flex;
        display: -moz-inline-flex;
        display: -ms-inline-flex;
        display: -o-inline-flex;
        display: inline-flex;
        justify-content: center;
        align-items:center;
        flex-basis: 200px;
        padding: 17px;
        color: #fff;
        background: #274878;
        text-align: center;
    }
    #news dt .txt{
        position: relative;
        display: inline-block;
        padding-left: 30px;
        font-size: 2.2rem;
        font-weight: 700;
    }
    #news dt .txt:before{
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 18px;
        height: 21px;
        background: url(../img/common/ico_news01.png) no-repeat;
        background-size: contain;
    }
    #news dd{
        flex-basis: 900px;
        padding: 17px 25px;
        border: 1px solid #274878;
        color: #274878;
        font-size: 1.8rem;
        font-weight: 700;
    }
}


