@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
.mainVisual {
    height: 640px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../img/index/main_img.jpg") no-repeat center center;
    background-size: cover;
    box-sizing: border-box;
}
.mainVisual .textImg img {
    width: 268px;
}
#main .topBox {
    padding: 78px 0 96px;
}
#main .topBox p {
    text-align: center;
    color: #666;
    line-height: 2.15;
    letter-spacing: 2px;
}
#main .sec01 {
    padding: 53px 0;
    min-height: 480px;
    box-sizing: border-box;
    background: url("../img/index/bg02.jpg") no-repeat center top;
    background-size: cover;
}
#main .sec01 ul {
    text-align: center;
}
#main .sec01 li {
    width: 200px;
    margin: 0 40px;
    text-align: center;
    display: inline-block;
    vertical-align: top;
}
#main .sec01 li .icon img {
    height: 67px;
}
#main .sec01 li p {
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.75;
    letter-spacing: 1px;
    text-shadow: -2px 0 rgba(0,0,0,0.5), 0 2px rgba(0,0,0,0.5),2px 0 rgba(0,0,0,0.5), 0 -2px rgba(0,0,0,0.5);
    font-family: a-otf-futo-go-b101-pr6n, sans-serif;
    font-weight: 500;
}
#main .sec01 li .ttl {
    margin: 12px 0;
    font-size: 1.9rem;
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
}
#main .sec01 li .ttl2 {
    margin: 12px 0;
    font-size: 1.9rem;
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
	letter-spacing: -1px;
}
#main .sec02 {
    padding: 74px 0;
}
#main .sec02 .headLine01 {
    margin-bottom: 34px;
}
#main .sec02 .dlBox {
    margin-bottom: 12px;
    text-align: center;
}
#main .sec02 dl {
    text-align: left;
    display: inline-block;
    color: #595757;
    font-size: 1.6rem;
}
#main .sec02 dt {
    float: left;
}
#main .sec02 dd {
    padding: 0 0 5px 4.5em;
}
#main .sec02 dd a {
    color: #595757;
}
#main .sec02 ul {
    margin-bottom: 40px;
    text-align: center;
}
#main .sec02 li {
    width: 222px;
    display: inline-block;
    margin: 0 19px;
}
#main .sec02 .link {
    margin: 0 1px 104px 0;
}
#main .sec02 .link a {
    padding: 5px 28px 7px;
    width: 154px;
    margin: 0 auto;
    box-sizing: border-box;
    border-radius: 15px;
    display: block;
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: 2px;
    font-family: 'Noto Serif JP', serif;
    background: #0071BC url("../img/common/icon01.png") no-repeat center right 23px;
    background-size: 37px auto;
    transition: .3s;
    border: 1px solid #0071BC;
}
#main .sec02 .bgBox {
    min-height: 300px;
    padding-top: 92px;
    text-align: center;
    box-sizing: border-box;
    background: url("../img/index/bg01.jpg") no-repeat center center;
    background-size: cover;
}
#main .sec02 .bgBox .textImg {
    margin: 0 5px 25px 0;
}
#main .sec02 .bgBox .textImg img {
    width: 293px;
}
#main .sec02 .bgBox .btn {
    margin-bottom: 52px;
}
#main .sec02 .bgBox .btn a {
    padding: 10px 0;
    width: 322px;
    margin: 0 auto;
    color: #0071BC;
    font-size: 2rem;
    letter-spacing: 0.75px;
    display: block;
    text-align: center;
    background: rgba(255,255,255,0.9);
    border-radius: 15px;
}
#main .sec02 .bgBox .btn a span {
    padding-left: 45px;
    background: url("../img/common/icon03_on.png") no-repeat center left;
    background-size: 33px auto;
}
#main .sec02 .bgBox .icon img {
    width: 29px;
}
#main .sec03 {
    padding: 20px 0 49px;
}
#main .sec03 .headLine01 {
    margin: 0 25px 47px 0;
}

#main .sec03 ul {
    margin-top: 45px;
    margin-bottom: 40px;
    text-align: center;
}
#main .sec03 li {
    width: 222px;
    display: inline-block;
    margin: 0 19px;
}

#main .sec03 .map {
    margin-top: 81px;
}
#main .sec03 .map iframe {
    width: 100%;
    height: 250px;
}
#main .sec04 {
    padding: 26px 0 90px;
}
#main .sec04 .headLine01 {
    margin-bottom: 36px;
}
#main .sec04 .topTxt {
    margin-bottom: 42px;
    text-align: center;
    color: #1A1A1A;
    line-height: 1.66;
    letter-spacing: 1px;
}
#main .sec04 .comDl {
    width: 486px;
}
#main .sec04 .btmTxt {
    margin-top: 23px;
    text-align: center;
    letter-spacing: 1.5px;
}
.contactBox {
    padding: 77px 0 29px;
    text-align: center;
    background-color: #F2F2F3;
}
.contactBox .headLine01 {
    margin-bottom: 20px;
}
.contactBox .tel {
    margin: -4px 0 11px;
}
.contactBox .tel a {
    padding-left: 60px;
    color: #595757;
    font-size: 4rem;
    letter-spacing: 0.14em;
    background: url("../img/common/icon02.png") no-repeat center left;
    background-size: 44px auto;
}
.contactBox .btn a img {
    width: 375px;
}
.contactBox .btn a:hover img {
    opacity: 0.7;
}
@media all and (min-width: 768px) {
    #main .sec02 dd a:hover {
        text-decoration: underline;
    }
    #main .sec02 .link a:hover {
        color: #0071BC;
        background-color: #fff;
        background-image: url("../img/common/icon01_on.png");
    }
    #main .sec02 .bgBox .btn a:hover {
        color: #fff;
        background-color: #0071BC;
    }
    #main .sec02 .bgBox .btn a:hover span {
        background-image: url("../img/common/icon03.png");
    }
}

@media all and (min-width: 768px) {
    #main .sec03-1 dd a:hover {
        text-decoration: underline;
    }
    #main .sec03-1 .link a:hover {
        color: #0071BC;
        background-color: #fff;
        background-image: url("../img/common/icon01_on.png");
    }
    #main .sec03-1 .bgBox .btn a:hover {
        color: #fff;
        background-color: #0071BC;
    }
    #main .sec03-1 .bgBox .btn a:hover span {
        background-image: url("../img/common/icon03.png");
    }
}

@media all and (max-width: 767px) {
   .mainVisual {
        height: 350px;
    }
    .mainVisual .textImg img {
        width: 200px;
    }
    #main .topBox {
        padding: 35px 10px;
    }
    #main .topBox p {
        line-height: 1.7;
        letter-spacing: 0;
    }
    #main .sec01 {
        padding: 35px 10px;
        min-height: inherit;
    }
    #main .sec01 li {
        width: 200px;
        margin: 0 auto 40px;
        display: block;
    }
    #main .sec01 li:last-child {
        margin-bottom: 0;
    }
    #main .sec01 li .icon img {
        height: 50px;
    }
    #main .sec01 li p {
        line-height: 1.65;
        letter-spacing: 0;
        text-shadow: none;
    }
    #main .sec01 li .ttl {
        margin: 5px 0;
        font-size: 1.7rem;
    }
	#main .sec01 li .ttl2 {
        margin: 5px 0;
        font-size: 1.7rem;
    }
    #main .sec02 {
        padding: 35px 10px;
    }
    #main .sec02 .dlBox {
        margin-bottom: 12px;
    }
    #main .sec02 dl {
        font-size: 1.4rem;
    }
    #main .sec02 dd {
        padding: 0 0 5px 5em;
    }
    #main .sec02 ul {
        margin: 0 15px 25px;
    }
    #main .sec02 li {
        width: auto;
        text-align: center;
        display: block;
        margin: 0 0 15px;
    }
    #main .sec02 li:last-child {
        margin-bottom: 0;
    }
    #main .sec02 .link {
        margin: 0 0 40px;
    }
    #main .sec02 .bgBox {
        margin: 0 -10px;
        min-height: 200px;
        padding-top: 58px;
    }
    #main .sec02 .bgBox .textImg {
        margin: 0 0 15px;
    }
    #main .sec02 .bgBox .textImg img {
        width: 240px;
    }
    #main .sec02 .bgBox .btn {
        margin-bottom: 30px;
    }
    #main .sec02 .bgBox .btn a {
        padding: 7px 0;
        width: 245px;
        font-size: 1.8rem;
        letter-spacing: 0;
    }
    #main .sec02 .bgBox .btn a span {
        padding-left: 30px;
        background-size: 25px auto;
    }
    #main .sec02 .bgBox .icon img {
        width: 20px;
    }
    #main .sec03 {
        padding: 20px 0 49px;
    }
    #main .sec03 .headLine01 {
        margin: 0 0 20px;
    }
	
	
	
　#main .sec03-1 {
        padding: 35px 10px;
    }
    #main .sec03-1 .dlBox {
        margin-bottom: 12px;
    }
    #main .sec03-1 dl {
        font-size: 1.4rem;
    }
    #main .sec03-1 dd {
        padding: 0 0 5px 5em;
    }
    #main .sec03-1 ul {
        margin: 0 15px 25px;
    }
    #main .sec03-1 li {
        width: auto;
        text-align: center;
        display: block;
        margin: 0 0 15px;
    }
    #main .sec03-1 li:last-child {
        margin-bottom: 0;
    }
    #main .sec03-1 .link {
        margin: 0 0 40px;
    }
    #main .sec03-1 .bgBox {
        margin: 0 -10px;
        min-height: 200px;
        padding-top: 58px;
    }
    #main .sec03-1 .bgBox .textImg {
        margin: 0 0 15px;
    }
    #main .sec03-1 .bgBox .textImg img {
        width: 240px;
    }
    #main .sec03-1 .bgBox .btn {
        margin-bottom: 30px;
    }
    #main .sec03-1 .bgBox .btn a {
        padding: 7px 0;
        width: 245px;
        font-size: 1.8rem;
        letter-spacing: 0;
    }
    #main .sec03-1 .bgBox .btn a span {
        padding-left: 30px;
        background-size: 25px auto;
    }
    #main .sec03-1 .bgBox .icon img {
        width: 20px;
    }
	
	
	
    #main .sec03 .map {
        margin-top: 10px;
    }
    #main .sec04 {
        padding: 35px 0;
    }
    #main .sec04 .topTxt {
        margin: 0 10px 20px;
        letter-spacing: 0;
    }
    #main .sec04 .btmTxt {
        margin: 20px 10px 0;
    }
    .contactBox {
        padding: 35px 10px 10px;
    }
    .contactBox .headLine01 img {
        width: 120px;
    }
    .contactBox .tel {
        margin: -4px 0 5px;
    }
    .contactBox .tel a {
        padding-left: 42px;
        letter-spacing: 0.15em;
        font-size: 3rem;
        background-size: 30px auto;
    }
    .contactBox .btn a img {
        width: 280px;
    }
}